Symbol: phy
arch/arc/mm/cache.c
825
unsigned long phy, pfn;
arch/arc/mm/cache.c
829
phy = (pfn << PAGE_SHIFT) + off;
arch/arc/mm/cache.c
831
__sync_icache_dcache(phy, kstart, sz);
arch/arm/mach-mxs/mach-mxs.c
252
static int apx4devkit_phy_fixup(struct phy_device *phy)
arch/arm/mach-mxs/mach-mxs.c
254
phy->dev_flags |= MICREL_PHY_50MHZ_CLK;
arch/arm/mach-orion5x/dns323-setup.c
540
static int dns323c_phy_fixup(struct phy_device *phy)
arch/arm/mach-orion5x/dns323-setup.c
542
phy->dev_flags |= MARVELL_PHY_M1118_DNS323_LEDS;
arch/m68k/coldfire/device.c
101
.phy = PHY_INTERFACE_MODE_RMII,
arch/mips/cavium-octeon/octeon-platform.c
489
int phy;
arch/mips/cavium-octeon/octeon-platform.c
500
phy = fdt_node_offset_by_phandle(initial_boot_params, phandle);
arch/mips/cavium-octeon/octeon-platform.c
511
if (phy_addr < 0 || phy < 0) {
arch/mips/cavium-octeon/octeon-platform.c
516
if (phy >= 0)
arch/mips/cavium-octeon/octeon-platform.c
517
fdt_nop_node(initial_boot_params, phy);
arch/mips/cavium-octeon/octeon-platform.c
531
fdt_nop_node(initial_boot_params, phy);
arch/mips/cavium-octeon/octeon-platform.c
535
phy = alt_phy;
arch/mips/cavium-octeon/octeon-platform.c
541
fdt_nop_property(initial_boot_params, phy, "marvell,reg-init");
arch/mips/cavium-octeon/octeon-platform.c
543
p = fdt_getprop(initial_boot_params, phy, "compatible",
arch/mips/cavium-octeon/octeon-platform.c
546
fdt_setprop_inplace(initial_boot_params, phy,
arch/mips/cavium-octeon/octeon-platform.c
550
reg = fdt_getprop(initial_boot_params, phy, "reg", NULL);
arch/mips/cavium-octeon/octeon-platform.c
554
fdt_setprop_inplace_cell(initial_boot_params, phy, "reg", phy_addr);
arch/mips/cavium-octeon/octeon-platform.c
558
p = fdt_get_name(initial_boot_params, phy, &current_len);
arch/mips/cavium-octeon/octeon-platform.c
560
fdt_set_name(initial_boot_params, phy, new_name);
arch/powerpc/include/asm/tsi108.h
94
u16 phy; /* phy address */
arch/powerpc/platforms/powermac/feature.c
1406
struct device_node *phy;
arch/powerpc/platforms/powermac/feature.c
1413
phy = of_get_next_child(node, NULL);
arch/powerpc/platforms/powermac/feature.c
1414
if (!phy)
arch/powerpc/platforms/powermac/feature.c
1416
need_reset = of_device_is_compatible(phy, "B5221");
arch/powerpc/platforms/powermac/feature.c
1417
of_node_put(phy);
arch/powerpc/sysdev/tsi108_dev.c
113
phy = of_find_node_by_phandle(*ph);
arch/powerpc/sysdev/tsi108_dev.c
115
if (phy == NULL) {
arch/powerpc/sysdev/tsi108_dev.c
120
phy_id = of_get_property(phy, "reg", NULL);
arch/powerpc/sysdev/tsi108_dev.c
124
tsi_eth_data.phy = *phy_id;
arch/powerpc/sysdev/tsi108_dev.c
135
if (of_property_read_bool(phy, "txc-rxc-delay-disable"))
arch/powerpc/sysdev/tsi108_dev.c
137
of_node_put(phy);
arch/powerpc/sysdev/tsi108_dev.c
73
struct device_node *phy, *mdio;
arch/sh/boards/board-espt.c
78
.phy = 0,
arch/sh/boards/board-sh7757lcr.c
102
.phy = 1,
arch/sh/boards/board-sh7757lcr.c
145
.phy = 18,
arch/sh/boards/board-sh7757lcr.c
178
.phy = 19,
arch/sh/boards/board-sh7757lcr.c
75
.phy = 1,
arch/sh/boards/mach-ecovec24/setup.c
166
.phy = 0x1f, /* SMSC LAN8700 */
arch/sh/boards/mach-se/770x/setup.c
120
.phy = PHY_ID,
arch/sh/boards/mach-se/7724/setup.c
377
.phy = 0x1f, /* SMSC LAN8187 */
arch/sh/boards/mach-sh7763rdp/setup.c
86
.phy = 1,
arch/sh/kernel/cpu/sh2/setup-sh7619.c
122
.phy = 1,
drivers/ata/ahci.h
360
struct phy **phys;
drivers/ata/ahci_imx.c
68
struct phy *sata_phy;
drivers/ata/ahci_imx.c
69
struct phy *cali_phy0;
drivers/ata/ahci_imx.c
70
struct phy *cali_phy1;
drivers/ata/sata_dwc_460ex.c
1189
hsdev->phy = devm_phy_optional_get(dev, "sata-phy");
drivers/ata/sata_dwc_460ex.c
1190
if (IS_ERR(hsdev->phy))
drivers/ata/sata_dwc_460ex.c
1191
return PTR_ERR(hsdev->phy);
drivers/ata/sata_dwc_460ex.c
1193
err = phy_init(hsdev->phy);
drivers/ata/sata_dwc_460ex.c
1209
phy_exit(hsdev->phy);
drivers/ata/sata_dwc_460ex.c
1221
phy_exit(hsdev->phy);
drivers/ata/sata_dwc_460ex.c
128
struct phy *phy;
drivers/ata/sata_dwc_460ex.c
864
err = phy_power_on(hsdev->phy);
drivers/ata/sata_dwc_460ex.c
909
phy_power_off(hsdev->phy);
drivers/ata/sata_highbank.c
329
int phy_count = 0, phy, port = 0, i;
drivers/ata/sata_highbank.c
343
for (phy = 0; phy < phy_count; phy++) {
drivers/ata/sata_highbank.c
344
if (phy_nodes[phy] == phy_data.np)
drivers/ata/sata_highbank.c
347
if (phy_nodes[phy] == NULL) {
drivers/ata/sata_highbank.c
348
phy_nodes[phy] = phy_data.np;
drivers/ata/sata_highbank.c
349
cphy_base[phy] = of_iomap(phy_nodes[phy], 0);
drivers/ata/sata_highbank.c
350
if (cphy_base[phy] == NULL) {
drivers/ata/sata_highbank.c
357
of_property_read_u32(phy_nodes[phy], "phydev", &tmp);
drivers/ata/sata_highbank.c
359
port_data[port].phy_base = cphy_base[phy];
drivers/ata/sata_mv.c
4079
n_ports, sizeof(struct phy *),
drivers/ata/sata_mv.c
565
struct phy **port_phys;
drivers/atm/eni.c
1513
dev->phy->interrupt(dev);
drivers/atm/eni.c
1747
eni_dev->phy = base+PHY_BASE;
drivers/atm/eni.c
1798
dev->phy->stop(dev);
drivers/atm/eni.c
1799
dev->phy = NULL;
drivers/atm/eni.c
1873
error = dev->phy->start(dev);
drivers/atm/eni.c
2029
if (!dev->phy->ioctl) return -ENOIOCTLCMD;
drivers/atm/eni.c
2030
return dev->phy->ioctl(dev,cmd,arg);
drivers/atm/eni.c
2071
writel(value,ENI_DEV(dev)->phy+addr*4);
drivers/atm/eni.c
2078
return readl(ENI_DEV(dev)->phy+addr*4);
drivers/atm/eni.c
2264
dev->phy = NULL;
drivers/atm/eni.h
77
void __iomem *phy; /* PHY interface chip registers */
drivers/atm/fore200e.c
2831
be32_to_cpu(fore200e->stats->phy.crc_header_errors),
drivers/atm/fore200e.c
2832
be32_to_cpu(fore200e->stats->phy.framing_errors));
drivers/atm/fore200e.h
442
struct stats_phy phy; /* physical encoding statistics */
drivers/atm/he.c
1474
if (he_dev->atm_dev->phy && he_dev->atm_dev->phy->start)
drivers/atm/he.c
1475
he_dev->atm_dev->phy->start(he_dev->atm_dev);
drivers/atm/he.c
1551
if (he_dev->atm_dev->phy && he_dev->atm_dev->phy->stop)
drivers/atm/he.c
1552
he_dev->atm_dev->phy->stop(he_dev->atm_dev);
drivers/atm/he.c
1963
if (he_dev->atm_dev->phy && he_dev->atm_dev->phy->interrupt)
drivers/atm/he.c
1964
he_dev->atm_dev->phy->interrupt(he_dev->atm_dev);
drivers/atm/he.c
2656
if (atm_dev->phy && atm_dev->phy->ioctl)
drivers/atm/he.c
2657
err = atm_dev->phy->ioctl(atm_dev, cmd, arg);
drivers/atm/idt77105.c
339
dev->phy = NULL;
drivers/atm/idt77105.c
360
dev->phy = &idt77105_ops;
drivers/atm/idt77252.c
2774
if (card->atmdev->phy && card->atmdev->phy->interrupt)
drivers/atm/idt77252.c
2775
card->atmdev->phy->interrupt(card->atmdev);
drivers/atm/idt77252.c
3450
if (dev->phy == NULL) {
drivers/atm/idt77252.c
3455
if (dev->phy->ioctl == NULL) {
drivers/atm/idt77252.c
3672
if (!dev->phy) {
drivers/atm/idt77252.c
3705
if (dev->phy->start)
drivers/atm/idt77252.c
3706
dev->phy->start(dev);
drivers/atm/idt77252.c
3721
if (dev->phy->stop)
drivers/atm/idt77252.c
3722
dev->phy->stop(dev);
drivers/atm/idt77252.c
3774
if (dev->phy->stop)
drivers/atm/idt77252.c
3775
dev->phy->stop(dev);
drivers/atm/iphase.c
2388
iadev->phy = base + PHY_BASE;
drivers/atm/iphase.c
2398
iadev->phy, iadev->ram, iadev->seg_ram,
drivers/atm/iphase.c
2466
writel(value, INPH_IA_DEV(dev)->phy+addr);
drivers/atm/iphase.c
2471
return readl(INPH_IA_DEV(dev)->phy+addr);
drivers/atm/iphase.c
2505
unsigned char phy;
drivers/atm/iphase.c
2568
phy = 0; /* resolve compiler complaint */
drivers/atm/iphase.c
2570
if ((phy=ia_phy_get(dev,0)) == 0x30)
drivers/atm/iphase.c
2571
printk("IA: pm5346,rev.%d\n",phy&0x0f);
drivers/atm/iphase.c
2573
printk("IA: utopia,rev.%0x\n",phy);)
drivers/atm/iphase.c
2583
if (dev->phy->start) {
drivers/atm/iphase.c
2584
error = dev->phy->start(dev);
drivers/atm/iphase.c
2756
if (!dev->phy->ioctl) return -EINVAL;
drivers/atm/iphase.c
2757
return dev->phy->ioctl(dev,cmd,arg);
drivers/atm/iphase.c
3228
if (dev->phy && dev->phy->stop)
drivers/atm/iphase.c
3229
dev->phy->stop(dev);
drivers/atm/iphase.c
824
return readl(ia->phy + (reg >> 2));
drivers/atm/iphase.c
829
writel(val, ia->phy + (reg >> 2));
drivers/atm/iphase.h
989
u32 __iomem *phy; /* Base pointer into phy (SUNI). */
drivers/atm/nicstar.c
1103
if (dev->phy && dev->phy->interrupt) {
drivers/atm/nicstar.c
1104
dev->phy->interrupt(dev);
drivers/atm/nicstar.c
214
if (card->atmdev->phy && card->atmdev->phy->stop)
drivers/atm/nicstar.c
215
card->atmdev->phy->stop(card->atmdev);
drivers/atm/nicstar.c
2677
if (dev->phy && dev->phy->ioctl) {
drivers/atm/nicstar.c
2678
return dev->phy->ioctl(dev, cmd, arg);
drivers/atm/nicstar.c
2681
dev->phy ? "dev->phy->ioctl" : "dev->phy");
drivers/atm/nicstar.c
793
card->atmdev->phy = NULL;
drivers/atm/nicstar.c
805
if (card->atmdev->phy && card->atmdev->phy->start)
drivers/atm/nicstar.c
806
card->atmdev->phy->start(card->atmdev);
drivers/atm/suni.c
383
dev->phy = &suni_ops;
drivers/bcma/driver_pci.c
34
static void bcma_pcie_mdio_set_phy(struct bcma_drv_pci *pc, u16 phy)
drivers/bcma/driver_pci.c
46
v |= (phy << 4);
drivers/char/tpm/st33zp24/i2c.c
106
struct st33zp24_i2c_phy *phy;
drivers/char/tpm/st33zp24/i2c.c
113
phy = devm_kzalloc(&client->dev, sizeof(struct st33zp24_i2c_phy),
drivers/char/tpm/st33zp24/i2c.c
115
if (!phy)
drivers/char/tpm/st33zp24/i2c.c
118
phy->client = client;
drivers/char/tpm/st33zp24/i2c.c
120
return st33zp24_probe(phy, &i2c_phy_ops, &client->dev, client->irq);
drivers/char/tpm/st33zp24/i2c.c
33
struct st33zp24_i2c_phy *phy = phy_id;
drivers/char/tpm/st33zp24/i2c.c
35
phy->buf[0] = tpm_register;
drivers/char/tpm/st33zp24/i2c.c
36
memcpy(phy->buf + 1, tpm_data, tpm_size);
drivers/char/tpm/st33zp24/i2c.c
37
return i2c_master_send(phy->client, phy->buf, tpm_size + 1);
drivers/char/tpm/st33zp24/i2c.c
50
struct st33zp24_i2c_phy *phy = phy_id;
drivers/char/tpm/st33zp24/i2c.c
55
status = write8_reg(phy, tpm_register, &data, 1);
drivers/char/tpm/st33zp24/i2c.c
57
status = i2c_master_recv(phy->client, tpm_data, tpm_size);
drivers/char/tpm/st33zp24/spi.c
100
struct st33zp24_spi_phy *phy = phy_id;
drivers/char/tpm/st33zp24/spi.c
101
struct spi_device *dev = phy->spi_device;
drivers/char/tpm/st33zp24/spi.c
103
.tx_buf = phy->tx_buf,
drivers/char/tpm/st33zp24/spi.c
104
.rx_buf = phy->rx_buf,
drivers/char/tpm/st33zp24/spi.c
108
phy->tx_buf[total_length++] = TPM_WRITE_DIRECTION | LOCALITY0;
drivers/char/tpm/st33zp24/spi.c
109
phy->tx_buf[total_length++] = tpm_register;
drivers/char/tpm/st33zp24/spi.c
112
phy->tx_buf[total_length++] = tpm_size >> 8;
drivers/char/tpm/st33zp24/spi.c
113
phy->tx_buf[total_length++] = tpm_size;
drivers/char/tpm/st33zp24/spi.c
116
memcpy(&phy->tx_buf[total_length], tpm_data, tpm_size);
drivers/char/tpm/st33zp24/spi.c
119
memset(&phy->tx_buf[total_length], TPM_DUMMY_BYTE, phy->latency);
drivers/char/tpm/st33zp24/spi.c
121
spi_xfer.len = total_length + phy->latency;
drivers/char/tpm/st33zp24/spi.c
125
ret = phy->rx_buf[total_length + phy->latency - 1];
drivers/char/tpm/st33zp24/spi.c
143
struct st33zp24_spi_phy *phy = phy_id;
drivers/char/tpm/st33zp24/spi.c
144
struct spi_device *dev = phy->spi_device;
drivers/char/tpm/st33zp24/spi.c
146
.tx_buf = phy->tx_buf,
drivers/char/tpm/st33zp24/spi.c
147
.rx_buf = phy->rx_buf,
drivers/char/tpm/st33zp24/spi.c
151
phy->tx_buf[total_length++] = LOCALITY0;
drivers/char/tpm/st33zp24/spi.c
152
phy->tx_buf[total_length++] = tpm_register;
drivers/char/tpm/st33zp24/spi.c
154
memset(&phy->tx_buf[total_length], TPM_DUMMY_BYTE,
drivers/char/tpm/st33zp24/spi.c
155
phy->latency + tpm_size);
drivers/char/tpm/st33zp24/spi.c
157
spi_xfer.len = total_length + phy->latency + tpm_size;
drivers/char/tpm/st33zp24/spi.c
162
ret = phy->rx_buf[total_length + phy->latency - 1];
drivers/char/tpm/st33zp24/spi.c
164
memcpy(tpm_data, phy->rx_buf + total_length + phy->latency,
drivers/char/tpm/st33zp24/spi.c
193
struct st33zp24_spi_phy *phy = phy_id;
drivers/char/tpm/st33zp24/spi.c
198
phy->latency = latency;
drivers/char/tpm/st33zp24/spi.c
224
struct st33zp24_spi_phy *phy;
drivers/char/tpm/st33zp24/spi.c
226
phy = devm_kzalloc(&dev->dev, sizeof(struct st33zp24_spi_phy),
drivers/char/tpm/st33zp24/spi.c
228
if (!phy)
drivers/char/tpm/st33zp24/spi.c
231
phy->spi_device = dev;
drivers/char/tpm/st33zp24/spi.c
233
phy->latency = st33zp24_spi_evaluate_latency(phy);
drivers/char/tpm/st33zp24/spi.c
234
if (phy->latency <= 0)
drivers/char/tpm/st33zp24/spi.c
237
return st33zp24_probe(phy, &spi_phy_ops, &dev->dev, dev->irq);
drivers/char/tpm/tpm_tis.c
174
struct tpm_tis_tcg_phy *phy = to_tpm_tis_tcg_phy(data);
drivers/char/tpm/tpm_tis.c
181
*result++ = ioread8(phy->iobase + addr);
drivers/char/tpm/tpm_tis.c
184
result_le16 = cpu_to_le16(ioread16(phy->iobase + addr));
drivers/char/tpm/tpm_tis.c
188
result_le32 = cpu_to_le32(ioread32(phy->iobase + addr));
drivers/char/tpm/tpm_tis.c
199
struct tpm_tis_tcg_phy *phy = to_tpm_tis_tcg_phy(data);
drivers/char/tpm/tpm_tis.c
204
tpm_tis_iowrite8(*value++, phy->iobase, addr);
drivers/char/tpm/tpm_tis.c
209
tpm_tis_iowrite32(le32_to_cpu(*((__le32 *)value)), phy->iobase, addr);
drivers/char/tpm/tpm_tis.c
223
struct tpm_tis_tcg_phy *phy;
drivers/char/tpm/tpm_tis.c
231
phy = devm_kzalloc(dev, sizeof(struct tpm_tis_tcg_phy), GFP_KERNEL);
drivers/char/tpm/tpm_tis.c
232
if (phy == NULL)
drivers/char/tpm/tpm_tis.c
235
phy->iobase = devm_ioremap_resource(dev, &tpm_info->res);
drivers/char/tpm/tpm_tis.c
236
if (IS_ERR(phy->iobase))
drivers/char/tpm/tpm_tis.c
237
return PTR_ERR(phy->iobase);
drivers/char/tpm/tpm_tis.c
243
set_bit(TPM_TIS_ITPM_WORKAROUND, &phy->priv.flags);
drivers/char/tpm/tpm_tis.c
245
return tpm_tis_core_init(dev, &phy->priv, irq, &tpm_tcg,
drivers/char/tpm/tpm_tis_i2c.c
110
struct tpm_tis_i2c_phy *phy = to_tpm_tis_i2c_phy(data);
drivers/char/tpm/tpm_tis_i2c.c
116
guard_time = phy->guard_time_read;
drivers/char/tpm/tpm_tis_i2c.c
118
guard_time = phy->guard_time_write;
drivers/char/tpm/tpm_tis_i2c.c
121
ret = i2c_transfer(phy->i2c_client->adapter, msg, 1);
drivers/char/tpm/tpm_tis_i2c.c
125
usleep_range(phy->guard_time_min, phy->guard_time_max);
drivers/char/tpm/tpm_tis_i2c.c
185
struct tpm_tis_i2c_phy *phy = to_tpm_tis_i2c_phy(data);
drivers/char/tpm/tpm_tis_i2c.c
186
struct i2c_msg msg = { .addr = phy->i2c_client->addr };
drivers/char/tpm/tpm_tis_i2c.c
229
struct tpm_tis_i2c_phy *phy = to_tpm_tis_i2c_phy(data);
drivers/char/tpm/tpm_tis_i2c.c
230
struct i2c_msg msg = { .addr = phy->i2c_client->addr };
drivers/char/tpm/tpm_tis_i2c.c
238
phy->io_buf[0] = reg;
drivers/char/tpm/tpm_tis_i2c.c
239
msg.buf = phy->io_buf;
drivers/char/tpm/tpm_tis_i2c.c
246
memcpy(phy->io_buf + sizeof(reg), value + wrote,
drivers/char/tpm/tpm_tis_i2c.c
294
static int tpm_tis_i2c_init_guard_time(struct tpm_tis_i2c_phy *phy)
drivers/char/tpm/tpm_tis_i2c.c
299
phy->guard_time_read = true;
drivers/char/tpm/tpm_tis_i2c.c
300
phy->guard_time_write = true;
drivers/char/tpm/tpm_tis_i2c.c
301
phy->guard_time_min = GUARD_TIME_DEFAULT_MIN;
drivers/char/tpm/tpm_tis_i2c.c
302
phy->guard_time_max = GUARD_TIME_DEFAULT_MAX;
drivers/char/tpm/tpm_tis_i2c.c
304
ret = tpm_tis_i2c_read_bytes(&phy->priv, TPM_I2C_INTERFACE_CAPABILITY,
drivers/char/tpm/tpm_tis_i2c.c
310
phy->guard_time_read = (i2c_caps & TPM_GUARD_TIME_RR_MASK) ||
drivers/char/tpm/tpm_tis_i2c.c
312
phy->guard_time_write = (i2c_caps & TPM_GUARD_TIME_WR_MASK) ||
drivers/char/tpm/tpm_tis_i2c.c
314
phy->guard_time_min = (i2c_caps & TPM_GUARD_TIME_MIN_MASK) >>
drivers/char/tpm/tpm_tis_i2c.c
317
phy->guard_time_max = phy->guard_time_min + phy->guard_time_min / 5;
drivers/char/tpm/tpm_tis_i2c.c
332
struct tpm_tis_i2c_phy *phy;
drivers/char/tpm/tpm_tis_i2c.c
337
phy = devm_kzalloc(&dev->dev, sizeof(struct tpm_tis_i2c_phy),
drivers/char/tpm/tpm_tis_i2c.c
339
if (!phy)
drivers/char/tpm/tpm_tis_i2c.c
342
phy->io_buf = devm_kzalloc(&dev->dev, TPM_BUFSIZE, GFP_KERNEL);
drivers/char/tpm/tpm_tis_i2c.c
343
if (!phy->io_buf)
drivers/char/tpm/tpm_tis_i2c.c
346
set_bit(TPM_TIS_DEFAULT_CANCELLATION, &phy->priv.flags);
drivers/char/tpm/tpm_tis_i2c.c
347
phy->i2c_client = dev;
drivers/char/tpm/tpm_tis_i2c.c
350
ret = tpm_tis_i2c_init_guard_time(phy);
drivers/char/tpm/tpm_tis_i2c.c
354
ret = tpm_tis_i2c_write_bytes(&phy->priv, TPM_LOC_SEL, sizeof(locality),
drivers/char/tpm/tpm_tis_i2c.c
359
ret = tpm_tis_i2c_write_bytes(&phy->priv, TPM_I2C_DATA_CSUM_ENABLE,
drivers/char/tpm/tpm_tis_i2c.c
365
return tpm_tis_core_init(&dev->dev, &phy->priv, -1, &tpm_i2c_phy_ops,
drivers/char/tpm/tpm_tis_spi.h
15
int (*flow_control)(struct tpm_tis_spi_phy *phy,
drivers/char/tpm/tpm_tis_spi.h
28
extern int tpm_tis_spi_init(struct spi_device *spi, struct tpm_tis_spi_phy *phy,
drivers/char/tpm/tpm_tis_spi_cr50.c
100
if (phy->irq_needs_confirmation) {
drivers/char/tpm/tpm_tis_spi_cr50.c
101
unsigned int attempt = ++phy->irq_confirmation_attempt;
drivers/char/tpm/tpm_tis_spi_cr50.c
103
if (phy->irq_confirmed) {
drivers/char/tpm/tpm_tis_spi_cr50.c
104
phy->irq_needs_confirmation = false;
drivers/char/tpm/tpm_tis_spi_cr50.c
105
phy->access_delay = CR50_READY_IRQ_TIMEOUT;
drivers/char/tpm/tpm_tis_spi_cr50.c
109
phy->irq_needs_confirmation = false;
drivers/char/tpm/tpm_tis_spi_cr50.c
120
static bool cr50_needs_waking(struct cr50_spi_phy *phy)
drivers/char/tpm/tpm_tis_spi_cr50.c
128
return !time_in_range_open(jiffies, phy->last_access,
drivers/char/tpm/tpm_tis_spi_cr50.c
129
phy->spi_phy.wake_after);
drivers/char/tpm/tpm_tis_spi_cr50.c
134
struct tpm_tis_spi_phy *phy = &cr50_phy->spi_phy;
drivers/char/tpm/tpm_tis_spi_cr50.c
145
spi_sync_transfer(phy->spi_device, &spi_cs_wake, 1);
drivers/char/tpm/tpm_tis_spi_cr50.c
152
phy->wake_after = jiffies + msecs_to_jiffies(CR50_SLEEP_DELAY_MSEC);
drivers/char/tpm/tpm_tis_spi_cr50.c
162
static int cr50_spi_flow_control(struct tpm_tis_spi_phy *phy,
drivers/char/tpm/tpm_tis_spi_cr50.c
165
struct device *dev = &phy->spi_device->dev;
drivers/char/tpm/tpm_tis_spi_cr50.c
175
ret = spi_sync_locked(phy->spi_device, &m);
drivers/char/tpm/tpm_tis_spi_cr50.c
183
} while (!(phy->iobuf[0] & 0x01));
drivers/char/tpm/tpm_tis_spi_cr50.c
204
struct tpm_tis_spi_phy *phy = to_tpm_tis_spi_phy(data);
drivers/char/tpm/tpm_tis_spi_cr50.c
205
struct cr50_spi_phy *cr50_phy = to_cr50_spi_phy(phy);
drivers/char/tpm/tpm_tis_spi_cr50.c
243
struct tpm_tis_spi_phy *phy = to_tpm_tis_spi_phy(data);
drivers/char/tpm/tpm_tis_spi_cr50.c
263
dev_info(&phy->spi_device->dev, "Cr50 firmware version: %s\n", fw_ver);
drivers/char/tpm/tpm_tis_spi_cr50.c
268
struct tpm_tis_spi_phy *phy;
drivers/char/tpm/tpm_tis_spi_cr50.c
277
phy = &cr50_phy->spi_phy;
drivers/char/tpm/tpm_tis_spi_cr50.c
278
phy->flow_control = cr50_spi_flow_control;
drivers/char/tpm/tpm_tis_spi_cr50.c
279
phy->wake_after = jiffies;
drivers/char/tpm/tpm_tis_spi_cr50.c
280
phy->priv.rng_quality = TPM_CR50_DEFAULT_RNG_QUALITY;
drivers/char/tpm/tpm_tis_spi_cr50.c
281
init_completion(&phy->ready);
drivers/char/tpm/tpm_tis_spi_cr50.c
315
ret = tpm_tis_spi_init(spi, phy, -1, &tpm_spi_cr50_phy_ops);
drivers/char/tpm/tpm_tis_spi_cr50.c
319
cr50_print_fw_version(&phy->priv);
drivers/char/tpm/tpm_tis_spi_cr50.c
333
struct tpm_tis_spi_phy *phy = to_tpm_tis_spi_phy(data);
drivers/char/tpm/tpm_tis_spi_cr50.c
338
phy->wake_after = jiffies;
drivers/char/tpm/tpm_tis_spi_cr50.c
55
static inline struct cr50_spi_phy *to_cr50_spi_phy(struct tpm_tis_spi_phy *phy)
drivers/char/tpm/tpm_tis_spi_cr50.c
57
return container_of(phy, struct cr50_spi_phy, spi_phy);
drivers/char/tpm/tpm_tis_spi_cr50.c
79
static void cr50_ensure_access_delay(struct cr50_spi_phy *phy)
drivers/char/tpm/tpm_tis_spi_cr50.c
81
unsigned long allowed_access = phy->last_access + phy->access_delay;
drivers/char/tpm/tpm_tis_spi_cr50.c
83
struct device *dev = &phy->spi_phy.spi_device->dev;
drivers/char/tpm/tpm_tis_spi_cr50.c
91
if (time_in_range_open(time_now, phy->last_access, allowed_access)) {
drivers/char/tpm/tpm_tis_spi_cr50.c
94
remaining = wait_for_completion_timeout(&phy->spi_phy.ready,
drivers/char/tpm/tpm_tis_spi_cr50.c
96
if (!remaining && phy->irq_confirmed)
drivers/char/tpm/tpm_tis_spi_main.c
101
spi_xfer[0].tx_buf = phy->iobuf;
drivers/char/tpm/tpm_tis_spi_main.c
105
spi_xfer[1].tx_buf = phy->iobuf + 1;
drivers/char/tpm/tpm_tis_spi_main.c
110
spi_xfer[2].tx_buf = &phy->iobuf[4];
drivers/char/tpm/tpm_tis_spi_main.c
112
memcpy(&phy->iobuf[4], out, transfer_len);
drivers/char/tpm/tpm_tis_spi_main.c
118
spi_xfer[2].rx_buf = &phy->iobuf[4];
drivers/char/tpm/tpm_tis_spi_main.c
124
reinit_completion(&phy->ready);
drivers/char/tpm/tpm_tis_spi_main.c
126
ret = spi_sync(phy->spi_device, &m);
drivers/char/tpm/tpm_tis_spi_main.c
131
memcpy(in, &phy->iobuf[4], transfer_len);
drivers/char/tpm/tpm_tis_spi_main.c
144
struct tpm_tis_spi_phy *phy = to_tpm_tis_spi_phy(data);
drivers/char/tpm/tpm_tis_spi_main.c
150
spi_bus_lock(phy->spi_device->controller);
drivers/char/tpm/tpm_tis_spi_main.c
155
phy->iobuf[0] = (in ? 0x80 : 0) | (transfer_len - 1);
drivers/char/tpm/tpm_tis_spi_main.c
156
phy->iobuf[1] = 0xd4;
drivers/char/tpm/tpm_tis_spi_main.c
157
phy->iobuf[2] = addr >> 8;
drivers/char/tpm/tpm_tis_spi_main.c
158
phy->iobuf[3] = addr;
drivers/char/tpm/tpm_tis_spi_main.c
161
spi_xfer.tx_buf = phy->iobuf;
drivers/char/tpm/tpm_tis_spi_main.c
162
spi_xfer.rx_buf = phy->iobuf;
drivers/char/tpm/tpm_tis_spi_main.c
168
ret = spi_sync_locked(phy->spi_device, &m);
drivers/char/tpm/tpm_tis_spi_main.c
174
ret = phy->flow_control(phy, &spi_xfer);
drivers/char/tpm/tpm_tis_spi_main.c
184
spi_xfer.tx_buf = phy->iobuf;
drivers/char/tpm/tpm_tis_spi_main.c
186
memcpy(phy->iobuf, out, transfer_len);
drivers/char/tpm/tpm_tis_spi_main.c
192
reinit_completion(&phy->ready);
drivers/char/tpm/tpm_tis_spi_main.c
193
ret = spi_sync_locked(phy->spi_device, &m);
drivers/char/tpm/tpm_tis_spi_main.c
198
memcpy(in, phy->iobuf, transfer_len);
drivers/char/tpm/tpm_tis_spi_main.c
211
spi_sync_locked(phy->spi_device, &m);
drivers/char/tpm/tpm_tis_spi_main.c
214
spi_bus_unlock(phy->spi_device->controller);
drivers/char/tpm/tpm_tis_spi_main.c
221
struct tpm_tis_spi_phy *phy = to_tpm_tis_spi_phy(data);
drivers/char/tpm/tpm_tis_spi_main.c
222
struct spi_controller *ctlr = phy->spi_device->controller;
drivers/char/tpm/tpm_tis_spi_main.c
248
int tpm_tis_spi_init(struct spi_device *spi, struct tpm_tis_spi_phy *phy,
drivers/char/tpm/tpm_tis_spi_main.c
251
phy->iobuf = devm_kmalloc(&spi->dev, SPI_HDRSIZE + MAX_SPI_FRAMESIZE, GFP_KERNEL);
drivers/char/tpm/tpm_tis_spi_main.c
252
if (!phy->iobuf)
drivers/char/tpm/tpm_tis_spi_main.c
255
phy->spi_device = spi;
drivers/char/tpm/tpm_tis_spi_main.c
257
return tpm_tis_core_init(&spi->dev, &phy->priv, irq, phy_ops, NULL);
drivers/char/tpm/tpm_tis_spi_main.c
267
struct tpm_tis_spi_phy *phy;
drivers/char/tpm/tpm_tis_spi_main.c
270
phy = devm_kzalloc(&dev->dev, sizeof(struct tpm_tis_spi_phy),
drivers/char/tpm/tpm_tis_spi_main.c
272
if (!phy)
drivers/char/tpm/tpm_tis_spi_main.c
275
phy->flow_control = tpm_tis_spi_flow_control;
drivers/char/tpm/tpm_tis_spi_main.c
286
init_completion(&phy->ready);
drivers/char/tpm/tpm_tis_spi_main.c
287
return tpm_tis_spi_init(dev, phy, irq, &tpm_spi_phy_ops);
drivers/char/tpm/tpm_tis_spi_main.c
49
static int tpm_tis_spi_flow_control(struct tpm_tis_spi_phy *phy,
drivers/char/tpm/tpm_tis_spi_main.c
55
if ((phy->iobuf[3] & 0x01) == 0) {
drivers/char/tpm/tpm_tis_spi_main.c
61
ret = spi_sync_locked(phy->spi_device, &m);
drivers/char/tpm/tpm_tis_spi_main.c
64
if (phy->iobuf[0] & 0x01)
drivers/char/tpm/tpm_tis_spi_main.c
84
struct tpm_tis_spi_phy *phy = to_tpm_tis_spi_phy(data);
drivers/char/tpm/tpm_tis_spi_main.c
94
phy->iobuf[0] = (in ? 0x80 : 0) | (transfer_len - 1);
drivers/char/tpm/tpm_tis_spi_main.c
95
phy->iobuf[1] = 0xd4;
drivers/char/tpm/tpm_tis_spi_main.c
96
phy->iobuf[2] = addr >> 8;
drivers/char/tpm/tpm_tis_spi_main.c
97
phy->iobuf[3] = addr;
drivers/char/tpm/tpm_tis_synquacer.c
102
phy->iobase = devm_ioremap_resource(dev, &tpm_info->res);
drivers/char/tpm/tpm_tis_synquacer.c
103
if (IS_ERR(phy->iobase))
drivers/char/tpm/tpm_tis_synquacer.c
104
return PTR_ERR(phy->iobase);
drivers/char/tpm/tpm_tis_synquacer.c
106
return tpm_tis_core_init(dev, &phy->priv, tpm_info->irq, &tpm_tcg_bw,
drivers/char/tpm/tpm_tis_synquacer.c
40
struct tpm_tis_synquacer_phy *phy = to_tpm_tis_tcg_phy(data);
drivers/char/tpm/tpm_tis_synquacer.c
44
*result++ = ioread8(phy->iobase + addr);
drivers/char/tpm/tpm_tis_synquacer.c
47
result[1] = ioread8(phy->iobase + addr + 1);
drivers/char/tpm/tpm_tis_synquacer.c
48
result[0] = ioread8(phy->iobase + addr);
drivers/char/tpm/tpm_tis_synquacer.c
51
result[3] = ioread8(phy->iobase + addr + 3);
drivers/char/tpm/tpm_tis_synquacer.c
52
result[2] = ioread8(phy->iobase + addr + 2);
drivers/char/tpm/tpm_tis_synquacer.c
53
result[1] = ioread8(phy->iobase + addr + 1);
drivers/char/tpm/tpm_tis_synquacer.c
54
result[0] = ioread8(phy->iobase + addr);
drivers/char/tpm/tpm_tis_synquacer.c
65
struct tpm_tis_synquacer_phy *phy = to_tpm_tis_tcg_phy(data);
drivers/char/tpm/tpm_tis_synquacer.c
69
iowrite8(*value++, phy->iobase + addr);
drivers/char/tpm/tpm_tis_synquacer.c
78
iowrite8(value[3], phy->iobase + addr + 3);
drivers/char/tpm/tpm_tis_synquacer.c
79
iowrite8(value[2], phy->iobase + addr + 2);
drivers/char/tpm/tpm_tis_synquacer.c
80
iowrite8(value[1], phy->iobase + addr + 1);
drivers/char/tpm/tpm_tis_synquacer.c
81
iowrite8(value[0], phy->iobase + addr);
drivers/char/tpm/tpm_tis_synquacer.c
96
struct tpm_tis_synquacer_phy *phy;
drivers/char/tpm/tpm_tis_synquacer.c
98
phy = devm_kzalloc(dev, sizeof(struct tpm_tis_synquacer_phy), GFP_KERNEL);
drivers/char/tpm/tpm_tis_synquacer.c
99
if (phy == NULL)
drivers/dma/k3dma.c
104
struct k3_dma_phy *phy;
drivers/dma/k3dma.c
133
static void k3_dma_pause_dma(struct k3_dma_phy *phy, bool on)
drivers/dma/k3dma.c
138
val = readl_relaxed(phy->base + CX_CFG);
drivers/dma/k3dma.c
140
writel_relaxed(val, phy->base + CX_CFG);
drivers/dma/k3dma.c
142
val = readl_relaxed(phy->base + CX_CFG);
drivers/dma/k3dma.c
144
writel_relaxed(val, phy->base + CX_CFG);
drivers/dma/k3dma.c
148
static void k3_dma_terminate_chan(struct k3_dma_phy *phy, struct k3_dma_dev *d)
drivers/dma/k3dma.c
152
k3_dma_pause_dma(phy, false);
drivers/dma/k3dma.c
154
val = 0x1 << phy->idx;
drivers/dma/k3dma.c
161
static void k3_dma_set_desc(struct k3_dma_phy *phy, struct k3_desc_hw *hw)
drivers/dma/k3dma.c
163
writel_relaxed(hw->lli, phy->base + CX_LLI);
drivers/dma/k3dma.c
164
writel_relaxed(hw->count, phy->base + CX_CNT0);
drivers/dma/k3dma.c
165
writel_relaxed(hw->saddr, phy->base + CX_SRC);
drivers/dma/k3dma.c
166
writel_relaxed(hw->daddr, phy->base + CX_DST);
drivers/dma/k3dma.c
167
writel_relaxed(hw->config, phy->base + CX_CFG);
drivers/dma/k3dma.c
170
static u32 k3_dma_get_curr_cnt(struct k3_dma_dev *d, struct k3_dma_phy *phy)
drivers/dma/k3dma.c
174
cnt = readl_relaxed(d->base + CX_CUR_CNT + phy->idx * 0x10);
drivers/dma/k3dma.c
179
static u32 k3_dma_get_curr_lli(struct k3_dma_phy *phy)
drivers/dma/k3dma.c
181
return readl_relaxed(phy->base + CX_LLI);
drivers/dma/k3dma.c
226
p = &d->phy[i];
drivers/dma/k3dma.c
268
if (!c->phy)
drivers/dma/k3dma.c
271
if (BIT(c->phy->idx) & k3_dma_get_chan_stat(d))
drivers/dma/k3dma.c
275
if (c->phy->ds_run)
drivers/dma/k3dma.c
287
c->phy->ds_run = ds;
drivers/dma/k3dma.c
288
c->phy->ds_done = NULL;
drivers/dma/k3dma.c
290
k3_dma_set_desc(c->phy, &ds->desc_hw[0]);
drivers/dma/k3dma.c
293
c->phy->ds_run = NULL;
drivers/dma/k3dma.c
294
c->phy->ds_done = NULL;
drivers/dma/k3dma.c
308
p = c->phy;
drivers/dma/k3dma.c
314
c->phy = NULL;
drivers/dma/k3dma.c
327
p = &d->phy[pch];
drivers/dma/k3dma.c
337
c->phy = p;
drivers/dma/k3dma.c
348
p = &d->phy[pch];
drivers/dma/k3dma.c
389
p = c->phy;
drivers/dma/k3dma.c
431
if (!c->phy) {
drivers/dma/k3dma.c
718
struct k3_dma_phy *p = c->phy;
drivers/dma/k3dma.c
735
c->phy = NULL;
drivers/dma/k3dma.c
760
struct k3_dma_phy *p = c->phy;
drivers/dma/k3dma.c
781
struct k3_dma_phy *p = c->phy;
drivers/dma/k3dma.c
82
struct k3_dma_phy *phy;
drivers/dma/k3dma.c
885
d->phy = devm_kcalloc(&op->dev,
drivers/dma/k3dma.c
887
if (d->phy == NULL)
drivers/dma/k3dma.c
896
p = &d->phy[i];
drivers/dma/mmp_pdma.c
108
struct mmp_pdma_phy *phy;
drivers/dma/mmp_pdma.c
1111
struct mmp_pdma_phy *phy;
drivers/dma/mmp_pdma.c
1127
phy = &pdev->phy[i];
drivers/dma/mmp_pdma.c
1129
devm_free_irq(&op->dev, irq, phy);
drivers/dma/mmp_pdma.c
1138
struct mmp_pdma_phy *phy = &pdev->phy[idx];
drivers/dma/mmp_pdma.c
1146
phy->idx = idx;
drivers/dma/mmp_pdma.c
1147
phy->base = pdev->base;
drivers/dma/mmp_pdma.c
1151
IRQF_SHARED, "pdma", phy);
drivers/dma/mmp_pdma.c
1280
pdev->phy = devm_kcalloc(pdev->dev, dma_channels, sizeof(*pdev->phy),
drivers/dma/mmp_pdma.c
1282
if (pdev->phy == NULL)
drivers/dma/mmp_pdma.c
160
void (*write_next_addr)(struct mmp_pdma_phy *phy, dma_addr_t addr);
drivers/dma/mmp_pdma.c
161
u64 (*read_src_addr)(struct mmp_pdma_phy *phy);
drivers/dma/mmp_pdma.c
162
u64 (*read_dst_addr)(struct mmp_pdma_phy *phy);
drivers/dma/mmp_pdma.c
184
struct mmp_pdma_phy *phy;
drivers/dma/mmp_pdma.c
199
static void write_next_addr_32(struct mmp_pdma_phy *phy, dma_addr_t addr)
drivers/dma/mmp_pdma.c
201
writel(addr, phy->base + DDADR(phy->idx));
drivers/dma/mmp_pdma.c
204
static u64 read_src_addr_32(struct mmp_pdma_phy *phy)
drivers/dma/mmp_pdma.c
206
return readl(phy->base + DSADR(phy->idx));
drivers/dma/mmp_pdma.c
209
static u64 read_dst_addr_32(struct mmp_pdma_phy *phy)
drivers/dma/mmp_pdma.c
211
return readl(phy->base + DTADR(phy->idx));
drivers/dma/mmp_pdma.c
240
static void write_next_addr_64(struct mmp_pdma_phy *phy, dma_addr_t addr)
drivers/dma/mmp_pdma.c
242
writel(lower_32_bits(addr), phy->base + DDADR(phy->idx));
drivers/dma/mmp_pdma.c
243
writel(upper_32_bits(addr), phy->base + DDADRH(phy->idx));
drivers/dma/mmp_pdma.c
246
static u64 read_src_addr_64(struct mmp_pdma_phy *phy)
drivers/dma/mmp_pdma.c
248
u32 low = readl(phy->base + DSADR(phy->idx));
drivers/dma/mmp_pdma.c
249
u32 high = readl(phy->base + DSADRH(phy->idx));
drivers/dma/mmp_pdma.c
254
static u64 read_dst_addr_64(struct mmp_pdma_phy *phy)
drivers/dma/mmp_pdma.c
256
u32 low = readl(phy->base + DTADR(phy->idx));
drivers/dma/mmp_pdma.c
257
u32 high = readl(phy->base + DTADRH(phy->idx));
drivers/dma/mmp_pdma.c
294
static void enable_chan(struct mmp_pdma_phy *phy)
drivers/dma/mmp_pdma.c
299
if (!phy->vchan)
drivers/dma/mmp_pdma.c
302
pdev = to_mmp_pdma_dev(phy->vchan->chan.device);
drivers/dma/mmp_pdma.c
304
reg = DRCMR(phy->vchan->drcmr);
drivers/dma/mmp_pdma.c
305
writel(DRCMR_MAPVLD | phy->idx, phy->base + reg);
drivers/dma/mmp_pdma.c
307
dalgn = readl(phy->base + DALGN);
drivers/dma/mmp_pdma.c
308
if (phy->vchan->byte_align)
drivers/dma/mmp_pdma.c
309
dalgn |= 1 << phy->idx;
drivers/dma/mmp_pdma.c
311
dalgn &= ~(1 << phy->idx);
drivers/dma/mmp_pdma.c
312
writel(dalgn, phy->base + DALGN);
drivers/dma/mmp_pdma.c
314
reg = (phy->idx << 2) + DCSR;
drivers/dma/mmp_pdma.c
315
writel(readl(phy->base + reg) | pdev->ops->run_bits,
drivers/dma/mmp_pdma.c
316
phy->base + reg);
drivers/dma/mmp_pdma.c
319
static void disable_chan(struct mmp_pdma_phy *phy)
drivers/dma/mmp_pdma.c
323
if (!phy)
drivers/dma/mmp_pdma.c
326
reg = (phy->idx << 2) + DCSR;
drivers/dma/mmp_pdma.c
327
dcsr = readl(phy->base + reg);
drivers/dma/mmp_pdma.c
329
if (phy->vchan) {
drivers/dma/mmp_pdma.c
332
pdev = to_mmp_pdma_dev(phy->vchan->chan.device);
drivers/dma/mmp_pdma.c
333
writel(dcsr & ~pdev->ops->run_bits, phy->base + reg);
drivers/dma/mmp_pdma.c
336
writel(dcsr & ~DCSR_RUN, phy->base + reg);
drivers/dma/mmp_pdma.c
340
static int clear_chan_irq(struct mmp_pdma_phy *phy)
drivers/dma/mmp_pdma.c
343
u32 dint = readl(phy->base + DINT);
drivers/dma/mmp_pdma.c
344
u32 reg = (phy->idx << 2) + DCSR;
drivers/dma/mmp_pdma.c
346
if (!(dint & BIT(phy->idx)))
drivers/dma/mmp_pdma.c
350
dcsr = readl(phy->base + reg);
drivers/dma/mmp_pdma.c
351
writel(dcsr, phy->base + reg);
drivers/dma/mmp_pdma.c
352
if ((dcsr & DCSR_BUSERR) && (phy->vchan))
drivers/dma/mmp_pdma.c
353
dev_warn(phy->vchan->dev, "DCSR_BUSERR\n");
drivers/dma/mmp_pdma.c
360
struct mmp_pdma_phy *phy = dev_id;
drivers/dma/mmp_pdma.c
362
if (clear_chan_irq(phy) != 0)
drivers/dma/mmp_pdma.c
365
tasklet_schedule(&phy->vchan->tasklet);
drivers/dma/mmp_pdma.c
372
struct mmp_pdma_phy *phy;
drivers/dma/mmp_pdma.c
383
phy = &pdev->phy[i];
drivers/dma/mmp_pdma.c
384
ret = mmp_pdma_chan_handler(irq, phy);
drivers/dma/mmp_pdma.c
400
struct mmp_pdma_phy *phy, *found = NULL;
drivers/dma/mmp_pdma.c
416
phy = &pdev->phy[i];
drivers/dma/mmp_pdma.c
417
if (!phy->vchan) {
drivers/dma/mmp_pdma.c
418
phy->vchan = pchan;
drivers/dma/mmp_pdma.c
419
found = phy;
drivers/dma/mmp_pdma.c
436
if (!pchan->phy)
drivers/dma/mmp_pdma.c
441
writel(0, pchan->phy->base + reg);
drivers/dma/mmp_pdma.c
444
pchan->phy->vchan = NULL;
drivers/dma/mmp_pdma.c
445
pchan->phy = NULL;
drivers/dma/mmp_pdma.c
471
if (!chan->phy) {
drivers/dma/mmp_pdma.c
472
chan->phy = lookup_phy(chan);
drivers/dma/mmp_pdma.c
473
if (!chan->phy) {
drivers/dma/mmp_pdma.c
491
pdev->ops->write_next_addr(chan->phy, desc->async_tx.phys);
drivers/dma/mmp_pdma.c
492
enable_chan(chan->phy);
drivers/dma/mmp_pdma.c
915
disable_chan(chan->phy);
drivers/dma/mmp_pdma.c
941
if (!chan->phy)
drivers/dma/mmp_pdma.c
945
curr = pdev->ops->read_dst_addr(chan->phy);
drivers/dma/mmp_pdma.c
947
curr = pdev->ops->read_src_addr(chan->phy);
drivers/dma/pxa_dma.c
1080
struct pxad_phy *phy;
drivers/dma/pxa_dma.c
1095
phy = chan->phy;
drivers/dma/pxa_dma.c
1096
if (phy) {
drivers/dma/pxa_dma.c
1097
phy_disable(chan->phy);
drivers/dma/pxa_dma.c
1099
chan->phy = NULL;
drivers/dma/pxa_dma.c
1101
phy->vchan = NULL;
drivers/dma/pxa_dma.c
1125
if (!chan->phy)
drivers/dma/pxa_dma.c
1136
curr = phy_readl_relaxed(chan->phy, DSADR);
drivers/dma/pxa_dma.c
1138
curr = phy_readl_relaxed(chan->phy, DTADR);
drivers/dma/pxa_dma.c
117
struct pxad_phy *phy;
drivers/dma/pxa_dma.c
1235
struct pxad_phy *phy;
drivers/dma/pxa_dma.c
1251
phy = &pdev->phys[i];
drivers/dma/pxa_dma.c
1252
phy->base = pdev->base;
drivers/dma/pxa_dma.c
1253
phy->idx = i;
drivers/dma/pxa_dma.c
1258
IRQF_SHARED, "pxa-dma", phy);
drivers/dma/pxa_dma.c
146
#define _phy_readl_relaxed(phy, _reg) \
drivers/dma/pxa_dma.c
147
readl_relaxed((phy)->base + _reg((phy)->idx))
drivers/dma/pxa_dma.c
148
#define phy_readl_relaxed(phy, _reg) \
drivers/dma/pxa_dma.c
151
_v = readl_relaxed((phy)->base + _reg((phy)->idx)); \
drivers/dma/pxa_dma.c
152
dev_vdbg(&phy->vchan->vc.chan.dev->device, \
drivers/dma/pxa_dma.c
157
#define phy_writel(phy, val, _reg) \
drivers/dma/pxa_dma.c
159
writel((val), (phy)->base + _reg((phy)->idx)); \
drivers/dma/pxa_dma.c
160
dev_vdbg(&phy->vchan->vc.chan.dev->device, \
drivers/dma/pxa_dma.c
164
#define phy_writel_relaxed(phy, val, _reg) \
drivers/dma/pxa_dma.c
166
writel_relaxed((val), (phy)->base + _reg((phy)->idx)); \
drivers/dma/pxa_dma.c
167
dev_vdbg(&phy->vchan->vc.chan.dev->device, \
drivers/dma/pxa_dma.c
191
struct pxad_phy *phy = s->private;
drivers/dma/pxa_dma.c
195
seq_printf(s, "DMA channel %d requester :\n", phy->idx);
drivers/dma/pxa_dma.c
197
drcmr = readl_relaxed(phy->base + pxad_drcmr(i));
drivers/dma/pxa_dma.c
198
if ((drcmr & DRCMR_CHLNUM) == phy->idx)
drivers/dma/pxa_dma.c
222
struct pxad_phy *phy = s->private;
drivers/dma/pxa_dma.c
228
phys_desc = ddadr = _phy_readl_relaxed(phy, DDADR);
drivers/dma/pxa_dma.c
230
seq_printf(s, "DMA channel %d descriptors :\n", phy->idx);
drivers/dma/pxa_dma.c
265
struct pxad_phy *phy = s->private;
drivers/dma/pxa_dma.c
272
dcsr = _phy_readl_relaxed(phy, DCSR);
drivers/dma/pxa_dma.c
273
dcmd = _phy_readl_relaxed(phy, DCMD);
drivers/dma/pxa_dma.c
277
seq_printf(s, "DMA channel %d\n", phy->idx);
drivers/dma/pxa_dma.c
279
str_prio[(phy->idx & 0xf) / 4]);
drivers/dma/pxa_dma.c
281
str_yes_no(_phy_readl_relaxed(phy, DALGN) & BIT(phy->idx)));
drivers/dma/pxa_dma.c
298
seq_printf(s, "\tDSADR = %08x\n", _phy_readl_relaxed(phy, DSADR));
drivers/dma/pxa_dma.c
299
seq_printf(s, "\tDTADR = %08x\n", _phy_readl_relaxed(phy, DTADR));
drivers/dma/pxa_dma.c
300
seq_printf(s, "\tDDADR = %08x\n", _phy_readl_relaxed(phy, DDADR));
drivers/dma/pxa_dma.c
372
struct pxad_phy *phy, *found = NULL;
drivers/dma/pxa_dma.c
388
phy = &pdev->phys[i];
drivers/dma/pxa_dma.c
389
if (!phy->vchan) {
drivers/dma/pxa_dma.c
390
phy->vchan = pchan;
drivers/dma/pxa_dma.c
391
found = phy;
drivers/dma/pxa_dma.c
414
if (!chan->phy)
drivers/dma/pxa_dma.c
420
writel_relaxed(0, chan->phy->base + reg);
drivers/dma/pxa_dma.c
424
chan->phy->vchan = NULL;
drivers/dma/pxa_dma.c
425
chan->phy = NULL;
drivers/dma/pxa_dma.c
432
struct pxad_phy *phy = chan->phy;
drivers/dma/pxa_dma.c
434
if (!phy)
drivers/dma/pxa_dma.c
436
dcsr = phy_readl_relaxed(phy, DCSR);
drivers/dma/pxa_dma.c
444
BUG_ON(!chan->phy);
drivers/dma/pxa_dma.c
445
dalgn = phy_readl_relaxed(chan->phy, DALGN);
drivers/dma/pxa_dma.c
446
return dalgn & (BIT(chan->phy->idx));
drivers/dma/pxa_dma.c
449
static void phy_enable(struct pxad_phy *phy, bool misaligned)
drivers/dma/pxa_dma.c
454
if (!phy->vchan)
drivers/dma/pxa_dma.c
457
dev_dbg(&phy->vchan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
459
phy, phy->idx, misaligned);
drivers/dma/pxa_dma.c
461
pdev = to_pxad_dev(phy->vchan->vc.chan.device);
drivers/dma/pxa_dma.c
462
if (phy->vchan->drcmr <= pdev->nr_requestors) {
drivers/dma/pxa_dma.c
463
reg = pxad_drcmr(phy->vchan->drcmr);
drivers/dma/pxa_dma.c
464
writel_relaxed(DRCMR_MAPVLD | phy->idx, phy->base + reg);
drivers/dma/pxa_dma.c
467
dalgn = phy_readl_relaxed(phy, DALGN);
drivers/dma/pxa_dma.c
469
dalgn |= BIT(phy->idx);
drivers/dma/pxa_dma.c
471
dalgn &= ~BIT(phy->idx);
drivers/dma/pxa_dma.c
472
phy_writel_relaxed(phy, dalgn, DALGN);
drivers/dma/pxa_dma.c
474
phy_writel(phy, PXA_DCSR_STOPIRQEN | PXA_DCSR_ENDINTR |
drivers/dma/pxa_dma.c
478
static void phy_disable(struct pxad_phy *phy)
drivers/dma/pxa_dma.c
482
if (!phy)
drivers/dma/pxa_dma.c
485
dcsr = phy_readl_relaxed(phy, DCSR);
drivers/dma/pxa_dma.c
486
dev_dbg(&phy->vchan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
487
"%s(): phy=%p(%d)\n", __func__, phy, phy->idx);
drivers/dma/pxa_dma.c
488
phy_writel(phy, dcsr & ~PXA_DCSR_RUN & ~PXA_DCSR_STOPIRQEN, DCSR);
drivers/dma/pxa_dma.c
496
if (!chan->phy) {
drivers/dma/pxa_dma.c
497
chan->phy = lookup_phy(chan);
drivers/dma/pxa_dma.c
498
if (!chan->phy) {
drivers/dma/pxa_dma.c
510
phy_writel(chan->phy, desc->first, DDADR);
drivers/dma/pxa_dma.c
511
phy_enable(chan->phy, chan->misaligned);
drivers/dma/pxa_dma.c
583
static unsigned int clear_chan_irq(struct pxad_phy *phy)
drivers/dma/pxa_dma.c
586
u32 dint = readl(phy->base + DINT);
drivers/dma/pxa_dma.c
588
if (!(dint & BIT(phy->idx)))
drivers/dma/pxa_dma.c
592
dcsr = phy_readl_relaxed(phy, DCSR);
drivers/dma/pxa_dma.c
593
phy_writel(phy, dcsr, DCSR);
drivers/dma/pxa_dma.c
594
if ((dcsr & PXA_DCSR_BUSERR) && (phy->vchan))
drivers/dma/pxa_dma.c
595
dev_warn(&phy->vchan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
597
__func__, &phy->vchan);
drivers/dma/pxa_dma.c
604
struct pxad_phy *phy = dev_id;
drivers/dma/pxa_dma.c
605
struct pxad_chan *chan = phy->vchan;
drivers/dma/pxa_dma.c
613
dcsr = clear_chan_irq(phy);
drivers/dma/pxa_dma.c
639
phy_disable(phy);
drivers/dma/pxa_dma.c
648
phy_writel_relaxed(phy, dcsr & ~PXA_DCSR_STOPIRQEN, DCSR);
drivers/dma/pxa_dma.c
668
struct pxad_phy *phy;
drivers/dma/pxa_dma.c
675
phy = &pdev->phys[i];
drivers/dma/pxa_dma.c
676
if (pxad_chan_handler(irq, phy) == IRQ_HANDLED)
drivers/dma/sa11x0-dma.c
1006
struct sa11x0_dma_phy *p = &d->phy[pch];
drivers/dma/sa11x0-dma.c
1044
struct sa11x0_dma_phy *p = &d->phy[pch];
drivers/dma/sa11x0-dma.c
123
struct sa11x0_dma_phy phy[NR_PHY_CHAN];
drivers/dma/sa11x0-dma.c
287
if (c->phy == p) {
drivers/dma/sa11x0-dma.c
305
struct sa11x0_dma_phy *p = c->phy;
drivers/dma/sa11x0-dma.c
337
p = c->phy;
drivers/dma/sa11x0-dma.c
345
c->phy = NULL;
drivers/dma/sa11x0-dma.c
354
p = &d->phy[pch];
drivers/dma/sa11x0-dma.c
373
p = &d->phy[pch];
drivers/dma/sa11x0-dma.c
377
c->phy = p;
drivers/dma/sa11x0-dma.c
435
p = c->phy;
drivers/dma/sa11x0-dma.c
508
if (!c->phy) {
drivers/dma/sa11x0-dma.c
710
p = c->phy;
drivers/dma/sa11x0-dma.c
736
p = c->phy;
drivers/dma/sa11x0-dma.c
763
p = c->phy;
drivers/dma/sa11x0-dma.c
781
c->phy = NULL;
drivers/dma/sa11x0-dma.c
90
struct sa11x0_dma_phy *phy;
drivers/dma/sa11x0-dma.c
932
struct sa11x0_dma_phy *p = &d->phy[i];
drivers/dma/sa11x0-dma.c
946
sa11x0_dma_free_irq(pdev, i, &d->phy[i]);
drivers/dma/sa11x0-dma.c
975
sa11x0_dma_free_irq(pdev, i, &d->phy[i]);
drivers/dma/sa11x0-dma.c
994
sa11x0_dma_free_irq(pdev, pch, &d->phy[pch]);
drivers/dma/ste_dma40.c
1764
static bool d40_alloc_mask_set(struct d40_phy_res *phy,
drivers/dma/ste_dma40.c
1769
spin_lock_irqsave(&phy->lock, flags);
drivers/dma/ste_dma40.c
1771
*first_user = ((phy->allocated_src | phy->allocated_dst)
drivers/dma/ste_dma40.c
1776
if (phy->allocated_src == D40_ALLOC_FREE &&
drivers/dma/ste_dma40.c
1777
phy->allocated_dst == D40_ALLOC_FREE) {
drivers/dma/ste_dma40.c
1778
phy->allocated_dst = D40_ALLOC_PHY;
drivers/dma/ste_dma40.c
1779
phy->allocated_src = D40_ALLOC_PHY;
drivers/dma/ste_dma40.c
1787
if (phy->allocated_src == D40_ALLOC_PHY)
drivers/dma/ste_dma40.c
1790
if (phy->allocated_src == D40_ALLOC_FREE)
drivers/dma/ste_dma40.c
1791
phy->allocated_src = D40_ALLOC_LOG_FREE;
drivers/dma/ste_dma40.c
1793
if (!(phy->allocated_src & BIT(log_event_line))) {
drivers/dma/ste_dma40.c
1794
phy->allocated_src |= BIT(log_event_line);
drivers/dma/ste_dma40.c
1799
if (phy->allocated_dst == D40_ALLOC_PHY)
drivers/dma/ste_dma40.c
1802
if (phy->allocated_dst == D40_ALLOC_FREE)
drivers/dma/ste_dma40.c
1803
phy->allocated_dst = D40_ALLOC_LOG_FREE;
drivers/dma/ste_dma40.c
1805
if (!(phy->allocated_dst & BIT(log_event_line))) {
drivers/dma/ste_dma40.c
1806
phy->allocated_dst |= BIT(log_event_line);
drivers/dma/ste_dma40.c
1811
spin_unlock_irqrestore(&phy->lock, flags);
drivers/dma/ste_dma40.c
1814
spin_unlock_irqrestore(&phy->lock, flags);
drivers/dma/ste_dma40.c
1818
static bool d40_alloc_mask_free(struct d40_phy_res *phy, bool is_src,
drivers/dma/ste_dma40.c
1824
spin_lock_irqsave(&phy->lock, flags);
drivers/dma/ste_dma40.c
1826
phy->allocated_dst = D40_ALLOC_FREE;
drivers/dma/ste_dma40.c
1827
phy->allocated_src = D40_ALLOC_FREE;
drivers/dma/ste_dma40.c
1834
phy->allocated_src &= ~BIT(log_event_line);
drivers/dma/ste_dma40.c
1835
if (phy->allocated_src == D40_ALLOC_LOG_FREE)
drivers/dma/ste_dma40.c
1836
phy->allocated_src = D40_ALLOC_FREE;
drivers/dma/ste_dma40.c
1838
phy->allocated_dst &= ~BIT(log_event_line);
drivers/dma/ste_dma40.c
1839
if (phy->allocated_dst == D40_ALLOC_LOG_FREE)
drivers/dma/ste_dma40.c
1840
phy->allocated_dst = D40_ALLOC_FREE;
drivers/dma/ste_dma40.c
1843
is_free = ((phy->allocated_src | phy->allocated_dst) ==
drivers/dma/ste_dma40.c
1846
spin_unlock_irqrestore(&phy->lock, flags);
drivers/dma/ste_dma40.c
2013
struct d40_phy_res *phy = d40c->phy_chan;
drivers/dma/ste_dma40.c
2019
if (phy == NULL) {
drivers/dma/ste_dma40.c
2024
if (phy->allocated_src == D40_ALLOC_FREE &&
drivers/dma/ste_dma40.c
2025
phy->allocated_dst == D40_ALLOC_FREE) {
drivers/dma/ste_dma40.c
2047
d40_alloc_mask_free(phy, is_src, chan_is_logical(d40c) ? event : 0);
drivers/dma/ste_dma40.c
2052
d40c->base->lookup_phy_chans[phy->num] = NULL;
drivers/dma/sun6i-dma.c
1026
if (!vchan->phy && list_empty(&vchan->node)) {
drivers/dma/sun6i-dma.c
190
struct sun6i_pchan *phy;
drivers/dma/sun6i-dma.c
439
struct sun6i_pchan *pchan = vchan->phy;
drivers/dma/sun6i-dma.c
489
pchan = vchan->phy;
drivers/dma/sun6i-dma.c
500
vchan->phy = NULL;
drivers/dma/sun6i-dma.c
523
vchan->phy = pchan;
drivers/dma/sun6i-dma.c
893
struct sun6i_pchan *pchan = vchan->phy;
drivers/dma/sun6i-dma.c
913
struct sun6i_pchan *pchan = vchan->phy;
drivers/dma/sun6i-dma.c
938
struct sun6i_pchan *pchan = vchan->phy;
drivers/dma/sun6i-dma.c
964
vchan->phy = NULL;
drivers/dma/sun6i-dma.c
982
struct sun6i_pchan *pchan = vchan->phy;
drivers/edac/amd64_edac.c
3520
u8 phy = ((m->ipid >> 12) & 0xf);
drivers/edac/amd64_edac.c
3522
err->channel = ch % 2 ? phy + 4 : phy;
drivers/edac/amd64_edac.c
3523
err->csrow = phy;
drivers/gpio/gpio-stp-xway.c
235
u32 shadow, groups, dsl, phy;
drivers/gpio/gpio-stp-xway.c
278
if (!of_property_read_u32(pdev->dev.of_node, "lantiq,phy1", &phy))
drivers/gpio/gpio-stp-xway.c
279
chip->phy1 = phy & XWAY_STP_PHY_MASK;
drivers/gpio/gpio-stp-xway.c
280
if (!of_property_read_u32(pdev->dev.of_node, "lantiq,phy2", &phy))
drivers/gpio/gpio-stp-xway.c
281
chip->phy2 = phy & XWAY_STP_PHY_MASK;
drivers/gpio/gpio-stp-xway.c
286
if (!of_property_read_u32(pdev->dev.of_node, "lantiq,phy3", &phy))
drivers/gpio/gpio-stp-xway.c
287
chip->phy3 = phy & XWAY_STP_PHY_MASK;
drivers/gpio/gpio-stp-xway.c
291
if (!of_property_read_u32(pdev->dev.of_node, "lantiq,phy4", &phy))
drivers/gpio/gpio-stp-xway.c
292
chip->phy4 = phy & XWAY_STP_PHY_MASK;
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
1494
dp->phy = devm_phy_get(dp->dev, "dp");
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
1495
if (IS_ERR(dp->phy)) {
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
1497
ret = PTR_ERR(dp->phy);
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
1504
dp->phy = NULL;
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
1580
phy_power_off(dp->phy);
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
1604
phy_set_mode(dp->phy, PHY_MODE_DP);
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
1605
phy_power_on(dp->phy);
drivers/gpu/drm/bridge/analogix/analogix_dp_core.h
166
struct phy *phy;
drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c
523
if (dp->phy) {
drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c
529
ret = phy_configure(dp->phy, &phy_cfg);
drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c
553
if (dp->phy) {
drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c
558
ret = phy_configure(dp->phy, &phy_cfg);
drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c
583
if (dp->phy) {
drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c
599
ret = phy_configure(dp->phy, &phy_cfg);
drivers/gpu/drm/bridge/cadence/cdns-dsi-core.h
79
struct phy *dphy;
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
1007
ret = phy_configure(mhdp->phy, &phy_cfg);
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
1128
ret = phy_configure(mhdp->phy, &phy_cfg);
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
1306
mhdp->host.lanes_cnt = mhdp->phy->attrs.bus_width;
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
1310
link_rate = mhdp->phy->attrs.max_link_rate;
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
2431
mhdp->phy = devm_of_phy_get_by_index(dev, pdev->dev.of_node, 0);
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
2432
if (IS_ERR(mhdp->phy)) {
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
2434
return PTR_ERR(mhdp->phy);
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
2492
ret = phy_init(mhdp->phy);
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
2517
phy_exit(mhdp->phy);
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
2553
phy_exit(mhdp->phy);
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
839
ret = phy_configure(mhdp->phy, &phy_cfg);
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.h
24
struct phy;
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.h
361
struct phy *phy;
drivers/gpu/drm/bridge/imx/imx8qm-ldb.c
101
ret = phy_validate(imx8qm_ldb_ch->phy, PHY_MODE_LVDS, 0, &opts);
drivers/gpu/drm/bridge/imx/imx8qm-ldb.c
113
ret = phy_validate(imx8qm_ldb_ch->phy, PHY_MODE_LVDS, 0, &opts);
drivers/gpu/drm/bridge/imx/imx8qm-ldb.c
147
ret = phy_init(imx8qm_ldb_ch->phy);
drivers/gpu/drm/bridge/imx/imx8qm-ldb.c
155
ret = phy_configure(imx8qm_ldb_ch->phy, &opts);
drivers/gpu/drm/bridge/imx/imx8qm-ldb.c
164
ret = phy_configure(imx8qm_ldb_ch->phy, &opts);
drivers/gpu/drm/bridge/imx/imx8qm-ldb.c
229
ret = phy_power_on(imx8qm_ldb->channel[0]->phy);
drivers/gpu/drm/bridge/imx/imx8qm-ldb.c
235
ret = phy_power_on(imx8qm_ldb->channel[1]->phy);
drivers/gpu/drm/bridge/imx/imx8qm-ldb.c
241
ret = phy_power_on(imx8qm_ldb_ch->phy);
drivers/gpu/drm/bridge/imx/imx8qm-ldb.c
264
ret = phy_power_off(imx8qm_ldb->channel[0]->phy);
drivers/gpu/drm/bridge/imx/imx8qm-ldb.c
269
ret = phy_power_off(imx8qm_ldb->channel[1]->phy);
drivers/gpu/drm/bridge/imx/imx8qm-ldb.c
275
ret = phy_power_off(imx8qm_ldb_ch->phy);
drivers/gpu/drm/bridge/imx/imx8qm-ldb.c
419
imx8qm_ldb_ch->phy = devm_of_phy_get(dev, ldb_ch->np,
drivers/gpu/drm/bridge/imx/imx8qm-ldb.c
421
if (IS_ERR(imx8qm_ldb_ch->phy)) {
drivers/gpu/drm/bridge/imx/imx8qm-ldb.c
422
ret = PTR_ERR(imx8qm_ldb_ch->phy);
drivers/gpu/drm/bridge/imx/imx8qm-ldb.c
44
struct phy *phy;
drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c
118
ret = phy_validate(imx8qxp_ldb_ch->phy, PHY_MODE_LVDS, 0, &opts);
drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c
159
ret = phy_init(imx8qxp_ldb_ch->phy);
drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c
163
ret = phy_set_mode(imx8qxp_ldb_ch->phy, PHY_MODE_LVDS);
drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c
178
ret = phy_configure(imx8qxp_ldb_ch->phy, &opts);
drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c
260
ret = phy_power_on(imx8qxp_ldb_ch->phy);
drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c
281
ret = phy_power_off(imx8qxp_ldb_ch->phy);
drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c
285
ret = phy_exit(imx8qxp_ldb_ch->phy);
drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c
40
struct phy *phy;
drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c
658
imx8qxp_ldb_ch->phy = devm_of_phy_get(dev, ldb_ch->np, "lvds_phy");
drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c
659
if (IS_ERR(imx8qxp_ldb_ch->phy)) {
drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c
660
ret = PTR_ERR(imx8qxp_ldb_ch->phy);
drivers/gpu/drm/bridge/nwl-dsi.c
663
ret = phy_init(dsi->phy);
drivers/gpu/drm/bridge/nwl-dsi.c
669
ret = phy_set_mode(dsi->phy, PHY_MODE_MIPI_DPHY);
drivers/gpu/drm/bridge/nwl-dsi.c
675
ret = phy_configure(dsi->phy, phy_cfg);
drivers/gpu/drm/bridge/nwl-dsi.c
70
struct phy *phy;
drivers/gpu/drm/bridge/nwl-dsi.c
702
ret = phy_power_on(dsi->phy);
drivers/gpu/drm/bridge/nwl-dsi.c
715
phy_power_off(dsi->phy);
drivers/gpu/drm/bridge/nwl-dsi.c
719
phy_exit(dsi->phy);
drivers/gpu/drm/bridge/nwl-dsi.c
730
phy_power_off(dsi->phy);
drivers/gpu/drm/bridge/nwl-dsi.c
731
phy_exit(dsi->phy);
drivers/gpu/drm/bridge/nwl-dsi.c
980
dsi->phy = devm_phy_get(dsi->dev, "dphy");
drivers/gpu/drm/bridge/nwl-dsi.c
981
if (IS_ERR(dsi->phy)) {
drivers/gpu/drm/bridge/nwl-dsi.c
982
ret = PTR_ERR(dsi->phy);
drivers/gpu/drm/bridge/samsung-dsim.c
2175
dsi->phy = devm_phy_optional_get(dev, "dsim");
drivers/gpu/drm/bridge/samsung-dsim.c
2176
if (IS_ERR(dsi->phy)) {
drivers/gpu/drm/bridge/samsung-dsim.c
2178
return PTR_ERR(dsi->phy);
drivers/gpu/drm/bridge/samsung-dsim.c
2255
phy_power_off(dsi->phy);
drivers/gpu/drm/bridge/samsung-dsim.c
2282
ret = phy_power_on(dsi->phy);
drivers/gpu/drm/bridge/synopsys/dw-dp.c
1628
phy_power_off(dp->phy);
drivers/gpu/drm/bridge/synopsys/dw-dp.c
1638
ret = phy_power_on(dp->phy);
drivers/gpu/drm/bridge/synopsys/dw-dp.c
1719
ret = phy_power_on(dp->phy);
drivers/gpu/drm/bridge/synopsys/dw-dp.c
1723
phy_power_off(dp->phy);
drivers/gpu/drm/bridge/synopsys/dw-dp.c
1749
ret = phy_power_on(dp->phy);
drivers/gpu/drm/bridge/synopsys/dw-dp.c
1755
phy_power_off(dp->phy);
drivers/gpu/drm/bridge/synopsys/dw-dp.c
1966
phy_exit(dp->phy);
drivers/gpu/drm/bridge/synopsys/dw-dp.c
2005
dp->phy = devm_of_phy_get(dev, dev->of_node, NULL);
drivers/gpu/drm/bridge/synopsys/dw-dp.c
2006
if (IS_ERR(dp->phy)) {
drivers/gpu/drm/bridge/synopsys/dw-dp.c
2007
dev_err_probe(dev, PTR_ERR(dp->phy), "failed to get phy\n");
drivers/gpu/drm/bridge/synopsys/dw-dp.c
2008
return ERR_CAST(dp->phy);
drivers/gpu/drm/bridge/synopsys/dw-dp.c
2074
ret = phy_init(dp->phy);
drivers/gpu/drm/bridge/synopsys/dw-dp.c
312
struct phy *phy;
drivers/gpu/drm/bridge/synopsys/dw-dp.c
539
dp->phy->attrs.max_link_rate * 100),
drivers/gpu/drm/bridge/synopsys/dw-dp.c
541
link->lanes = min_t(u8, phy_get_bus_width(dp->phy),
drivers/gpu/drm/bridge/synopsys/dw-dp.c
576
ret = phy_configure(dp->phy, &phy_cfg);
drivers/gpu/drm/bridge/synopsys/dw-dp.c
612
ret = phy_configure(dp->phy, &phy_cfg);
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
1285
if (hdmi->phy.ops->setup_hpd)
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
1286
hdmi->phy.ops->setup_hpd(hdmi, hdmi->phy.data);
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
1321
hdmi->phy.ops = plat_data->phy_ops;
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
1322
hdmi->phy.data = plat_data->phy_data;
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
163
} phy;
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
892
hdmi->phy.ops->init(hdmi, hdmi->phy.data);
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
907
hdmi->phy.ops->disable(hdmi, hdmi->phy.data);
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c
924
return hdmi->phy.ops->read_hpd(hdmi, hdmi->phy.data);
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
1512
const struct dw_hdmi_phy_data *phy = hdmi->phy.data;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
1516
if (phy->gen == 1) {
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
1546
const struct dw_hdmi_phy_data *phy = hdmi->phy.data;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
155
} phy;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
1550
if (phy->gen == 1) {
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
1640
const struct dw_hdmi_phy_data *phy = hdmi->phy.data;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
1651
if (phy->has_svsret)
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
1664
ret = phy->configure(hdmi, pdata, mpixelclock);
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
2306
ret = hdmi->phy.ops->init(hdmi, hdmi->phy.data,
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
2311
hdmi->phy.enabled = true;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
2410
if (hdmi->phy.enabled) {
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
2411
hdmi->phy.ops->disable(hdmi, hdmi->phy.data);
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
2412
hdmi->phy.enabled = false;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
2454
if (hdmi->phy.ops->update_hpd)
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
2455
hdmi->phy.ops->update_hpd(hdmi, hdmi->phy.data,
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
2464
result = hdmi->phy.ops->read_hpd(hdmi, hdmi->phy.data);
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
3222
hdmi->phy.ops = hdmi->plat_data->phy_ops;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
3223
hdmi->phy.data = hdmi->plat_data->phy_data;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
3224
hdmi->phy.name = hdmi->plat_data->phy_name;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
3231
hdmi->phy.ops = &dw_hdmi_synopsys_phy_ops;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
3232
hdmi->phy.name = dw_hdmi_phys[i].name;
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
3233
hdmi->phy.data = (void *)&dw_hdmi_phys[i];
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
3238
hdmi->phy.name);
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
3298
if (hdmi->phy.ops->setup_hpd)
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
3299
hdmi->phy.ops->setup_hpd(hdmi, hdmi->phy.data);
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
3467
hdmi->phy.name);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
122
static u32 dsi_calc_phy_rate(u32 req_kHz, struct mipi_phy_params *phy)
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
152
phy->pll_vco_750M = dphy_range_info[i].pll_vco_750M;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
153
phy->hstx_ckg_sel = dphy_range_info[i].hstx_ckg_sel;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
155
if (phy->hstx_ckg_sel <= 7 &&
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
156
phy->hstx_ckg_sel >= 4)
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
157
q_pll = 0x10 >> (7 - phy->hstx_ckg_sel);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
191
phy->pll_fbd_p = 0;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
192
phy->pll_pre_div1p = 1;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
194
phy->pll_fbd_p = n_pll;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
195
phy->pll_pre_div1p = 0;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
198
if (phy->pll_fbd_2p <= 7 && phy->pll_fbd_2p >= 4)
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
199
r_pll = 0x10 >> (7 - phy->pll_fbd_2p);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
202
phy->pll_pre_p = 0;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
203
phy->pll_fbd_s = 0;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
204
phy->pll_fbd_div1f = 0;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
205
phy->pll_fbd_div5f = 1;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
207
phy->pll_pre_p = m_pll / (2 * r_pll);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
208
phy->pll_fbd_s = 0;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
209
phy->pll_fbd_div1f = 1;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
210
phy->pll_fbd_div5f = 0;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
213
phy->pll_pre_p =
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
215
phy->pll_fbd_s =
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
218
phy->pll_pre_p =
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
220
phy->pll_fbd_s =
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
223
phy->pll_fbd_div1f = 0;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
224
phy->pll_fbd_div5f = 0;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
226
phy->pll_pre_p = 0;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
227
phy->pll_fbd_s = 0;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
228
phy->pll_fbd_div1f = 0;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
229
phy->pll_fbd_div5f = 1;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
245
struct mipi_phy_params *phy)
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
251
memset(phy, 0, sizeof(*phy));
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
253
phy_rate_kHz = dsi_calc_phy_rate(phy_req_kHz, phy);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
259
phy->clk_t_lpx = ROUND(50, 8 * ui);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
260
phy->clk_t_hs_prepare = ROUND(133, 16 * ui) - 1;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
262
phy->clk_t_hs_zero = ROUND(262, 8 * ui);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
263
phy->clk_t_hs_trial = 2 * (ROUND(60, 8 * ui) - 1);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
264
phy->clk_t_wakeup = ROUND(1000000, (ref_clk_ps / 1000) - 1);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
265
if (phy->clk_t_wakeup > 0xff)
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
266
phy->clk_t_wakeup = 0xff;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
267
phy->data_t_wakeup = phy->clk_t_wakeup;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
268
phy->data_t_lpx = phy->clk_t_lpx;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
269
phy->data_t_hs_prepare = ROUND(125 + 10 * ui, 16 * ui) - 1;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
270
phy->data_t_hs_zero = ROUND(105 + 6 * ui, 8 * ui);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
271
phy->data_t_hs_trial = 2 * (ROUND(60 + 4 * ui, 8 * ui) - 1);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
272
phy->data_t_ta_go = 3;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
273
phy->data_t_ta_get = 4;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
275
phy->pll_enbwt = 1;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
276
phy->clklp2hs_time = ROUND(407, 8 * ui) + 12;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
277
phy->clkhs2lp_time = ROUND(105 + 12 * ui, 8 * ui);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
278
phy->lp2hs_time = ROUND(240 + 12 * ui, 8 * ui) + 1;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
279
phy->hs2lp_time = phy->clkhs2lp_time;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
280
phy->clk_to_data_delay = 1 + phy->clklp2hs_time;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
281
phy->data_to_clk_delay = ROUND(60 + 52 * ui, 8 * ui) +
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
282
phy->clkhs2lp_time;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
284
phy->lane_byte_clk_kHz = phy_rate_kHz / 8;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
285
phy->clk_division =
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
286
DIV_ROUND_UP(phy->lane_byte_clk_kHz, MAX_TX_ESC_CLK);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
331
struct mipi_phy_params *phy,
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
345
val = readl(base + CLKMGR_CFG) | phy->clk_division;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
351
dw_update_bits(base + PHY_TMR_CFG, 24, MASK(8), phy->hs2lp_time);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
352
dw_update_bits(base + PHY_TMR_CFG, 16, MASK(8), phy->lp2hs_time);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
354
phy->clkhs2lp_time);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
356
phy->clklp2hs_time);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
358
phy->data_to_clk_delay);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
360
phy->clk_to_data_delay);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
364
struct mipi_phy_params *phy,
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
372
dsi_set_phy_timer(base, phy, lanes);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
386
dsi_phy_tst_set(base, CLK_TLPX, phy->clk_t_lpx);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
387
dsi_phy_tst_set(base, CLK_THS_PREPARE, phy->clk_t_hs_prepare);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
388
dsi_phy_tst_set(base, CLK_THS_ZERO, phy->clk_t_hs_zero);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
389
dsi_phy_tst_set(base, CLK_THS_TRAIL, phy->clk_t_hs_trial);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
390
dsi_phy_tst_set(base, CLK_TWAKEUP, phy->clk_t_wakeup);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
397
dsi_phy_tst_set(base, DATA_TLPX(i), phy->data_t_lpx);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
399
phy->data_t_hs_prepare);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
400
dsi_phy_tst_set(base, DATA_THS_ZERO(i), phy->data_t_hs_zero);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
401
dsi_phy_tst_set(base, DATA_THS_TRAIL(i), phy->data_t_hs_trial);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
402
dsi_phy_tst_set(base, DATA_TTA_GO(i), phy->data_t_ta_go);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
403
dsi_phy_tst_set(base, DATA_TTA_GET(i), phy->data_t_ta_get);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
404
dsi_phy_tst_set(base, DATA_TWAKEUP(i), phy->data_t_wakeup);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
411
dsi_phy_tst_set(base, PHY_CFG_I, phy->hstx_ckg_sel);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
412
val = (phy->pll_fbd_div5f << 5) + (phy->pll_fbd_div1f << 4) +
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
413
(phy->pll_fbd_2p << 1) + phy->pll_enbwt;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
415
dsi_phy_tst_set(base, PHY_CFG_PLL_II, phy->pll_fbd_p);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
416
dsi_phy_tst_set(base, PHY_CFG_PLL_III, phy->pll_fbd_s);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
417
val = (phy->pll_pre_div1p << 7) + phy->pll_pre_p;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
419
val = (5 << 5) + (phy->pll_vco_750M << 4) + (phy->pll_lpf_rs << 2) +
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
420
phy->pll_lpf_cs;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
540
struct mipi_phy_params *phy = &dsi->phy;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
550
dsi_get_phy_params(dphy_req_kHz, phy);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
556
dsi_set_mipi_phy(base, phy, dsi->lanes);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
559
dsi_set_mode_timing(base, phy->lane_byte_clk_kHz, mode, dsi->format);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
568
dsi->lanes, mode->clock, phy->lane_byte_clk_kHz);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
613
struct mipi_phy_params phy;
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
618
memset(&phy, 0, sizeof(phy));
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
620
act_kHz = dsi_calc_phy_rate(req_kHz, &phy);
drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
89
struct mipi_phy_params phy;
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
106
#define BXT_PORT_CL1CM_DW0(phy) _BXT_PHY((phy), _PORT_CL1CM_DW0_BC)
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
112
#define BXT_PORT_CL1CM_DW9(phy) _BXT_PHY((phy), _PORT_CL1CM_DW9_BC)
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
118
#define BXT_PORT_CL1CM_DW10(phy) _BXT_PHY((phy), _PORT_CL1CM_DW10_BC)
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
125
#define BXT_PORT_CL1CM_DW28(phy) _BXT_PHY((phy), _PORT_CL1CM_DW28_BC)
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
130
#define BXT_PORT_CL1CM_DW30(phy) _BXT_PHY((phy), _PORT_CL1CM_DW30_BC)
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
137
#define BXT_PORT_CL2CM_DW6(phy) _BXT_PHY((phy), _PORT_CL2CM_DW6_BC)
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
144
#define BXT_PORT_REF_DW3(phy) _BXT_PHY((phy), _PORT_REF_DW3_BC)
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
15
#define BXT_PHY_BASE(phy) \
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
156
#define BXT_PORT_REF_DW6(phy) _BXT_PHY((phy), _PORT_REF_DW6_BC)
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
16
_PICK_EVEN_2RANGES(phy, 1, \
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
162
#define BXT_PORT_REF_DW8(phy) _BXT_PHY((phy), _PORT_REF_DW8_BC)
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
171
#define BXT_PORT_PCS_DW10_LN01(phy, ch) _MMIO_BXT_PHY_CH(phy, ch, \
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
174
#define BXT_PORT_PCS_DW10_GRP(phy, ch) _MMIO_BXT_PHY_CH(phy, ch, \
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
192
#define BXT_PORT_PCS_DW12_LN01(phy, ch) _MMIO_BXT_PHY_CH(phy, ch, \
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
195
#define BXT_PORT_PCS_DW12_LN23(phy, ch) _MMIO_BXT_PHY_CH(phy, ch, \
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
198
#define BXT_PORT_PCS_DW12_GRP(phy, ch) _MMIO_BXT_PHY_CH(phy, ch, \
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
20
#define _BXT_PHY(phy, reg) \
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
209
#define BXT_PORT_TX_DW2_LN(phy, ch, lane) _MMIO_BXT_PHY_CH_LN(phy, ch, lane, \
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
21
_MMIO(BXT_PHY_BASE(phy) - _BXT_PHY0_BASE + (reg))
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
212
#define BXT_PORT_TX_DW2_GRP(phy, ch) _MMIO_BXT_PHY_CH(phy, ch, \
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
226
#define BXT_PORT_TX_DW3_LN(phy, ch, lane) _MMIO_BXT_PHY_CH_LN(phy, ch, lane, \
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
229
#define BXT_PORT_TX_DW3_GRP(phy, ch) _MMIO_BXT_PHY_CH(phy, ch, \
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
23
#define _BXT_PHY_CH(phy, ch, reg_ch0, reg_ch1) \
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
24
(BXT_PHY_BASE(phy) + _PIPE((ch), (reg_ch0) - _BXT_PHY0_BASE, \
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
241
#define BXT_PORT_TX_DW4_LN(phy, ch, lane) _MMIO_BXT_PHY_CH_LN(phy, ch, lane, \
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
244
#define BXT_PORT_TX_DW4_GRP(phy, ch) _MMIO_BXT_PHY_CH(phy, ch, \
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
256
#define BXT_PORT_TX_DW5_LN(phy, ch, lane) _MMIO_BXT_PHY_CH_LN(phy, ch, lane, \
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
259
#define BXT_PORT_TX_DW5_GRP(phy, ch) _MMIO_BXT_PHY_CH(phy, ch, \
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
26
#define _MMIO_BXT_PHY_CH(phy, ch, reg_ch0, reg_ch1) \
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
269
#define BXT_PORT_TX_DW14_LN(phy, ch, lane) _MMIO_BXT_PHY_CH_LN(phy, ch, lane, \
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
27
_MMIO(_BXT_PHY_CH(phy, ch, reg_ch0, reg_ch1))
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
30
#define _MMIO_BXT_PHY_CH_LN(phy, ch, lane, reg_ch0, reg_ch1) \
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
31
_MMIO(_BXT_PHY_CH(phy, ch, reg_ch0, reg_ch1) + _BXT_LANE_OFFSET(lane))
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
51
#define BXT_PORT_PLL_EBB_0(phy, ch) _MMIO_BXT_PHY_CH(phy, ch, \
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
60
#define BXT_PORT_PLL_EBB_4(phy, ch) _MMIO_BXT_PHY_CH(phy, ch, \
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
95
#define _PORT_PLL_BASE(phy, ch) _BXT_PHY_CH(phy, ch, \
drivers/gpu/drm/i915/display/bxt_dpio_phy_regs.h
98
#define BXT_PORT_PLL(phy, ch, idx) _MMIO(_PORT_PLL_BASE(phy, ch) + \
drivers/gpu/drm/i915/display/icl_dsi.c
254
enum phy phy;
drivers/gpu/drm/i915/display/icl_dsi.c
258
for_each_dsi_phy(phy, intel_dsi->phys) {
drivers/gpu/drm/i915/display/icl_dsi.c
266
tmp = intel_de_read(display, ICL_PORT_TX_DW5_LN(0, phy));
drivers/gpu/drm/i915/display/icl_dsi.c
269
intel_de_write(display, ICL_PORT_TX_DW5_GRP(phy), tmp);
drivers/gpu/drm/i915/display/icl_dsi.c
270
intel_de_rmw(display, ICL_PORT_TX_DW5_AUX(phy), mask, val);
drivers/gpu/drm/i915/display/icl_dsi.c
276
tmp = intel_de_read(display, ICL_PORT_TX_DW2_LN(0, phy));
drivers/gpu/drm/i915/display/icl_dsi.c
279
intel_de_write(display, ICL_PORT_TX_DW2_GRP(phy), tmp);
drivers/gpu/drm/i915/display/icl_dsi.c
280
intel_de_rmw(display, ICL_PORT_TX_DW2_AUX(phy), mask, val);
drivers/gpu/drm/i915/display/icl_dsi.c
286
intel_de_rmw(display, ICL_PORT_TX_DW4_AUX(phy), mask, val);
drivers/gpu/drm/i915/display/icl_dsi.c
290
intel_de_rmw(display, ICL_PORT_TX_DW4_LN(lane, phy),
drivers/gpu/drm/i915/display/icl_dsi.c
433
enum phy phy;
drivers/gpu/drm/i915/display/icl_dsi.c
435
for_each_dsi_phy(phy, intel_dsi->phys)
drivers/gpu/drm/i915/display/icl_dsi.c
436
intel_combo_phy_power_up_lanes(display, phy, true,
drivers/gpu/drm/i915/display/icl_dsi.c
444
enum phy phy;
drivers/gpu/drm/i915/display/icl_dsi.c
449
for_each_dsi_phy(phy, intel_dsi->phys) {
drivers/gpu/drm/i915/display/icl_dsi.c
450
intel_de_rmw(display, ICL_PORT_TX_DW4_AUX(phy),
drivers/gpu/drm/i915/display/icl_dsi.c
453
intel_de_rmw(display, ICL_PORT_TX_DW4_LN(lane, phy),
drivers/gpu/drm/i915/display/icl_dsi.c
458
for_each_dsi_phy(phy, intel_dsi->phys) {
drivers/gpu/drm/i915/display/icl_dsi.c
459
intel_de_rmw(display, ICL_PORT_TX_DW2_AUX(phy),
drivers/gpu/drm/i915/display/icl_dsi.c
461
tmp = intel_de_read(display, ICL_PORT_TX_DW2_LN(0, phy));
drivers/gpu/drm/i915/display/icl_dsi.c
464
intel_de_write(display, ICL_PORT_TX_DW2_GRP(phy), tmp);
drivers/gpu/drm/i915/display/icl_dsi.c
469
intel_de_rmw(display, ICL_PORT_PCS_DW1_AUX(phy),
drivers/gpu/drm/i915/display/icl_dsi.c
473
ICL_PORT_PCS_DW1_LN(0, phy));
drivers/gpu/drm/i915/display/icl_dsi.c
476
intel_de_write(display, ICL_PORT_PCS_DW1_GRP(phy),
drivers/gpu/drm/i915/display/icl_dsi.c
488
enum phy phy;
drivers/gpu/drm/i915/display/icl_dsi.c
491
for_each_dsi_phy(phy, intel_dsi->phys) {
drivers/gpu/drm/i915/display/icl_dsi.c
492
tmp = intel_de_read(display, ICL_PORT_PCS_DW1_LN(0, phy));
drivers/gpu/drm/i915/display/icl_dsi.c
494
intel_de_write(display, ICL_PORT_PCS_DW1_GRP(phy), tmp);
drivers/gpu/drm/i915/display/icl_dsi.c
495
intel_de_rmw(display, ICL_PORT_PCS_DW1_AUX(phy), COMMON_KEEPER_EN, 0);
drivers/gpu/drm/i915/display/icl_dsi.c
503
for_each_dsi_phy(phy, intel_dsi->phys)
drivers/gpu/drm/i915/display/icl_dsi.c
504
intel_de_rmw(display, ICL_PORT_CL_DW5(phy), 0,
drivers/gpu/drm/i915/display/icl_dsi.c
508
for_each_dsi_phy(phy, intel_dsi->phys) {
drivers/gpu/drm/i915/display/icl_dsi.c
509
tmp = intel_de_read(display, ICL_PORT_TX_DW5_LN(0, phy));
drivers/gpu/drm/i915/display/icl_dsi.c
511
intel_de_write(display, ICL_PORT_TX_DW5_GRP(phy), tmp);
drivers/gpu/drm/i915/display/icl_dsi.c
512
intel_de_rmw(display, ICL_PORT_TX_DW5_AUX(phy), TX_TRAINING_EN, 0);
drivers/gpu/drm/i915/display/icl_dsi.c
519
for_each_dsi_phy(phy, intel_dsi->phys) {
drivers/gpu/drm/i915/display/icl_dsi.c
520
tmp = intel_de_read(display, ICL_PORT_TX_DW5_LN(0, phy));
drivers/gpu/drm/i915/display/icl_dsi.c
522
intel_de_write(display, ICL_PORT_TX_DW5_GRP(phy), tmp);
drivers/gpu/drm/i915/display/icl_dsi.c
523
intel_de_rmw(display, ICL_PORT_TX_DW5_AUX(phy), 0, TX_TRAINING_EN);
drivers/gpu/drm/i915/display/icl_dsi.c
552
enum phy phy;
drivers/gpu/drm/i915/display/icl_dsi.c
580
for_each_dsi_phy(phy, intel_dsi->phys)
drivers/gpu/drm/i915/display/icl_dsi.c
581
intel_de_rmw(display, ICL_DPHY_CHKN(phy),
drivers/gpu/drm/i915/display/icl_dsi.c
626
enum phy phy;
drivers/gpu/drm/i915/display/icl_dsi.c
630
for_each_dsi_phy(phy, intel_dsi->phys)
drivers/gpu/drm/i915/display/icl_dsi.c
631
tmp |= ICL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy);
drivers/gpu/drm/i915/display/icl_dsi.c
642
enum phy phy;
drivers/gpu/drm/i915/display/icl_dsi.c
646
for_each_dsi_phy(phy, intel_dsi->phys)
drivers/gpu/drm/i915/display/icl_dsi.c
647
tmp &= ~ICL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy);
drivers/gpu/drm/i915/display/icl_dsi.c
658
enum phy phy;
drivers/gpu/drm/i915/display/icl_dsi.c
663
for_each_dsi_phy(phy, intel_dsi->phys) {
drivers/gpu/drm/i915/display/icl_dsi.c
664
if (!(tmp & ICL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy)))
drivers/gpu/drm/i915/display/icl_dsi.c
677
enum phy phy;
drivers/gpu/drm/i915/display/icl_dsi.c
683
for_each_dsi_phy(phy, intel_dsi->phys) {
drivers/gpu/drm/i915/display/icl_dsi.c
684
val &= ~ICL_DPCLKA_CFGCR0_DDI_CLK_SEL_MASK(phy);
drivers/gpu/drm/i915/display/icl_dsi.c
685
val |= ICL_DPCLKA_CFGCR0_DDI_CLK_SEL(pll->info->id, phy);
drivers/gpu/drm/i915/display/icl_dsi.c
689
for_each_dsi_phy(phy, intel_dsi->phys) {
drivers/gpu/drm/i915/display/icl_dsi.c
690
val &= ~ICL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy);
drivers/gpu/drm/i915/display/intel_bios.c
3002
enum phy phy = intel_port_to_phy(display, port);
drivers/gpu/drm/i915/display/intel_bios.c
3008
if (intel_phy_is_tc(display, phy))
drivers/gpu/drm/i915/display/intel_combo_phy.c
104
phy_name(phy),
drivers/gpu/drm/i915/display/intel_combo_phy.c
113
enum phy phy)
drivers/gpu/drm/i915/display/intel_combo_phy.c
118
procmon = icl_get_procmon_ref_values(display, phy);
drivers/gpu/drm/i915/display/intel_combo_phy.c
120
ret = check_phy_reg(display, phy, ICL_PORT_COMP_DW1(phy),
drivers/gpu/drm/i915/display/intel_combo_phy.c
122
ret &= check_phy_reg(display, phy, ICL_PORT_COMP_DW9(phy),
drivers/gpu/drm/i915/display/intel_combo_phy.c
124
ret &= check_phy_reg(display, phy, ICL_PORT_COMP_DW10(phy),
drivers/gpu/drm/i915/display/intel_combo_phy.c
130
static bool has_phy_misc(struct intel_display *display, enum phy phy)
drivers/gpu/drm/i915/display/intel_combo_phy.c
142
return phy == PHY_A;
drivers/gpu/drm/i915/display/intel_combo_phy.c
146
return phy < PHY_C;
drivers/gpu/drm/i915/display/intel_combo_phy.c
152
enum phy phy)
drivers/gpu/drm/i915/display/intel_combo_phy.c
155
if (!has_phy_misc(display, phy))
drivers/gpu/drm/i915/display/intel_combo_phy.c
156
return intel_de_read(display, ICL_PORT_COMP_DW0(phy)) & COMP_INIT;
drivers/gpu/drm/i915/display/intel_combo_phy.c
158
return !(intel_de_read(display, ICL_PHY_MISC(phy)) &
drivers/gpu/drm/i915/display/intel_combo_phy.c
160
(intel_de_read(display, ICL_PORT_COMP_DW0(phy)) & COMP_INIT);
drivers/gpu/drm/i915/display/intel_combo_phy.c
190
static bool phy_is_master(struct intel_display *display, enum phy phy)
drivers/gpu/drm/i915/display/intel_combo_phy.c
208
if (phy == PHY_A)
drivers/gpu/drm/i915/display/intel_combo_phy.c
211
return phy == PHY_D;
drivers/gpu/drm/i915/display/intel_combo_phy.c
213
return phy == PHY_C;
drivers/gpu/drm/i915/display/intel_combo_phy.c
219
enum phy phy)
drivers/gpu/drm/i915/display/intel_combo_phy.c
224
if (!icl_combo_phy_enabled(display, phy))
drivers/gpu/drm/i915/display/intel_combo_phy.c
228
ret &= check_phy_reg(display, phy, ICL_PORT_TX_DW8_LN(0, phy),
drivers/gpu/drm/i915/display/intel_combo_phy.c
234
ret &= check_phy_reg(display, phy, ICL_PORT_PCS_DW1_LN(0, phy),
drivers/gpu/drm/i915/display/intel_combo_phy.c
238
ret &= icl_verify_procmon_ref_values(display, phy);
drivers/gpu/drm/i915/display/intel_combo_phy.c
240
if (phy_is_master(display, phy)) {
drivers/gpu/drm/i915/display/intel_combo_phy.c
241
ret &= check_phy_reg(display, phy, ICL_PORT_COMP_DW8(phy),
drivers/gpu/drm/i915/display/intel_combo_phy.c
248
ret &= check_phy_reg(display, phy, ICL_PHY_MISC(phy),
drivers/gpu/drm/i915/display/intel_combo_phy.c
254
ret &= check_phy_reg(display, phy, ICL_PORT_CL_DW5(phy),
drivers/gpu/drm/i915/display/intel_combo_phy.c
261
enum phy phy, bool is_dsi,
drivers/gpu/drm/i915/display/intel_combo_phy.c
305
intel_de_rmw(display, ICL_PORT_CL_DW10(phy),
drivers/gpu/drm/i915/display/intel_combo_phy.c
311
enum phy phy;
drivers/gpu/drm/i915/display/intel_combo_phy.c
313
for_each_combo_phy(display, phy) {
drivers/gpu/drm/i915/display/intel_combo_phy.c
317
if (icl_combo_phy_verify_state(display, phy))
drivers/gpu/drm/i915/display/intel_combo_phy.c
320
procmon = icl_get_procmon_ref_values(display, phy);
drivers/gpu/drm/i915/display/intel_combo_phy.c
324
phy_name(phy), procmon->name);
drivers/gpu/drm/i915/display/intel_combo_phy.c
326
if (!has_phy_misc(display, phy))
drivers/gpu/drm/i915/display/intel_combo_phy.c
337
val = intel_de_read(display, ICL_PHY_MISC(phy));
drivers/gpu/drm/i915/display/intel_combo_phy.c
339
phy == PHY_A) {
drivers/gpu/drm/i915/display/intel_combo_phy.c
347
intel_de_write(display, ICL_PHY_MISC(phy), val);
drivers/gpu/drm/i915/display/intel_combo_phy.c
351
val = intel_de_read(display, ICL_PORT_TX_DW8_LN(0, phy));
drivers/gpu/drm/i915/display/intel_combo_phy.c
355
intel_de_write(display, ICL_PORT_TX_DW8_GRP(phy), val);
drivers/gpu/drm/i915/display/intel_combo_phy.c
357
val = intel_de_read(display, ICL_PORT_PCS_DW1_LN(0, phy));
drivers/gpu/drm/i915/display/intel_combo_phy.c
360
intel_de_write(display, ICL_PORT_PCS_DW1_GRP(phy), val);
drivers/gpu/drm/i915/display/intel_combo_phy.c
363
icl_set_procmon_ref_values(display, phy);
drivers/gpu/drm/i915/display/intel_combo_phy.c
365
if (phy_is_master(display, phy))
drivers/gpu/drm/i915/display/intel_combo_phy.c
366
intel_de_rmw(display, ICL_PORT_COMP_DW8(phy),
drivers/gpu/drm/i915/display/intel_combo_phy.c
369
intel_de_rmw(display, ICL_PORT_COMP_DW0(phy), 0, COMP_INIT);
drivers/gpu/drm/i915/display/intel_combo_phy.c
370
intel_de_rmw(display, ICL_PORT_CL_DW5(phy),
drivers/gpu/drm/i915/display/intel_combo_phy.c
377
enum phy phy;
drivers/gpu/drm/i915/display/intel_combo_phy.c
379
for_each_combo_phy_reverse(display, phy) {
drivers/gpu/drm/i915/display/intel_combo_phy.c
380
if (phy == PHY_A &&
drivers/gpu/drm/i915/display/intel_combo_phy.c
381
!icl_combo_phy_verify_state(display, phy)) {
drivers/gpu/drm/i915/display/intel_combo_phy.c
390
phy_name(phy));
drivers/gpu/drm/i915/display/intel_combo_phy.c
394
phy_name(phy));
drivers/gpu/drm/i915/display/intel_combo_phy.c
398
if (!has_phy_misc(display, phy))
drivers/gpu/drm/i915/display/intel_combo_phy.c
401
intel_de_rmw(display, ICL_PHY_MISC(phy), 0,
drivers/gpu/drm/i915/display/intel_combo_phy.c
405
intel_de_rmw(display, ICL_PORT_COMP_DW0(phy), COMP_INIT, 0);
drivers/gpu/drm/i915/display/intel_combo_phy.c
58
icl_get_procmon_ref_values(struct intel_display *display, enum phy phy)
drivers/gpu/drm/i915/display/intel_combo_phy.c
62
val = intel_de_read(display, ICL_PORT_COMP_DW3(phy));
drivers/gpu/drm/i915/display/intel_combo_phy.c
81
enum phy phy)
drivers/gpu/drm/i915/display/intel_combo_phy.c
85
procmon = icl_get_procmon_ref_values(display, phy);
drivers/gpu/drm/i915/display/intel_combo_phy.c
87
intel_de_rmw(display, ICL_PORT_COMP_DW1(phy),
drivers/gpu/drm/i915/display/intel_combo_phy.c
90
intel_de_write(display, ICL_PORT_COMP_DW9(phy), procmon->dw9);
drivers/gpu/drm/i915/display/intel_combo_phy.c
91
intel_de_write(display, ICL_PORT_COMP_DW10(phy), procmon->dw10);
drivers/gpu/drm/i915/display/intel_combo_phy.c
95
enum phy phy, i915_reg_t reg, u32 mask,
drivers/gpu/drm/i915/display/intel_combo_phy.h
11
enum phy;
drivers/gpu/drm/i915/display/intel_combo_phy.h
17
enum phy phy, bool is_dsi,
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
100
#define _ICL_PORT_TX_DW_AUX(dw, phy) (_ICL_COMBOPHY(phy) + \
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
102
#define _ICL_PORT_TX_DW_GRP(dw, phy) (_ICL_COMBOPHY(phy) + \
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
104
#define _ICL_PORT_TX_DW_LN(dw, ln, phy) (_ICL_COMBOPHY(phy) + \
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
107
#define ICL_PORT_TX_DW2_AUX(phy) _MMIO(_ICL_PORT_TX_DW_AUX(2, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
108
#define ICL_PORT_TX_DW2_GRP(phy) _MMIO(_ICL_PORT_TX_DW_GRP(2, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
109
#define ICL_PORT_TX_DW2_LN(ln, phy) _MMIO(_ICL_PORT_TX_DW_LN(2, ln, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
119
#define ICL_PORT_TX_DW4_AUX(phy) _MMIO(_ICL_PORT_TX_DW_AUX(4, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
120
#define ICL_PORT_TX_DW4_GRP(phy) _MMIO(_ICL_PORT_TX_DW_GRP(4, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
121
#define ICL_PORT_TX_DW4_LN(ln, phy) _MMIO(_ICL_PORT_TX_DW_LN(4, ln, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
130
#define ICL_PORT_TX_DW5_AUX(phy) _MMIO(_ICL_PORT_TX_DW_AUX(5, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
131
#define ICL_PORT_TX_DW5_GRP(phy) _MMIO(_ICL_PORT_TX_DW_GRP(5, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
132
#define ICL_PORT_TX_DW5_LN(ln, phy) _MMIO(_ICL_PORT_TX_DW_LN(5, ln, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
143
#define ICL_PORT_TX_DW6_AUX(phy) _MMIO(_ICL_PORT_TX_DW_AUX(6, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
144
#define ICL_PORT_TX_DW6_GRP(phy) _MMIO(_ICL_PORT_TX_DW_GRP(6, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
145
#define ICL_PORT_TX_DW6_LN(ln, phy) _MMIO(_ICL_PORT_TX_DW_LN(6, ln, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
150
#define ICL_PORT_TX_DW7_AUX(phy) _MMIO(_ICL_PORT_TX_DW_AUX(7, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
151
#define ICL_PORT_TX_DW7_GRP(phy) _MMIO(_ICL_PORT_TX_DW_GRP(7, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
152
#define ICL_PORT_TX_DW7_LN(ln, phy) _MMIO(_ICL_PORT_TX_DW_LN(7, ln, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
156
#define ICL_PORT_TX_DW8_AUX(phy) _MMIO(_ICL_PORT_TX_DW_AUX(8, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
157
#define ICL_PORT_TX_DW8_GRP(phy) _MMIO(_ICL_PORT_TX_DW_GRP(8, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
158
#define ICL_PORT_TX_DW8_LN(ln, phy) _MMIO(_ICL_PORT_TX_DW_LN(8, ln, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
17
#define _ICL_COMBOPHY(phy) _PICK(phy, _ICL_COMBOPHY_A, \
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
24
#define _ICL_PORT_CL_DW(dw, phy) (_ICL_COMBOPHY(phy) + \
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
27
#define ICL_PORT_CL_DW5(phy) _MMIO(_ICL_PORT_CL_DW(5, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
31
#define ICL_PORT_CL_DW10(phy) _MMIO(_ICL_PORT_CL_DW(10, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
46
#define ICL_PORT_CL_DW12(phy) _MMIO(_ICL_PORT_CL_DW(12, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
51
#define _ICL_PORT_COMP_DW(dw, phy) (_ICL_COMBOPHY(phy) + \
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
54
#define ICL_PORT_COMP_DW0(phy) _MMIO(_ICL_PORT_COMP_DW(0, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
57
#define ICL_PORT_COMP_DW1(phy) _MMIO(_ICL_PORT_COMP_DW(1, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
59
#define ICL_PORT_COMP_DW3(phy) _MMIO(_ICL_PORT_COMP_DW(3, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
69
#define ICL_PORT_COMP_DW8(phy) _MMIO(_ICL_PORT_COMP_DW(8, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
72
#define ICL_PORT_COMP_DW9(phy) _MMIO(_ICL_PORT_COMP_DW(9, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
74
#define ICL_PORT_COMP_DW10(phy) _MMIO(_ICL_PORT_COMP_DW(10, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
80
#define _ICL_PORT_PCS_DW_AUX(dw, phy) (_ICL_COMBOPHY(phy) + \
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
82
#define _ICL_PORT_PCS_DW_GRP(dw, phy) (_ICL_COMBOPHY(phy) + \
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
84
#define _ICL_PORT_PCS_DW_LN(dw, ln, phy) (_ICL_COMBOPHY(phy) + \
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
86
#define ICL_PORT_PCS_DW1_AUX(phy) _MMIO(_ICL_PORT_PCS_DW_AUX(1, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
87
#define ICL_PORT_PCS_DW1_GRP(phy) _MMIO(_ICL_PORT_PCS_DW_GRP(1, phy))
drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
88
#define ICL_PORT_PCS_DW1_LN(ln, phy) _MMIO(_ICL_PORT_PCS_DW_LN(1, ln, phy))
drivers/gpu/drm/i915/display/intel_cx0_phy.c
144
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_cx0_phy.c
154
phy_name(phy));
drivers/gpu/drm/i915/display/intel_cx0_phy.c
166
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_cx0_phy.c
174
phy_name(phy), *val);
drivers/gpu/drm/i915/display/intel_cx0_phy.c
180
phy_name(phy));
drivers/gpu/drm/i915/display/intel_cx0_phy.c
189
phy_name(phy),
drivers/gpu/drm/i915/display/intel_cx0_phy.c
198
phy_name(phy),
drivers/gpu/drm/i915/display/intel_cx0_phy.c
212
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_cx0_phy.c
220
"PHY %c Timeout waiting for previous transaction to complete. Reset the bus and retry.\n", phy_name(phy));
drivers/gpu/drm/i915/display/intel_cx0_phy.c
2253
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_cx0_phy.c
2285
phy_name(phy),
drivers/gpu/drm/i915/display/intel_cx0_phy.c
251
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_cx0_phy.c
266
phy_name(phy), addr, i);
drivers/gpu/drm/i915/display/intel_cx0_phy.c
283
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_cx0_phy.c
291
"PHY %c Timeout waiting for previous transaction to complete. Resetting the bus.\n", phy_name(phy));
drivers/gpu/drm/i915/display/intel_cx0_phy.c
3037
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_cx0_phy.c
3052
phy_name(phy));
drivers/gpu/drm/i915/display/intel_cx0_phy.c
3066
phy_name(phy));
drivers/gpu/drm/i915/display/intel_cx0_phy.c
307
"PHY %c Timeout waiting for write to complete. Resetting the bus.\n", phy_name(phy));
drivers/gpu/drm/i915/display/intel_cx0_phy.c
3111
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_cx0_phy.c
3127
phy_name(phy));
drivers/gpu/drm/i915/display/intel_cx0_phy.c
3137
phy_name(phy));
drivers/gpu/drm/i915/display/intel_cx0_phy.c
3149
phy_name(phy));
drivers/gpu/drm/i915/display/intel_cx0_phy.c
3162
phy_name(phy));
drivers/gpu/drm/i915/display/intel_cx0_phy.c
319
"PHY %c Error occurred during write command.\n", phy_name(phy));
drivers/gpu/drm/i915/display/intel_cx0_phy.c
3228
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_cx0_phy.c
3301
phy_name(phy));
drivers/gpu/drm/i915/display/intel_cx0_phy.c
3409
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_cx0_phy.c
341
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_cx0_phy.c
3446
encoder->base.base.id, encoder->base.name, phy_name(phy));
drivers/gpu/drm/i915/display/intel_cx0_phy.c
3532
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_cx0_phy.c
355
"PHY %c Write %04x failed after %d retries.\n", phy_name(phy), addr, i);
drivers/gpu/drm/i915/display/intel_cx0_phy.c
3563
phy_name(phy));
drivers/gpu/drm/i915/display/intel_cx0_phy.c
3592
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_cx0_phy.c
3609
encoder->base.base.id, encoder->base.name, phy_name(phy));
drivers/gpu/drm/i915/display/intel_cx0_phy.c
39
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_cx0_phy.c
43
return phy <= PHY_B;
drivers/gpu/drm/i915/display/intel_cx0_phy.c
45
return phy == PHY_A;
drivers/gpu/drm/i915/display/intel_cx0_phy.c
48
if ((display->platform.lunarlake || display->platform.meteorlake) && phy < PHY_C)
drivers/gpu/drm/i915/display/intel_ddi.c
1045
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_ddi.c
1052
val = TGL_TRANS_CLK_SEL_PORT(phy);
drivers/gpu/drm/i915/display/intel_ddi.c
1174
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_ddi.c
1187
intel_de_rmw(display, ICL_PORT_CL_DW10(phy), val,
drivers/gpu/drm/i915/display/intel_ddi.c
1192
val = intel_de_read(display, ICL_PORT_TX_DW5_LN(0, phy));
drivers/gpu/drm/i915/display/intel_ddi.c
1199
intel_de_write(display, ICL_PORT_TX_DW5_GRP(phy), val);
drivers/gpu/drm/i915/display/intel_ddi.c
1205
intel_de_rmw(display, ICL_PORT_TX_DW2_LN(ln, phy),
drivers/gpu/drm/i915/display/intel_ddi.c
1217
intel_de_rmw(display, ICL_PORT_TX_DW4_LN(ln, phy),
drivers/gpu/drm/i915/display/intel_ddi.c
1228
intel_de_rmw(display, ICL_PORT_TX_DW7_LN(ln, phy),
drivers/gpu/drm/i915/display/intel_ddi.c
1238
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_ddi.c
1247
val = intel_de_read(display, ICL_PORT_PCS_DW1_LN(0, phy));
drivers/gpu/drm/i915/display/intel_ddi.c
1252
intel_de_write(display, ICL_PORT_PCS_DW1_GRP(phy), val);
drivers/gpu/drm/i915/display/intel_ddi.c
1262
intel_de_rmw(display, ICL_PORT_TX_DW4_LN(ln, phy),
drivers/gpu/drm/i915/display/intel_ddi.c
1268
intel_de_rmw(display, ICL_PORT_CL_DW5(phy),
drivers/gpu/drm/i915/display/intel_ddi.c
1272
val = intel_de_read(display, ICL_PORT_TX_DW5_LN(0, phy));
drivers/gpu/drm/i915/display/intel_ddi.c
1274
intel_de_write(display, ICL_PORT_TX_DW5_GRP(phy), val);
drivers/gpu/drm/i915/display/intel_ddi.c
1280
val = intel_de_read(display, ICL_PORT_TX_DW5_LN(0, phy));
drivers/gpu/drm/i915/display/intel_ddi.c
1282
intel_de_write(display, ICL_PORT_TX_DW5_GRP(phy), val);
drivers/gpu/drm/i915/display/intel_ddi.c
1608
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_ddi.c
1613
_icl_ddi_enable_clock(display, ADLS_DPCLKA_CFGCR(phy),
drivers/gpu/drm/i915/display/intel_ddi.c
1614
ADLS_DPCLKA_CFGCR_DDI_CLK_SEL_MASK(phy),
drivers/gpu/drm/i915/display/intel_ddi.c
1615
pll->info->id << ADLS_DPCLKA_CFGCR_DDI_SHIFT(phy),
drivers/gpu/drm/i915/display/intel_ddi.c
1616
ICL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy));
drivers/gpu/drm/i915/display/intel_ddi.c
1622
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_ddi.c
1624
_icl_ddi_disable_clock(display, ADLS_DPCLKA_CFGCR(phy),
drivers/gpu/drm/i915/display/intel_ddi.c
1625
ICL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy));
drivers/gpu/drm/i915/display/intel_ddi.c
1631
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_ddi.c
1633
return _icl_ddi_is_clock_enabled(display, ADLS_DPCLKA_CFGCR(phy),
drivers/gpu/drm/i915/display/intel_ddi.c
1634
ICL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy));
drivers/gpu/drm/i915/display/intel_ddi.c
1640
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_ddi.c
1642
return _icl_ddi_get_pll(display, ADLS_DPCLKA_CFGCR(phy),
drivers/gpu/drm/i915/display/intel_ddi.c
1643
ADLS_DPCLKA_CFGCR_DDI_CLK_SEL_MASK(phy),
drivers/gpu/drm/i915/display/intel_ddi.c
1644
ADLS_DPCLKA_CFGCR_DDI_SHIFT(phy));
drivers/gpu/drm/i915/display/intel_ddi.c
1652
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_ddi.c
1658
RKL_DPCLKA_CFGCR0_DDI_CLK_SEL_MASK(phy),
drivers/gpu/drm/i915/display/intel_ddi.c
1659
RKL_DPCLKA_CFGCR0_DDI_CLK_SEL(pll->info->id, phy),
drivers/gpu/drm/i915/display/intel_ddi.c
1660
RKL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy));
drivers/gpu/drm/i915/display/intel_ddi.c
1666
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_ddi.c
1669
RKL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy));
drivers/gpu/drm/i915/display/intel_ddi.c
1675
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_ddi.c
1678
RKL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy));
drivers/gpu/drm/i915/display/intel_ddi.c
1684
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_ddi.c
1687
RKL_DPCLKA_CFGCR0_DDI_CLK_SEL_MASK(phy),
drivers/gpu/drm/i915/display/intel_ddi.c
1688
RKL_DPCLKA_CFGCR0_DDI_CLK_SEL_SHIFT(phy));
drivers/gpu/drm/i915/display/intel_ddi.c
1696
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_ddi.c
1706
(pll->info->id < DPLL_ID_DG1_DPLL2 && phy >= PHY_C) ||
drivers/gpu/drm/i915/display/intel_ddi.c
1707
(pll->info->id >= DPLL_ID_DG1_DPLL2 && phy < PHY_C)))
drivers/gpu/drm/i915/display/intel_ddi.c
1710
_icl_ddi_enable_clock(display, DG1_DPCLKA_CFGCR0(phy),
drivers/gpu/drm/i915/display/intel_ddi.c
1711
DG1_DPCLKA_CFGCR0_DDI_CLK_SEL_MASK(phy),
drivers/gpu/drm/i915/display/intel_ddi.c
1712
DG1_DPCLKA_CFGCR0_DDI_CLK_SEL(pll->info->id, phy),
drivers/gpu/drm/i915/display/intel_ddi.c
1713
DG1_DPCLKA_CFGCR0_DDI_CLK_OFF(phy));
drivers/gpu/drm/i915/display/intel_ddi.c
1719
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_ddi.c
1721
_icl_ddi_disable_clock(display, DG1_DPCLKA_CFGCR0(phy),
drivers/gpu/drm/i915/display/intel_ddi.c
1722
DG1_DPCLKA_CFGCR0_DDI_CLK_OFF(phy));
drivers/gpu/drm/i915/display/intel_ddi.c
1728
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_ddi.c
1730
return _icl_ddi_is_clock_enabled(display, DG1_DPCLKA_CFGCR0(phy),
drivers/gpu/drm/i915/display/intel_ddi.c
1731
DG1_DPCLKA_CFGCR0_DDI_CLK_OFF(phy));
drivers/gpu/drm/i915/display/intel_ddi.c
1737
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_ddi.c
1741
val = intel_de_read(display, DG1_DPCLKA_CFGCR0(phy));
drivers/gpu/drm/i915/display/intel_ddi.c
1742
val &= DG1_DPCLKA_CFGCR0_DDI_CLK_SEL_MASK(phy);
drivers/gpu/drm/i915/display/intel_ddi.c
1743
val >>= DG1_DPCLKA_CFGCR0_DDI_CLK_SEL_SHIFT(phy);
drivers/gpu/drm/i915/display/intel_ddi.c
1751
if (phy >= PHY_C)
drivers/gpu/drm/i915/display/intel_ddi.c
1762
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_ddi.c
1768
ICL_DPCLKA_CFGCR0_DDI_CLK_SEL_MASK(phy),
drivers/gpu/drm/i915/display/intel_ddi.c
1769
ICL_DPCLKA_CFGCR0_DDI_CLK_SEL(pll->info->id, phy),
drivers/gpu/drm/i915/display/intel_ddi.c
1770
ICL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy));
drivers/gpu/drm/i915/display/intel_ddi.c
1776
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_ddi.c
1779
ICL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy));
drivers/gpu/drm/i915/display/intel_ddi.c
1785
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_ddi.c
1788
ICL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy));
drivers/gpu/drm/i915/display/intel_ddi.c
1794
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_ddi.c
1797
ICL_DPCLKA_CFGCR0_DDI_CLK_SEL_MASK(phy),
drivers/gpu/drm/i915/display/intel_ddi.c
1798
ICL_DPCLKA_CFGCR0_DDI_CLK_SEL_SHIFT(phy));
drivers/gpu/drm/i915/display/intel_ddi.c
2474
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_ddi.c
2476
intel_combo_phy_power_up_lanes(display, phy, false,
drivers/gpu/drm/i915/display/intel_ddi.c
5143
enum port port, enum phy phy,
drivers/gpu/drm/i915/display/intel_ddi.c
5149
phy_name(phy));
drivers/gpu/drm/i915/display/intel_ddi.c
5157
tc_port != TC_PORT_NONE ? tc_port_name(tc_port) : phy_name(phy));
drivers/gpu/drm/i915/display/intel_ddi.c
5165
tc_port != TC_PORT_NONE ? tc_port_name(tc_port) : phy_name(phy));
drivers/gpu/drm/i915/display/intel_ddi.c
5167
seq_buf_printf(s, "DDI %c/PHY %c", port_name(port), phy_name(phy));
drivers/gpu/drm/i915/display/intel_ddi.c
5183
enum phy phy;
drivers/gpu/drm/i915/display/intel_ddi.c
5214
phy = intel_port_to_phy(display, port);
drivers/gpu/drm/i915/display/intel_ddi.c
5222
if (intel_hti_uses_phy(display, phy)) {
drivers/gpu/drm/i915/display/intel_ddi.c
5224
port_name(port), phy_name(phy));
drivers/gpu/drm/i915/display/intel_ddi.c
5251
if (intel_phy_is_snps(display, phy) &&
drivers/gpu/drm/i915/display/intel_ddi.c
5252
display->snps.phy_failed_calibration & BIT(phy)) {
drivers/gpu/drm/i915/display/intel_ddi.c
5255
phy_name(phy));
drivers/gpu/drm/i915/display/intel_ddi.c
5267
intel_ddi_encoder_name(display, port, phy, &encoder_name));
drivers/gpu/drm/i915/display/intel_display.c
1791
bool intel_phy_is_combo(struct intel_display *display, enum phy phy)
drivers/gpu/drm/i915/display/intel_display.c
1793
if (phy == PHY_NONE)
drivers/gpu/drm/i915/display/intel_display.c
1796
return phy <= PHY_E;
drivers/gpu/drm/i915/display/intel_display.c
1798
return phy <= PHY_D;
drivers/gpu/drm/i915/display/intel_display.c
1800
return phy <= PHY_C;
drivers/gpu/drm/i915/display/intel_display.c
1802
return phy <= PHY_B;
drivers/gpu/drm/i915/display/intel_display.c
1823
bool intel_phy_is_tc(struct intel_display *display, enum phy phy)
drivers/gpu/drm/i915/display/intel_display.c
1833
return phy >= PHY_F && phy <= PHY_I;
drivers/gpu/drm/i915/display/intel_display.c
1835
return phy >= PHY_D && phy <= PHY_I;
drivers/gpu/drm/i915/display/intel_display.c
1837
return phy >= PHY_C && phy <= PHY_F;
drivers/gpu/drm/i915/display/intel_display.c
1843
bool intel_phy_is_snps(struct intel_display *display, enum phy phy)
drivers/gpu/drm/i915/display/intel_display.c
1849
return display->platform.dg2 && phy > PHY_NONE && phy <= PHY_E;
drivers/gpu/drm/i915/display/intel_display.c
1853
enum phy intel_port_to_phy(struct intel_display *display, enum port port)
drivers/gpu/drm/i915/display/intel_display.c
1897
enum phy intel_encoder_to_phy(struct intel_encoder *encoder)
drivers/gpu/drm/i915/display/intel_display.h
418
enum phy intel_port_to_phy(struct intel_display *display, enum port port);
drivers/gpu/drm/i915/display/intel_display.h
450
bool intel_phy_is_combo(struct intel_display *display, enum phy phy);
drivers/gpu/drm/i915/display/intel_display.h
451
bool intel_phy_is_tc(struct intel_display *display, enum phy phy);
drivers/gpu/drm/i915/display/intel_display.h
452
bool intel_phy_is_snps(struct intel_display *display, enum phy phy);
drivers/gpu/drm/i915/display/intel_display.h
456
enum phy intel_encoder_to_phy(struct intel_encoder *encoder);
drivers/gpu/drm/i915/display/intel_display_power_map.c
478
.bxt.phy = DPIO_PHY1,
drivers/gpu/drm/i915/display/intel_display_power_map.c
481
.bxt.phy = DPIO_PHY0,
drivers/gpu/drm/i915/display/intel_display_power_map.c
581
.bxt.phy = DPIO_PHY1,
drivers/gpu/drm/i915/display/intel_display_power_map.c
584
.bxt.phy = DPIO_PHY0,
drivers/gpu/drm/i915/display/intel_display_power_map.c
587
.bxt.phy = DPIO_PHY2,
drivers/gpu/drm/i915/display/intel_display_power_well.c
1468
enum dpio_phy phy;
drivers/gpu/drm/i915/display/intel_display_power_well.c
1476
phy = DPIO_PHY0;
drivers/gpu/drm/i915/display/intel_display_power_well.c
1478
phy = DPIO_PHY1;
drivers/gpu/drm/i915/display/intel_display_power_well.c
1486
PHY_POWERGOOD(phy), 1))
drivers/gpu/drm/i915/display/intel_display_power_well.c
1488
phy);
drivers/gpu/drm/i915/display/intel_display_power_well.c
1493
tmp = vlv_dpio_read(display->drm, phy, CHV_CMN_DW28);
drivers/gpu/drm/i915/display/intel_display_power_well.c
1496
vlv_dpio_write(display->drm, phy, CHV_CMN_DW28, tmp);
drivers/gpu/drm/i915/display/intel_display_power_well.c
1499
tmp = vlv_dpio_read(display->drm, phy, CHV_CMN_DW6_CH1);
drivers/gpu/drm/i915/display/intel_display_power_well.c
1501
vlv_dpio_write(display->drm, phy, CHV_CMN_DW6_CH1, tmp);
drivers/gpu/drm/i915/display/intel_display_power_well.c
1508
tmp = vlv_dpio_read(display->drm, phy, CHV_CMN_DW30);
drivers/gpu/drm/i915/display/intel_display_power_well.c
1510
vlv_dpio_write(display->drm, phy, CHV_CMN_DW30, tmp);
drivers/gpu/drm/i915/display/intel_display_power_well.c
1515
display->power.chv_phy_control |= PHY_COM_LANE_RESET_DEASSERT(phy);
drivers/gpu/drm/i915/display/intel_display_power_well.c
1521
phy, display->power.chv_phy_control);
drivers/gpu/drm/i915/display/intel_display_power_well.c
1530
enum dpio_phy phy;
drivers/gpu/drm/i915/display/intel_display_power_well.c
1537
phy = DPIO_PHY0;
drivers/gpu/drm/i915/display/intel_display_power_well.c
1541
phy = DPIO_PHY1;
drivers/gpu/drm/i915/display/intel_display_power_well.c
1545
display->power.chv_phy_control &= ~PHY_COM_LANE_RESET_DEASSERT(phy);
drivers/gpu/drm/i915/display/intel_display_power_well.c
1553
phy, display->power.chv_phy_control);
drivers/gpu/drm/i915/display/intel_display_power_well.c
1556
display->power.chv_phy_assert[phy] = true;
drivers/gpu/drm/i915/display/intel_display_power_well.c
1561
static void assert_chv_phy_powergate(struct intel_display *display, enum dpio_phy phy,
drivers/gpu/drm/i915/display/intel_display_power_well.c
1573
if (!display->power.chv_phy_assert[phy])
drivers/gpu/drm/i915/display/intel_display_power_well.c
1582
val = vlv_dpio_read(display->drm, phy, reg);
drivers/gpu/drm/i915/display/intel_display_power_well.c
1625
bool chv_phy_powergate_ch(struct intel_display *display, enum dpio_phy phy,
drivers/gpu/drm/i915/display/intel_display_power_well.c
1633
was_override = display->power.chv_phy_control & PHY_CH_POWER_DOWN_OVRD_EN(phy, ch);
drivers/gpu/drm/i915/display/intel_display_power_well.c
1639
display->power.chv_phy_control |= PHY_CH_POWER_DOWN_OVRD_EN(phy, ch);
drivers/gpu/drm/i915/display/intel_display_power_well.c
1641
display->power.chv_phy_control &= ~PHY_CH_POWER_DOWN_OVRD_EN(phy, ch);
drivers/gpu/drm/i915/display/intel_display_power_well.c
1648
phy, ch, display->power.chv_phy_control);
drivers/gpu/drm/i915/display/intel_display_power_well.c
1663
enum dpio_phy phy = vlv_dig_port_to_phy(enc_to_dig_port(encoder));
drivers/gpu/drm/i915/display/intel_display_power_well.c
1668
display->power.chv_phy_control &= ~PHY_CH_POWER_DOWN_OVRD(0xf, phy, ch);
drivers/gpu/drm/i915/display/intel_display_power_well.c
1669
display->power.chv_phy_control |= PHY_CH_POWER_DOWN_OVRD(mask, phy, ch);
drivers/gpu/drm/i915/display/intel_display_power_well.c
1672
display->power.chv_phy_control |= PHY_CH_POWER_DOWN_OVRD_EN(phy, ch);
drivers/gpu/drm/i915/display/intel_display_power_well.c
1674
display->power.chv_phy_control &= ~PHY_CH_POWER_DOWN_OVRD_EN(phy, ch);
drivers/gpu/drm/i915/display/intel_display_power_well.c
1681
phy, ch, mask, display->power.chv_phy_control);
drivers/gpu/drm/i915/display/intel_display_power_well.c
1685
assert_chv_phy_powergate(display, phy, ch, override, mask);
drivers/gpu/drm/i915/display/intel_display_power_well.c
1859
enum phy phy = icl_aux_pw_to_phy(display, power_well);
drivers/gpu/drm/i915/display/intel_display_power_well.c
1874
phy_name(phy));
drivers/gpu/drm/i915/display/intel_display_power_well.c
1890
enum phy phy = icl_aux_pw_to_phy(display, power_well);
drivers/gpu/drm/i915/display/intel_display_power_well.c
1901
phy_name(phy));
drivers/gpu/drm/i915/display/intel_display_power_well.c
277
static enum phy icl_aux_pw_to_phy(struct intel_display *display,
drivers/gpu/drm/i915/display/intel_display_power_well.c
958
bxt_dpio_phy_init(display, i915_power_well_instance(power_well)->bxt.phy);
drivers/gpu/drm/i915/display/intel_display_power_well.c
964
bxt_dpio_phy_uninit(display, i915_power_well_instance(power_well)->bxt.phy);
drivers/gpu/drm/i915/display/intel_display_power_well.c
970
return bxt_dpio_phy_is_enabled(display, i915_power_well_instance(power_well)->bxt.phy);
drivers/gpu/drm/i915/display/intel_display_power_well.c
979
bxt_dpio_phy_verify_state(display, i915_power_well_instance(power_well)->bxt.phy);
drivers/gpu/drm/i915/display/intel_display_power_well.c
983
bxt_dpio_phy_verify_state(display, i915_power_well_instance(power_well)->bxt.phy);
drivers/gpu/drm/i915/display/intel_display_power_well.c
990
i915_power_well_instance(power_well)->bxt.phy);
drivers/gpu/drm/i915/display/intel_display_power_well.h
154
bool chv_phy_powergate_ch(struct intel_display *display, enum dpio_phy phy,
drivers/gpu/drm/i915/display/intel_display_power_well.h
75
enum dpio_phy phy;
drivers/gpu/drm/i915/display/intel_display_reg_defs.h
21
#define _PHY(phy, a, b) _PICK_EVEN(phy, a, b)
drivers/gpu/drm/i915/display/intel_display_reg_defs.h
28
#define _MMIO_PHY(phy, a, b) _MMIO(_PHY(phy, a, b))
drivers/gpu/drm/i915/display/intel_display_regs.h
167
#define PHY_CH_POWER_DOWN_OVRD_EN(phy, ch) (1 << (2 * (phy) + (ch) + 27))
drivers/gpu/drm/i915/display/intel_display_regs.h
171
#define PHY_LDO_SEQ_DELAY(delay, phy) ((delay) << (2 * (phy) + 23))
drivers/gpu/drm/i915/display/intel_display_regs.h
172
#define PHY_CH_POWER_DOWN_OVRD(mask, phy, ch) ((mask) << (8 * (phy) + 4 * (ch) + 11))
drivers/gpu/drm/i915/display/intel_display_regs.h
175
#define PHY_CH_POWER_MODE(mode, phy, ch) ((mode) << (6 * (phy) + 3 * (ch) + 2))
drivers/gpu/drm/i915/display/intel_display_regs.h
176
#define PHY_COM_LANE_RESET_DEASSERT(phy) (1 << (phy))
drivers/gpu/drm/i915/display/intel_display_regs.h
178
#define PHY_POWERGOOD(phy) (((phy) == DPIO_PHY0) ? (1 << 31) : (1 << 30))
drivers/gpu/drm/i915/display/intel_display_regs.h
179
#define PHY_STATUS_CMN_LDO(phy, ch) (1 << (6 - (6 * (phy) + 3 * (ch))))
drivers/gpu/drm/i915/display/intel_display_regs.h
180
#define PHY_STATUS_SPLINE_LDO(phy, ch, spline) (1 << (8 - (6 * (phy) + 3 * (ch) + (spline))))
drivers/gpu/drm/i915/display/intel_display_regs.h
2616
#define ICL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy) (1 << _PICK(phy, 10, 11, 24, 4, 5))
drivers/gpu/drm/i915/display/intel_display_regs.h
2617
#define RKL_DPCLKA_CFGCR0_DDI_CLK_OFF(phy) REG_BIT((phy) + 10)
drivers/gpu/drm/i915/display/intel_display_regs.h
2621
#define ICL_DPCLKA_CFGCR0_DDI_CLK_SEL_SHIFT(phy) ((phy) * 2)
drivers/gpu/drm/i915/display/intel_display_regs.h
2622
#define ICL_DPCLKA_CFGCR0_DDI_CLK_SEL_MASK(phy) (3 << ICL_DPCLKA_CFGCR0_DDI_CLK_SEL_SHIFT(phy))
drivers/gpu/drm/i915/display/intel_display_regs.h
2623
#define ICL_DPCLKA_CFGCR0_DDI_CLK_SEL(pll, phy) ((pll) << ICL_DPCLKA_CFGCR0_DDI_CLK_SEL_SHIFT(phy))
drivers/gpu/drm/i915/display/intel_display_regs.h
2624
#define RKL_DPCLKA_CFGCR0_DDI_CLK_SEL_SHIFT(phy) _PICK(phy, 0, 2, 4, 27)
drivers/gpu/drm/i915/display/intel_display_regs.h
2625
#define RKL_DPCLKA_CFGCR0_DDI_CLK_SEL_MASK(phy) \
drivers/gpu/drm/i915/display/intel_display_regs.h
2626
(3 << RKL_DPCLKA_CFGCR0_DDI_CLK_SEL_SHIFT(phy))
drivers/gpu/drm/i915/display/intel_display_regs.h
2627
#define RKL_DPCLKA_CFGCR0_DDI_CLK_SEL(pll, phy) \
drivers/gpu/drm/i915/display/intel_display_regs.h
2628
((pll) << RKL_DPCLKA_CFGCR0_DDI_CLK_SEL_SHIFT(phy))
drivers/gpu/drm/i915/display/intel_display_regs.h
2638
#define _DG1_DPCLKA_PHY_IDX(phy) ((phy) % 2)
drivers/gpu/drm/i915/display/intel_display_regs.h
2640
#define DG1_DPCLKA_CFGCR0(phy) _MMIO_PHY((phy) / 2, \
drivers/gpu/drm/i915/display/intel_display_regs.h
2643
#define DG1_DPCLKA_CFGCR0_DDI_CLK_OFF(phy) REG_BIT(_DG1_DPCLKA_PHY_IDX(phy) + 10)
drivers/gpu/drm/i915/display/intel_display_regs.h
2644
#define DG1_DPCLKA_CFGCR0_DDI_CLK_SEL_SHIFT(phy) (_DG1_DPCLKA_PHY_IDX(phy) * 2)
drivers/gpu/drm/i915/display/intel_display_regs.h
2645
#define DG1_DPCLKA_CFGCR0_DDI_CLK_SEL(pll, phy) (_DG1_DPCLKA_PLL_IDX(pll) << DG1_DPCLKA_CFGCR0_DDI_CLK_SEL_SHIFT(phy))
drivers/gpu/drm/i915/display/intel_display_regs.h
2646
#define DG1_DPCLKA_CFGCR0_DDI_CLK_SEL_MASK(phy) (0x3 << DG1_DPCLKA_CFGCR0_DDI_CLK_SEL_SHIFT(phy))
drivers/gpu/drm/i915/display/intel_display_regs.h
2651
#define ADLS_DPCLKA_CFGCR(phy) _MMIO_PHY((phy) / 3, \
drivers/gpu/drm/i915/display/intel_display_regs.h
2654
#define ADLS_DPCLKA_CFGCR_DDI_SHIFT(phy) (((phy) % 3) * 2)
drivers/gpu/drm/i915/display/intel_display_regs.h
2662
#define ADLS_DPCLKA_CFGCR_DDI_CLK_SEL_MASK(phy) _PICK((phy), \
drivers/gpu/drm/i915/display/intel_display_regs.h
35
#define BXT_PHY_CTL_FAMILY(phy) \
drivers/gpu/drm/i915/display/intel_display_regs.h
36
_MMIO(_PICK_EVEN_2RANGES(phy, 1, \
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1001
vlv_dpio_write(display->drm, phy, VLV_PCS23_DW11(ch), val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1004
vlv_dpio_write(display->drm, phy, VLV_PCS01_DW12(ch),
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1012
vlv_dpio_write(display->drm, phy, VLV_PCS23_DW12(ch),
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1041
enum dpio_phy phy = vlv_dig_port_to_phy(enc_to_dig_port(encoder));
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1049
val = vlv_dpio_read(display->drm, phy, CHV_CMN_DW5_CH0);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1051
vlv_dpio_write(display->drm, phy, CHV_CMN_DW5_CH0, val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1053
val = vlv_dpio_read(display->drm, phy, CHV_CMN_DW1_CH1);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1055
vlv_dpio_write(display->drm, phy, CHV_CMN_DW1_CH1, val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1080
enum dpio_phy phy = vlv_dig_port_to_phy(dig_port);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1084
vlv_dpio_write(display->drm, phy, VLV_TX_DW5_GRP(ch), 0x00000000);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1085
vlv_dpio_write(display->drm, phy, VLV_TX_DW4_GRP(ch), demph_reg_value);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1086
vlv_dpio_write(display->drm, phy, VLV_TX_DW2_GRP(ch),
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1088
vlv_dpio_write(display->drm, phy, VLV_TX_DW3_GRP(ch), 0x0C782040);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1091
vlv_dpio_write(display->drm, phy, VLV_TX_DW4(ch, 3), tx3_demph);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1093
vlv_dpio_write(display->drm, phy, VLV_PCS_DW11_GRP(ch), 0x00030000);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1094
vlv_dpio_write(display->drm, phy, VLV_PCS_DW9_GRP(ch), preemph_reg_value);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1095
vlv_dpio_write(display->drm, phy, VLV_TX_DW5_GRP(ch), DPIO_TX_OCALINIT_EN);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1106
enum dpio_phy phy = vlv_dig_port_to_phy(dig_port);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1111
vlv_dpio_write(display->drm, phy, VLV_PCS_DW0_GRP(ch),
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1114
vlv_dpio_write(display->drm, phy, VLV_PCS_DW1_GRP(ch),
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1121
vlv_dpio_write(display->drm, phy, VLV_PCS_DW12_GRP(ch), 0x00750f00);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1122
vlv_dpio_write(display->drm, phy, VLV_TX_DW11_GRP(ch), 0x00001500);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1123
vlv_dpio_write(display->drm, phy, VLV_TX_DW14_GRP(ch), 0x40400000);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1136
enum dpio_phy phy = vlv_dig_port_to_phy(dig_port);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1147
vlv_dpio_write(display->drm, phy, VLV_PCS_DW8_GRP(ch), val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1150
vlv_dpio_write(display->drm, phy, VLV_PCS_DW14_GRP(ch), 0x00760018);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1151
vlv_dpio_write(display->drm, phy, VLV_PCS_DW23_GRP(ch), 0x00400888);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1162
enum dpio_phy phy = vlv_dig_port_to_phy(dig_port);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1165
vlv_dpio_write(display->drm, phy, VLV_PCS_DW0_GRP(ch), 0x00000000);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
1166
vlv_dpio_write(display->drm, phy, VLV_PCS_DW1_GRP(ch), 0x00e00060);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
237
bxt_get_phy_info(struct intel_display *display, enum dpio_phy phy)
drivers/gpu/drm/i915/display/intel_dpio_phy.c
243
return &phy_list[phy];
drivers/gpu/drm/i915/display/intel_dpio_phy.c
247
enum dpio_phy *phy, enum dpio_channel *ch)
drivers/gpu/drm/i915/display/intel_dpio_phy.c
258
*phy = i;
drivers/gpu/drm/i915/display/intel_dpio_phy.c
265
*phy = i;
drivers/gpu/drm/i915/display/intel_dpio_phy.c
273
*phy = DPIO_PHY0;
drivers/gpu/drm/i915/display/intel_dpio_phy.c
301
enum dpio_phy phy;
drivers/gpu/drm/i915/display/intel_dpio_phy.c
308
bxt_port_to_phy_channel(display, encoder->port, &phy, &ch);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
314
bxt_dpio_phy_rmw_grp(display, BXT_PORT_PCS_DW10_LN01(phy, ch),
drivers/gpu/drm/i915/display/intel_dpio_phy.c
315
BXT_PORT_PCS_DW10_GRP(phy, ch),
drivers/gpu/drm/i915/display/intel_dpio_phy.c
321
intel_de_rmw(display, BXT_PORT_TX_DW2_LN(phy, ch, lane),
drivers/gpu/drm/i915/display/intel_dpio_phy.c
331
intel_de_rmw(display, BXT_PORT_TX_DW3_LN(phy, ch, lane),
drivers/gpu/drm/i915/display/intel_dpio_phy.c
336
val = intel_de_read(display, BXT_PORT_TX_DW3_LN(phy, ch, lane));
drivers/gpu/drm/i915/display/intel_dpio_phy.c
345
intel_de_rmw(display, BXT_PORT_TX_DW4_LN(phy, ch, lane),
drivers/gpu/drm/i915/display/intel_dpio_phy.c
350
bxt_dpio_phy_rmw_grp(display, BXT_PORT_PCS_DW10_LN01(phy, ch),
drivers/gpu/drm/i915/display/intel_dpio_phy.c
351
BXT_PORT_PCS_DW10_GRP(phy, ch),
drivers/gpu/drm/i915/display/intel_dpio_phy.c
356
enum dpio_phy phy)
drivers/gpu/drm/i915/display/intel_dpio_phy.c
360
phy_info = bxt_get_phy_info(display, phy);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
365
if ((intel_de_read(display, BXT_PORT_CL1CM_DW0(phy)) &
drivers/gpu/drm/i915/display/intel_dpio_phy.c
368
"DDI PHY %d powered, but power hasn't settled\n", phy);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
373
if (!(intel_de_read(display, BXT_PHY_CTL_FAMILY(phy)) & COMMON_RESET_DIS)) {
drivers/gpu/drm/i915/display/intel_dpio_phy.c
375
"DDI PHY %d powered, but still in reset\n", phy);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
383
static u32 bxt_get_grc(struct intel_display *display, enum dpio_phy phy)
drivers/gpu/drm/i915/display/intel_dpio_phy.c
385
u32 val = intel_de_read(display, BXT_PORT_REF_DW6(phy));
drivers/gpu/drm/i915/display/intel_dpio_phy.c
391
enum dpio_phy phy)
drivers/gpu/drm/i915/display/intel_dpio_phy.c
393
if (intel_de_wait_for_set_ms(display, BXT_PORT_REF_DW3(phy), GRC_DONE, 10))
drivers/gpu/drm/i915/display/intel_dpio_phy.c
394
drm_err(display->drm, "timeout waiting for PHY%d GRC\n", phy);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
397
static void _bxt_dpio_phy_init(struct intel_display *display, enum dpio_phy phy)
drivers/gpu/drm/i915/display/intel_dpio_phy.c
402
phy_info = bxt_get_phy_info(display, phy);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
404
if (bxt_dpio_phy_is_enabled(display, phy)) {
drivers/gpu/drm/i915/display/intel_dpio_phy.c
407
display->state.bxt_phy_grc = bxt_get_grc(display, phy);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
409
if (bxt_dpio_phy_verify_state(display, phy)) {
drivers/gpu/drm/i915/display/intel_dpio_phy.c
411
"won't reprogram it\n", phy);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
417
"force reprogramming it\n", phy);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
430
if (intel_de_wait_ms(display, BXT_PORT_CL1CM_DW0(phy),
drivers/gpu/drm/i915/display/intel_dpio_phy.c
433
phy);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
436
intel_de_rmw(display, BXT_PORT_CL1CM_DW9(phy),
drivers/gpu/drm/i915/display/intel_dpio_phy.c
439
intel_de_rmw(display, BXT_PORT_CL1CM_DW10(phy),
drivers/gpu/drm/i915/display/intel_dpio_phy.c
443
intel_de_rmw(display, BXT_PORT_CL1CM_DW28(phy), 0,
drivers/gpu/drm/i915/display/intel_dpio_phy.c
447
intel_de_rmw(display, BXT_PORT_CL2CM_DW6(phy), 0,
drivers/gpu/drm/i915/display/intel_dpio_phy.c
466
intel_de_write(display, BXT_PORT_REF_DW6(phy), grc_code);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
467
intel_de_rmw(display, BXT_PORT_REF_DW8(phy),
drivers/gpu/drm/i915/display/intel_dpio_phy.c
474
intel_de_rmw(display, BXT_PHY_CTL_FAMILY(phy), 0, COMMON_RESET_DIS);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
477
void bxt_dpio_phy_uninit(struct intel_display *display, enum dpio_phy phy)
drivers/gpu/drm/i915/display/intel_dpio_phy.c
481
phy_info = bxt_get_phy_info(display, phy);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
483
intel_de_rmw(display, BXT_PHY_CTL_FAMILY(phy), COMMON_RESET_DIS, 0);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
488
void bxt_dpio_phy_init(struct intel_display *display, enum dpio_phy phy)
drivers/gpu/drm/i915/display/intel_dpio_phy.c
490
const struct bxt_dpio_phy_info *phy_info = bxt_get_phy_info(display, phy);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
507
_bxt_dpio_phy_init(display, phy);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
514
__phy_reg_verify_state(struct intel_display *display, enum dpio_phy phy,
drivers/gpu/drm/i915/display/intel_dpio_phy.c
532
phy, &vaf, reg.reg, val, (val & ~mask) | expected,
drivers/gpu/drm/i915/display/intel_dpio_phy.c
541
enum dpio_phy phy)
drivers/gpu/drm/i915/display/intel_dpio_phy.c
547
phy_info = bxt_get_phy_info(display, phy);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
550
__phy_reg_verify_state(display, phy, reg, mask, exp, fmt, \
drivers/gpu/drm/i915/display/intel_dpio_phy.c
553
if (!bxt_dpio_phy_is_enabled(display, phy))
drivers/gpu/drm/i915/display/intel_dpio_phy.c
559
ok &= _CHK(BXT_PORT_CL1CM_DW9(phy),
drivers/gpu/drm/i915/display/intel_dpio_phy.c
561
"BXT_PORT_CL1CM_DW9(%d)", phy);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
562
ok &= _CHK(BXT_PORT_CL1CM_DW10(phy),
drivers/gpu/drm/i915/display/intel_dpio_phy.c
564
"BXT_PORT_CL1CM_DW10(%d)", phy);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
568
ok &= _CHK(BXT_PORT_CL1CM_DW28(phy), mask, mask,
drivers/gpu/drm/i915/display/intel_dpio_phy.c
569
"BXT_PORT_CL1CM_DW28(%d)", phy);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
572
ok &= _CHK(BXT_PORT_CL2CM_DW6(phy),
drivers/gpu/drm/i915/display/intel_dpio_phy.c
574
"BXT_PORT_CL2CM_DW6(%d)", phy);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
584
ok &= _CHK(BXT_PORT_REF_DW6(phy), mask, grc_code,
drivers/gpu/drm/i915/display/intel_dpio_phy.c
585
"BXT_PORT_REF_DW6(%d)", phy);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
588
ok &= _CHK(BXT_PORT_REF_DW8(phy), mask, mask,
drivers/gpu/drm/i915/display/intel_dpio_phy.c
589
"BXT_PORT_REF_DW8(%d)", phy);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
618
enum dpio_phy phy;
drivers/gpu/drm/i915/display/intel_dpio_phy.c
622
bxt_port_to_phy_channel(display, port, &phy, &ch);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
629
intel_de_rmw(display, BXT_PORT_TX_DW14_LN(phy, ch, lane),
drivers/gpu/drm/i915/display/intel_dpio_phy.c
640
enum dpio_phy phy;
drivers/gpu/drm/i915/display/intel_dpio_phy.c
645
bxt_port_to_phy_channel(display, port, &phy, &ch);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
650
BXT_PORT_TX_DW14_LN(phy, ch, lane));
drivers/gpu/drm/i915/display/intel_dpio_phy.c
723
enum dpio_phy phy = vlv_dig_port_to_phy(dig_port);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
730
val = vlv_dpio_read(display->drm, phy, VLV_PCS01_DW10(ch));
drivers/gpu/drm/i915/display/intel_dpio_phy.c
734
vlv_dpio_write(display->drm, phy, VLV_PCS01_DW10(ch), val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
737
val = vlv_dpio_read(display->drm, phy, VLV_PCS23_DW10(ch));
drivers/gpu/drm/i915/display/intel_dpio_phy.c
741
vlv_dpio_write(display->drm, phy, VLV_PCS23_DW10(ch), val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
744
val = vlv_dpio_read(display->drm, phy, VLV_PCS01_DW9(ch));
drivers/gpu/drm/i915/display/intel_dpio_phy.c
747
vlv_dpio_write(display->drm, phy, VLV_PCS01_DW9(ch), val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
750
val = vlv_dpio_read(display->drm, phy, VLV_PCS23_DW9(ch));
drivers/gpu/drm/i915/display/intel_dpio_phy.c
753
vlv_dpio_write(display->drm, phy, VLV_PCS23_DW9(ch), val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
758
val = vlv_dpio_read(display->drm, phy, CHV_TX_DW4(ch, i));
drivers/gpu/drm/i915/display/intel_dpio_phy.c
761
vlv_dpio_write(display->drm, phy, CHV_TX_DW4(ch, i), val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
766
val = vlv_dpio_read(display->drm, phy, CHV_TX_DW2(ch, i));
drivers/gpu/drm/i915/display/intel_dpio_phy.c
779
vlv_dpio_write(display->drm, phy, CHV_TX_DW2(ch, i), val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
789
val = vlv_dpio_read(display->drm, phy, CHV_TX_DW3(ch, i));
drivers/gpu/drm/i915/display/intel_dpio_phy.c
794
vlv_dpio_write(display->drm, phy, CHV_TX_DW3(ch, i), val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
798
val = vlv_dpio_read(display->drm, phy, VLV_PCS01_DW10(ch));
drivers/gpu/drm/i915/display/intel_dpio_phy.c
800
vlv_dpio_write(display->drm, phy, VLV_PCS01_DW10(ch), val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
803
val = vlv_dpio_read(display->drm, phy, VLV_PCS23_DW10(ch));
drivers/gpu/drm/i915/display/intel_dpio_phy.c
805
vlv_dpio_write(display->drm, phy, VLV_PCS23_DW10(ch), val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
818
enum dpio_phy phy = vlv_dig_port_to_phy(dig_port);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
821
val = vlv_dpio_read(display->drm, phy, VLV_PCS01_DW0(ch));
drivers/gpu/drm/i915/display/intel_dpio_phy.c
826
vlv_dpio_write(display->drm, phy, VLV_PCS01_DW0(ch), val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
829
val = vlv_dpio_read(display->drm, phy, VLV_PCS23_DW0(ch));
drivers/gpu/drm/i915/display/intel_dpio_phy.c
834
vlv_dpio_write(display->drm, phy, VLV_PCS23_DW0(ch), val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
837
val = vlv_dpio_read(display->drm, phy, VLV_PCS01_DW1(ch));
drivers/gpu/drm/i915/display/intel_dpio_phy.c
843
vlv_dpio_write(display->drm, phy, VLV_PCS01_DW1(ch), val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
846
val = vlv_dpio_read(display->drm, phy, VLV_PCS23_DW1(ch));
drivers/gpu/drm/i915/display/intel_dpio_phy.c
852
vlv_dpio_write(display->drm, phy, VLV_PCS23_DW1(ch), val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
874
enum dpio_phy phy = vlv_dig_port_to_phy(dig_port);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
897
val = vlv_dpio_read(display->drm, phy, CHV_CMN_DW5_CH0);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
903
vlv_dpio_write(display->drm, phy, CHV_CMN_DW5_CH0, val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
905
val = vlv_dpio_read(display->drm, phy, CHV_CMN_DW1_CH1);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
911
vlv_dpio_write(display->drm, phy, CHV_CMN_DW1_CH1, val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
915
val = vlv_dpio_read(display->drm, phy, VLV_PCS01_DW8(ch));
drivers/gpu/drm/i915/display/intel_dpio_phy.c
921
vlv_dpio_write(display->drm, phy, VLV_PCS01_DW8(ch), val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
924
val = vlv_dpio_read(display->drm, phy, VLV_PCS23_DW8(ch));
drivers/gpu/drm/i915/display/intel_dpio_phy.c
930
vlv_dpio_write(display->drm, phy, VLV_PCS23_DW8(ch), val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
938
val = vlv_dpio_read(display->drm, phy, CHV_CMN_DW19(ch));
drivers/gpu/drm/i915/display/intel_dpio_phy.c
943
vlv_dpio_write(display->drm, phy, CHV_CMN_DW19(ch), val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
955
enum dpio_phy phy = vlv_dig_port_to_phy(dig_port);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
962
val = vlv_dpio_read(display->drm, phy, VLV_PCS01_DW11(ch));
drivers/gpu/drm/i915/display/intel_dpio_phy.c
964
vlv_dpio_write(display->drm, phy, VLV_PCS01_DW11(ch), val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
967
val = vlv_dpio_read(display->drm, phy, VLV_PCS23_DW11(ch));
drivers/gpu/drm/i915/display/intel_dpio_phy.c
969
vlv_dpio_write(display->drm, phy, VLV_PCS23_DW11(ch), val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
979
vlv_dpio_write(display->drm, phy, CHV_TX_DW14(ch, i), data);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
994
val = vlv_dpio_read(display->drm, phy, VLV_PCS01_DW11(ch));
drivers/gpu/drm/i915/display/intel_dpio_phy.c
996
vlv_dpio_write(display->drm, phy, VLV_PCS01_DW11(ch), val);
drivers/gpu/drm/i915/display/intel_dpio_phy.c
999
val = vlv_dpio_read(display->drm, phy, VLV_PCS23_DW11(ch));
drivers/gpu/drm/i915/display/intel_dpio_phy.h
31
enum dpio_phy *phy, enum dpio_channel *ch);
drivers/gpu/drm/i915/display/intel_dpio_phy.h
34
void bxt_dpio_phy_init(struct intel_display *display, enum dpio_phy phy);
drivers/gpu/drm/i915/display/intel_dpio_phy.h
35
void bxt_dpio_phy_uninit(struct intel_display *display, enum dpio_phy phy);
drivers/gpu/drm/i915/display/intel_dpio_phy.h
37
enum dpio_phy phy);
drivers/gpu/drm/i915/display/intel_dpio_phy.h
39
enum dpio_phy phy);
drivers/gpu/drm/i915/display/intel_dpio_phy.h
79
enum dpio_phy *phy, enum dpio_channel *ch)
drivers/gpu/drm/i915/display/intel_dpio_phy.h
86
static inline void bxt_dpio_phy_init(struct intel_display *display, enum dpio_phy phy)
drivers/gpu/drm/i915/display/intel_dpio_phy.h
89
static inline void bxt_dpio_phy_uninit(struct intel_display *display, enum dpio_phy phy)
drivers/gpu/drm/i915/display/intel_dpio_phy.h
93
enum dpio_phy phy)
drivers/gpu/drm/i915/display/intel_dpio_phy.h
98
enum dpio_phy phy)
drivers/gpu/drm/i915/display/intel_dpll.c
1882
enum dpio_phy phy, enum dpio_channel ch)
drivers/gpu/drm/i915/display/intel_dpll.c
1890
tmp = vlv_dpio_read(display->drm, phy, VLV_PLL_DW17(ch));
drivers/gpu/drm/i915/display/intel_dpll.c
1893
vlv_dpio_write(display->drm, phy, VLV_PLL_DW17(ch), tmp);
drivers/gpu/drm/i915/display/intel_dpll.c
1895
tmp = vlv_dpio_read(display->drm, phy, VLV_REF_DW11);
drivers/gpu/drm/i915/display/intel_dpll.c
1898
vlv_dpio_write(display->drm, phy, VLV_REF_DW11, tmp);
drivers/gpu/drm/i915/display/intel_dpll.c
1900
tmp = vlv_dpio_read(display->drm, phy, VLV_PLL_DW17(ch));
drivers/gpu/drm/i915/display/intel_dpll.c
1902
vlv_dpio_write(display->drm, phy, VLV_PLL_DW17(ch), tmp);
drivers/gpu/drm/i915/display/intel_dpll.c
1904
tmp = vlv_dpio_read(display->drm, phy, VLV_REF_DW11);
drivers/gpu/drm/i915/display/intel_dpll.c
1907
vlv_dpio_write(display->drm, phy, VLV_REF_DW11, tmp);
drivers/gpu/drm/i915/display/intel_dpll.c
1916
enum dpio_phy phy = vlv_pipe_to_phy(crtc->pipe);
drivers/gpu/drm/i915/display/intel_dpll.c
1926
vlv_pllb_recal_opamp(display, phy, ch);
drivers/gpu/drm/i915/display/intel_dpll.c
1929
vlv_dpio_write(display->drm, phy, VLV_PCS_DW17_BCAST, 0x0100000f);
drivers/gpu/drm/i915/display/intel_dpll.c
1932
tmp = vlv_dpio_read(display->drm, phy, VLV_PLL_DW16(ch));
drivers/gpu/drm/i915/display/intel_dpll.c
1934
vlv_dpio_write(display->drm, phy, VLV_PLL_DW16(ch), tmp);
drivers/gpu/drm/i915/display/intel_dpll.c
1937
vlv_dpio_write(display->drm, phy, VLV_CMN_DW0, 0x610);
drivers/gpu/drm/i915/display/intel_dpll.c
1953
vlv_dpio_write(display->drm, phy, VLV_PLL_DW3(ch), tmp);
drivers/gpu/drm/i915/display/intel_dpll.c
1956
vlv_dpio_write(display->drm, phy, VLV_PLL_DW3(ch), tmp);
drivers/gpu/drm/i915/display/intel_dpll.c
1962
vlv_dpio_write(display->drm, phy, VLV_PLL_DW18(ch), 0x009f0003);
drivers/gpu/drm/i915/display/intel_dpll.c
1964
vlv_dpio_write(display->drm, phy, VLV_PLL_DW18(ch), 0x00d0000f);
drivers/gpu/drm/i915/display/intel_dpll.c
1969
vlv_dpio_write(display->drm, phy, VLV_PLL_DW5(ch), 0x0df40000);
drivers/gpu/drm/i915/display/intel_dpll.c
1971
vlv_dpio_write(display->drm, phy, VLV_PLL_DW5(ch), 0x0df70000);
drivers/gpu/drm/i915/display/intel_dpll.c
1975
vlv_dpio_write(display->drm, phy, VLV_PLL_DW5(ch), 0x0df70000);
drivers/gpu/drm/i915/display/intel_dpll.c
1977
vlv_dpio_write(display->drm, phy, VLV_PLL_DW5(ch), 0x0df40000);
drivers/gpu/drm/i915/display/intel_dpll.c
1980
coreclk = vlv_dpio_read(display->drm, phy, VLV_PLL_DW7(ch));
drivers/gpu/drm/i915/display/intel_dpll.c
1984
vlv_dpio_write(display->drm, phy, VLV_PLL_DW7(ch), coreclk);
drivers/gpu/drm/i915/display/intel_dpll.c
1986
vlv_dpio_write(display->drm, phy, VLV_PLL_DW19(ch), 0x87871000);
drivers/gpu/drm/i915/display/intel_dpll.c
2037
enum dpio_phy phy = vlv_pipe_to_phy(crtc->pipe);
drivers/gpu/drm/i915/display/intel_dpll.c
2046
vlv_dpio_write(display->drm, phy, CHV_CMN_DW13(ch),
drivers/gpu/drm/i915/display/intel_dpll.c
2053
vlv_dpio_write(display->drm, phy, CHV_PLL_DW0(ch),
drivers/gpu/drm/i915/display/intel_dpll.c
2057
vlv_dpio_write(display->drm, phy, CHV_PLL_DW1(ch),
drivers/gpu/drm/i915/display/intel_dpll.c
2062
vlv_dpio_write(display->drm, phy, CHV_PLL_DW2(ch),
drivers/gpu/drm/i915/display/intel_dpll.c
2066
tmp = vlv_dpio_read(display->drm, phy, CHV_PLL_DW3(ch));
drivers/gpu/drm/i915/display/intel_dpll.c
2071
vlv_dpio_write(display->drm, phy, CHV_PLL_DW3(ch), tmp);
drivers/gpu/drm/i915/display/intel_dpll.c
2074
tmp = vlv_dpio_read(display->drm, phy, CHV_PLL_DW9(ch));
drivers/gpu/drm/i915/display/intel_dpll.c
2080
vlv_dpio_write(display->drm, phy, CHV_PLL_DW9(ch), tmp);
drivers/gpu/drm/i915/display/intel_dpll.c
2105
vlv_dpio_write(display->drm, phy, CHV_PLL_DW6(ch), loopfilter);
drivers/gpu/drm/i915/display/intel_dpll.c
2107
tmp = vlv_dpio_read(display->drm, phy, CHV_PLL_DW8(ch));
drivers/gpu/drm/i915/display/intel_dpll.c
2110
vlv_dpio_write(display->drm, phy, CHV_PLL_DW8(ch), tmp);
drivers/gpu/drm/i915/display/intel_dpll.c
2113
vlv_dpio_write(display->drm, phy, CHV_CMN_DW14(ch),
drivers/gpu/drm/i915/display/intel_dpll.c
2114
vlv_dpio_read(display->drm, phy, CHV_CMN_DW14(ch)) |
drivers/gpu/drm/i915/display/intel_dpll.c
2126
enum dpio_phy phy = vlv_pipe_to_phy(crtc->pipe);
drivers/gpu/drm/i915/display/intel_dpll.c
2133
tmp = vlv_dpio_read(display->drm, phy, CHV_CMN_DW14(ch));
drivers/gpu/drm/i915/display/intel_dpll.c
2135
vlv_dpio_write(display->drm, phy, CHV_CMN_DW14(ch), tmp);
drivers/gpu/drm/i915/display/intel_dpll.c
2257
enum dpio_phy phy = vlv_pipe_to_phy(pipe);
drivers/gpu/drm/i915/display/intel_dpll.c
2274
val = vlv_dpio_read(display->drm, phy, CHV_CMN_DW14(ch));
drivers/gpu/drm/i915/display/intel_dpll.c
2276
vlv_dpio_write(display->drm, phy, CHV_CMN_DW14(ch), val);
drivers/gpu/drm/i915/display/intel_dpll.c
521
enum dpio_phy phy = vlv_pipe_to_phy(crtc->pipe);
drivers/gpu/drm/i915/display/intel_dpll.c
532
tmp = vlv_dpio_read(display->drm, phy, VLV_PLL_DW3(ch));
drivers/gpu/drm/i915/display/intel_dpll.c
549
enum dpio_phy phy = vlv_pipe_to_phy(crtc->pipe);
drivers/gpu/drm/i915/display/intel_dpll.c
560
cmn_dw13 = vlv_dpio_read(display->drm, phy, CHV_CMN_DW13(ch));
drivers/gpu/drm/i915/display/intel_dpll.c
561
pll_dw0 = vlv_dpio_read(display->drm, phy, CHV_PLL_DW0(ch));
drivers/gpu/drm/i915/display/intel_dpll.c
562
pll_dw1 = vlv_dpio_read(display->drm, phy, CHV_PLL_DW1(ch));
drivers/gpu/drm/i915/display/intel_dpll.c
563
pll_dw2 = vlv_dpio_read(display->drm, phy, CHV_PLL_DW2(ch));
drivers/gpu/drm/i915/display/intel_dpll.c
564
pll_dw3 = vlv_dpio_read(display->drm, phy, CHV_PLL_DW3(ch));
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2062
enum dpio_phy phy = DPIO_PHY0;
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2067
bxt_port_to_phy_channel(display, port, &phy, &ch);
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2085
intel_de_rmw(display, BXT_PORT_PLL_EBB_4(phy, ch),
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2089
intel_de_rmw(display, BXT_PORT_PLL_EBB_0(phy, ch),
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2093
intel_de_rmw(display, BXT_PORT_PLL(phy, ch, 0),
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2097
intel_de_rmw(display, BXT_PORT_PLL(phy, ch, 1),
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2101
intel_de_rmw(display, BXT_PORT_PLL(phy, ch, 2),
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2105
intel_de_rmw(display, BXT_PORT_PLL(phy, ch, 3),
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2109
temp = intel_de_read(display, BXT_PORT_PLL(phy, ch, 6));
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2114
intel_de_write(display, BXT_PORT_PLL(phy, ch, 6), temp);
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2117
intel_de_rmw(display, BXT_PORT_PLL(phy, ch, 8),
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2120
intel_de_rmw(display, BXT_PORT_PLL(phy, ch, 9),
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2123
temp = intel_de_read(display, BXT_PORT_PLL(phy, ch, 10));
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2127
intel_de_write(display, BXT_PORT_PLL(phy, ch, 10), temp);
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2130
temp = intel_de_read(display, BXT_PORT_PLL_EBB_4(phy, ch));
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2132
intel_de_write(display, BXT_PORT_PLL_EBB_4(phy, ch), temp);
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2135
intel_de_write(display, BXT_PORT_PLL_EBB_4(phy, ch), temp);
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2147
temp = intel_de_read(display, BXT_PORT_TX_DW5_LN(phy, ch, 0));
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2149
intel_de_write(display, BXT_PORT_TX_DW5_GRP(phy, ch), temp);
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2156
temp = intel_de_read(display, BXT_PORT_PCS_DW12_LN01(phy, ch));
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2160
intel_de_write(display, BXT_PORT_PCS_DW12_GRP(phy, ch), temp);
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2192
enum dpio_phy phy;
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2197
bxt_port_to_phy_channel(display, port, &phy, &ch);
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2210
hw_state->ebb0 = intel_de_read(display, BXT_PORT_PLL_EBB_0(phy, ch));
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2213
hw_state->ebb4 = intel_de_read(display, BXT_PORT_PLL_EBB_4(phy, ch));
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2216
hw_state->pll0 = intel_de_read(display, BXT_PORT_PLL(phy, ch, 0));
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2219
hw_state->pll1 = intel_de_read(display, BXT_PORT_PLL(phy, ch, 1));
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2222
hw_state->pll2 = intel_de_read(display, BXT_PORT_PLL(phy, ch, 2));
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2225
hw_state->pll3 = intel_de_read(display, BXT_PORT_PLL(phy, ch, 3));
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2228
hw_state->pll6 = intel_de_read(display, BXT_PORT_PLL(phy, ch, 6));
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2233
hw_state->pll8 = intel_de_read(display, BXT_PORT_PLL(phy, ch, 8));
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2236
hw_state->pll9 = intel_de_read(display, BXT_PORT_PLL(phy, ch, 9));
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2239
hw_state->pll10 = intel_de_read(display, BXT_PORT_PLL(phy, ch, 10));
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2249
BXT_PORT_PCS_DW12_LN01(phy, ch));
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2250
if (intel_de_read(display, BXT_PORT_PCS_DW12_LN23(phy, ch)) != hw_state->pcsdw12)
drivers/gpu/drm/i915/display/intel_dpll_mgr.c
2255
BXT_PORT_PCS_DW12_LN23(phy, ch)));
drivers/gpu/drm/i915/display/intel_hdmi.c
2823
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_hdmi.c
2826
switch (phy) {
drivers/gpu/drm/i915/display/intel_hdmi.c
2837
MISSING_CASE(phy);
drivers/gpu/drm/i915/display/intel_hdmi.c
2847
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_hdmi.c
2857
if (INTEL_PCH_TYPE(display) >= PCH_TGP && phy >= PHY_C)
drivers/gpu/drm/i915/display/intel_hdmi.c
2858
return GMBUS_PIN_9_TC1_ICP + phy - PHY_C;
drivers/gpu/drm/i915/display/intel_hdmi.c
2860
return GMBUS_PIN_1_BXT + phy;
drivers/gpu/drm/i915/display/intel_hdmi.c
2866
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_hdmi.c
2876
if (INTEL_PCH_TYPE(display) >= PCH_TGP && phy >= PHY_C)
drivers/gpu/drm/i915/display/intel_hdmi.c
2877
return GMBUS_PIN_9_TC1_ICP + phy - PHY_C;
drivers/gpu/drm/i915/display/intel_hdmi.c
2879
return GMBUS_PIN_1_BXT + phy;
drivers/gpu/drm/i915/display/intel_hdmi.c
2889
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_hdmi.c
2897
if (phy == PHY_A)
drivers/gpu/drm/i915/display/intel_hdmi.c
2900
return GMBUS_PIN_9_TC1_ICP + phy - PHY_B;
drivers/gpu/drm/i915/display/intel_hti.c
24
bool intel_hti_uses_phy(struct intel_display *display, enum phy phy)
drivers/gpu/drm/i915/display/intel_hti.c
26
if (drm_WARN_ON(display->drm, phy == PHY_NONE))
drivers/gpu/drm/i915/display/intel_hti.c
30
display->hti.state & HDPORT_DDI_USED(phy);
drivers/gpu/drm/i915/display/intel_hti.h
12
enum phy;
drivers/gpu/drm/i915/display/intel_hti.h
15
bool intel_hti_uses_phy(struct intel_display *display, enum phy phy);
drivers/gpu/drm/i915/display/intel_hti_regs.h
13
#define HDPORT_DDI_USED(phy) REG_BIT(2 * (phy) + 1)
drivers/gpu/drm/i915/display/intel_lt_phy.c
1067
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_lt_phy.c
1076
phy_name(phy));
drivers/gpu/drm/i915/display/intel_lt_phy.c
1096
phy_name(phy), val);
drivers/gpu/drm/i915/display/intel_lt_phy.c
1121
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_lt_phy.c
1136
"PHY %c P2P Write %04x failed after %d retries.\n", phy_name(phy), addr, i);
drivers/gpu/drm/i915/display/intel_lt_phy.c
1174
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_lt_phy.c
1209
phy_name(phy));
drivers/gpu/drm/i915/display/intel_lt_phy.c
1222
phy_name(phy));
drivers/gpu/drm/i915/display/intel_lt_phy.c
1228
phy_name(phy));
drivers/gpu/drm/i915/display/intel_lt_phy.c
1938
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_lt_phy.c
1993
phy_name(phy));
drivers/gpu/drm/i915/display/intel_lt_phy.c
2013
phy_name(phy));
drivers/gpu/drm/i915/display/intel_lt_phy.c
2041
phy_name(phy));
drivers/gpu/drm/i915/display/intel_lt_phy.c
2066
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_lt_phy.c
2099
phy_name(phy));
drivers/gpu/drm/i915/display/intel_lt_phy.c
2122
phy_name(phy));
drivers/gpu/drm/i915/display/intel_pmdemand.c
151
enum phy phy;
drivers/gpu/drm/i915/display/intel_pmdemand.c
162
phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_pmdemand.c
165
pmdemand_state->active_combo_phys_mask |= BIT(phy);
drivers/gpu/drm/i915/display/intel_pmdemand.c
167
pmdemand_state->active_combo_phys_mask &= ~BIT(phy);
drivers/gpu/drm/i915/display/intel_pps.c
101
enum dpio_phy phy = vlv_pipe_to_phy(pipe);
drivers/gpu/drm/i915/display/intel_pps.c
138
!chv_phy_powergate_ch(display, phy, ch, true);
drivers/gpu/drm/i915/display/intel_pps.c
167
chv_phy_powergate_ch(display, phy, ch, false);
drivers/gpu/drm/i915/display/intel_snps_phy.c
1824
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_snps_phy.c
1825
i915_reg_t enable_reg = (phy <= PHY_D ?
drivers/gpu/drm/i915/display/intel_snps_phy.c
1826
DG2_PLL_ENABLE(phy) : MG_PLL_ENABLE(0));
drivers/gpu/drm/i915/display/intel_snps_phy.c
1832
intel_de_write(display, SNPS_PHY_MPLLB_CP(phy), pll_state->mpllb_cp);
drivers/gpu/drm/i915/display/intel_snps_phy.c
1833
intel_de_write(display, SNPS_PHY_MPLLB_DIV(phy), pll_state->mpllb_div);
drivers/gpu/drm/i915/display/intel_snps_phy.c
1834
intel_de_write(display, SNPS_PHY_MPLLB_DIV2(phy), pll_state->mpllb_div2);
drivers/gpu/drm/i915/display/intel_snps_phy.c
1835
intel_de_write(display, SNPS_PHY_MPLLB_SSCEN(phy), pll_state->mpllb_sscen);
drivers/gpu/drm/i915/display/intel_snps_phy.c
1836
intel_de_write(display, SNPS_PHY_MPLLB_SSCSTEP(phy), pll_state->mpllb_sscstep);
drivers/gpu/drm/i915/display/intel_snps_phy.c
1837
intel_de_write(display, SNPS_PHY_MPLLB_FRACN1(phy), pll_state->mpllb_fracn1);
drivers/gpu/drm/i915/display/intel_snps_phy.c
1838
intel_de_write(display, SNPS_PHY_MPLLB_FRACN2(phy), pll_state->mpllb_fracn2);
drivers/gpu/drm/i915/display/intel_snps_phy.c
1858
intel_de_write(display, SNPS_PHY_MPLLB_DIV(phy),
drivers/gpu/drm/i915/display/intel_snps_phy.c
1867
drm_dbg_kms(display->drm, "Port %c PLL not locked\n", phy_name(phy));
drivers/gpu/drm/i915/display/intel_snps_phy.c
1881
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_snps_phy.c
1882
i915_reg_t enable_reg = (phy <= PHY_D ?
drivers/gpu/drm/i915/display/intel_snps_phy.c
1883
DG2_PLL_ENABLE(phy) : MG_PLL_ENABLE(0));
drivers/gpu/drm/i915/display/intel_snps_phy.c
1900
intel_de_rmw(display, SNPS_PHY_MPLLB_DIV(phy), SNPS_PHY_MPLLB_FORCE_EN, 0);
drivers/gpu/drm/i915/display/intel_snps_phy.c
1907
drm_err(display->drm, "Port %c PLL not locked\n", phy_name(phy));
drivers/gpu/drm/i915/display/intel_snps_phy.c
1953
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_snps_phy.c
1955
pll_state->mpllb_cp = intel_de_read(display, SNPS_PHY_MPLLB_CP(phy));
drivers/gpu/drm/i915/display/intel_snps_phy.c
1956
pll_state->mpllb_div = intel_de_read(display, SNPS_PHY_MPLLB_DIV(phy));
drivers/gpu/drm/i915/display/intel_snps_phy.c
1957
pll_state->mpllb_div2 = intel_de_read(display, SNPS_PHY_MPLLB_DIV2(phy));
drivers/gpu/drm/i915/display/intel_snps_phy.c
1958
pll_state->mpllb_sscen = intel_de_read(display, SNPS_PHY_MPLLB_SSCEN(phy));
drivers/gpu/drm/i915/display/intel_snps_phy.c
1959
pll_state->mpllb_sscstep = intel_de_read(display, SNPS_PHY_MPLLB_SSCSTEP(phy));
drivers/gpu/drm/i915/display/intel_snps_phy.c
1960
pll_state->mpllb_fracn1 = intel_de_read(display, SNPS_PHY_MPLLB_FRACN1(phy));
drivers/gpu/drm/i915/display/intel_snps_phy.c
1961
pll_state->mpllb_fracn2 = intel_de_read(display, SNPS_PHY_MPLLB_FRACN2(phy));
drivers/gpu/drm/i915/display/intel_snps_phy.c
1969
pll_state->ref_control = intel_de_read(display, SNPS_PHY_REF_CONTROL(phy)) &
drivers/gpu/drm/i915/display/intel_snps_phy.c
34
enum phy phy;
drivers/gpu/drm/i915/display/intel_snps_phy.c
36
for_each_phy_masked(phy, ~0) {
drivers/gpu/drm/i915/display/intel_snps_phy.c
37
if (!intel_phy_is_snps(display, phy))
drivers/gpu/drm/i915/display/intel_snps_phy.c
45
if (intel_de_wait_for_clear_ms(display, DG2_PHY_MISC(phy),
drivers/gpu/drm/i915/display/intel_snps_phy.c
47
display->snps.phy_failed_calibration |= BIT(phy);
drivers/gpu/drm/i915/display/intel_snps_phy.c
55
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_snps_phy.c
63
intel_de_rmw(display, SNPS_PHY_TX_REQ(phy),
drivers/gpu/drm/i915/display/intel_snps_phy.c
72
enum phy phy = intel_encoder_to_phy(encoder);
drivers/gpu/drm/i915/display/intel_snps_phy.c
87
intel_de_write(display, SNPS_PHY_TX_EQ(ln, phy), val);
drivers/gpu/drm/i915/display/intel_snps_phy.h
11
enum phy;
drivers/gpu/drm/i915/display/intel_snps_phy_regs.h
13
#define _SNPS_PHY(phy) _PHY(phy, \
drivers/gpu/drm/i915/display/intel_snps_phy_regs.h
16
#define _SNPS2(phy, reg) (_SNPS_PHY(phy) - \
drivers/gpu/drm/i915/display/intel_snps_phy_regs.h
18
#define _MMIO_SNPS(phy, reg) _MMIO(_SNPS2(phy, reg))
drivers/gpu/drm/i915/display/intel_snps_phy_regs.h
19
#define _MMIO_SNPS_LN(ln, phy, reg) _MMIO(_SNPS2(phy, \
drivers/gpu/drm/i915/display/intel_snps_phy_regs.h
22
#define SNPS_PHY_MPLLB_CP(phy) _MMIO_SNPS(phy, 0x168000)
drivers/gpu/drm/i915/display/intel_snps_phy_regs.h
28
#define SNPS_PHY_MPLLB_DIV(phy) _MMIO_SNPS(phy, 0x168004)
drivers/gpu/drm/i915/display/intel_snps_phy_regs.h
41
#define SNPS_PHY_MPLLB_FRACN1(phy) _MMIO_SNPS(phy, 0x168008)
drivers/gpu/drm/i915/display/intel_snps_phy_regs.h
46
#define SNPS_PHY_MPLLB_FRACN2(phy) _MMIO_SNPS(phy, 0x16800C)
drivers/gpu/drm/i915/display/intel_snps_phy_regs.h
50
#define SNPS_PHY_MPLLB_SSCEN(phy) _MMIO_SNPS(phy, 0x168014)
drivers/gpu/drm/i915/display/intel_snps_phy_regs.h
55
#define SNPS_PHY_MPLLB_SSCSTEP(phy) _MMIO_SNPS(phy, 0x168018)
drivers/gpu/drm/i915/display/intel_snps_phy_regs.h
58
#define SNPS_PHY_MPLLB_DIV2(phy) _MMIO_SNPS(phy, 0x16801C)
drivers/gpu/drm/i915/display/intel_snps_phy_regs.h
64
#define SNPS_PHY_REF_CONTROL(phy) _MMIO_SNPS(phy, 0x168188)
drivers/gpu/drm/i915/display/intel_snps_phy_regs.h
67
#define SNPS_PHY_TX_REQ(phy) _MMIO_SNPS(phy, 0x168200)
drivers/gpu/drm/i915/display/intel_snps_phy_regs.h
70
#define SNPS_PHY_TX_EQ(ln, phy) _MMIO_SNPS_LN(ln, phy, 0x168300)
drivers/gpu/drm/i915/display/vlv_sideband.c
12
enum dpio_phy phy)
drivers/gpu/drm/i915/display/vlv_sideband.c
19
return phy == DPIO_PHY0 ? VLV_IOSF_SB_DPIO_2 : VLV_IOSF_SB_DPIO;
drivers/gpu/drm/i915/display/vlv_sideband.c
24
u32 vlv_dpio_read(struct drm_device *drm, enum dpio_phy phy, int reg)
drivers/gpu/drm/i915/display/vlv_sideband.c
27
enum vlv_iosf_sb_unit unit = vlv_dpio_phy_to_unit(display, phy);
drivers/gpu/drm/i915/display/vlv_sideband.c
38
phy, reg, val);
drivers/gpu/drm/i915/display/vlv_sideband.c
44
enum dpio_phy phy, int reg, u32 val)
drivers/gpu/drm/i915/display/vlv_sideband.c
47
enum vlv_iosf_sb_unit unit = vlv_dpio_phy_to_unit(display, phy);
drivers/gpu/drm/i915/display/vlv_sideband.h
82
u32 vlv_dpio_read(struct drm_device *drm, enum dpio_phy phy, int reg);
drivers/gpu/drm/i915/display/vlv_sideband.h
84
enum dpio_phy phy, int reg, u32 val);
drivers/gpu/drm/i915/display/vlv_sideband.h
86
static inline u32 vlv_dpio_read(struct drm_device *drm, int phy, int reg)
drivers/gpu/drm/i915/display/vlv_sideband.h
91
int phy, int reg, u32 val)
drivers/gpu/drm/i915/gvt/handlers.c
559
enum dpio_phy phy = DPIO_PHY0;
drivers/gpu/drm/i915/gvt/handlers.c
567
phy = DPIO_PHY1;
drivers/gpu/drm/i915/gvt/handlers.c
571
phy = DPIO_PHY0;
drivers/gpu/drm/i915/gvt/handlers.c
575
phy = DPIO_PHY0;
drivers/gpu/drm/i915/gvt/handlers.c
592
vgpu_vreg_t(vgpu, BXT_PORT_PLL(phy, ch, 0))) << 22;
drivers/gpu/drm/i915/gvt/handlers.c
593
if (vgpu_vreg_t(vgpu, BXT_PORT_PLL(phy, ch, 3)) & PORT_PLL_M2_FRAC_ENABLE)
drivers/gpu/drm/i915/gvt/handlers.c
595
vgpu_vreg_t(vgpu, BXT_PORT_PLL(phy, ch, 2)));
drivers/gpu/drm/i915/gvt/handlers.c
597
vgpu_vreg_t(vgpu, BXT_PORT_PLL(phy, ch, 1)));
drivers/gpu/drm/i915/gvt/handlers.c
599
vgpu_vreg_t(vgpu, BXT_PORT_PLL_EBB_0(phy, ch)));
drivers/gpu/drm/i915/gvt/handlers.c
601
vgpu_vreg_t(vgpu, BXT_PORT_PLL_EBB_0(phy, ch)));
drivers/gpu/drm/mediatek/mtk_dp.c
125
struct phy *phy;
drivers/gpu/drm/mediatek/mtk_dp.c
1273
ret = phy_configure(mtk_dp->phy, &phy_opts);
drivers/gpu/drm/mediatek/mtk_dp.c
1811
phy_reset(mtk_dp->phy);
drivers/gpu/drm/mediatek/mtk_dp.c
2294
ret = phy_init(mtk_dp->phy);
drivers/gpu/drm/mediatek/mtk_dp.c
2309
phy_exit(mtk_dp->phy);
drivers/gpu/drm/mediatek/mtk_dp.c
2706
mtk_dp->phy = devm_phy_get(&mtk_dp->phy_dev->dev, "dp");
drivers/gpu/drm/mediatek/mtk_dp.c
2707
if (IS_ERR(mtk_dp->phy)) {
drivers/gpu/drm/mediatek/mtk_dp.c
2709
return dev_err_probe(dev, PTR_ERR(mtk_dp->phy), "Failed to get phy\n");
drivers/gpu/drm/mediatek/mtk_dsi.c
1229
dsi->phy = devm_phy_get(dev, "dphy");
drivers/gpu/drm/mediatek/mtk_dsi.c
1230
if (IS_ERR(dsi->phy))
drivers/gpu/drm/mediatek/mtk_dsi.c
1231
return dev_err_probe(dev, PTR_ERR(dsi->phy), "Failed to get MIPI-DPHY\n");
drivers/gpu/drm/mediatek/mtk_dsi.c
187
struct phy;
drivers/gpu/drm/mediatek/mtk_dsi.c
206
struct phy *phy;
drivers/gpu/drm/mediatek/mtk_dsi.c
701
phy_power_on(dsi->phy);
drivers/gpu/drm/mediatek/mtk_dsi.c
733
phy_power_off(dsi->phy);
drivers/gpu/drm/mediatek/mtk_dsi.c
768
phy_power_off(dsi->phy);
drivers/gpu/drm/mediatek/mtk_hdmi.c
1009
phy_power_off(hdmi->phy);
drivers/gpu/drm/mediatek/mtk_hdmi.c
1065
phy_power_on(hdmi->phy);
drivers/gpu/drm/mediatek/mtk_hdmi.c
830
phy_power_off(hdmi->phy);
drivers/gpu/drm/mediatek/mtk_hdmi.c
840
phy_power_on(hdmi->phy);
drivers/gpu/drm/mediatek/mtk_hdmi_common.c
421
hdmi->phy = devm_phy_get(dev, "hdmi");
drivers/gpu/drm/mediatek/mtk_hdmi_common.c
422
if (IS_ERR(hdmi->phy))
drivers/gpu/drm/mediatek/mtk_hdmi_common.c
423
return dev_err_cast_probe(dev, hdmi->phy, "Failed to get HDMI PHY\n");
drivers/gpu/drm/mediatek/mtk_hdmi_common.h
156
struct phy *phy;
drivers/gpu/drm/mediatek/mtk_hdmi_v2.c
1042
phy_configure(hdmi->phy, &opts);
drivers/gpu/drm/mediatek/mtk_hdmi_v2.c
1045
phy_power_on(hdmi->phy);
drivers/gpu/drm/mediatek/mtk_hdmi_v2.c
1096
phy_power_off(hdmi->phy);
drivers/gpu/drm/mediatek/mtk_hdmi_v2.c
781
ret = phy_configure(hdmi->phy, &opts);
drivers/gpu/drm/meson/meson_dw_mipi_dsi.c
135
return phy_configure(mipi_dsi->phy, &mipi_dsi->phy_opts);
drivers/gpu/drm/meson/meson_dw_mipi_dsi.c
142
if (phy_power_on(mipi_dsi->phy))
drivers/gpu/drm/meson/meson_dw_mipi_dsi.c
150
if (phy_power_off(mipi_dsi->phy))
drivers/gpu/drm/meson/meson_dw_mipi_dsi.c
241
ret = phy_init(mipi_dsi->phy);
drivers/gpu/drm/meson/meson_dw_mipi_dsi.c
260
return phy_exit(mipi_dsi->phy);
drivers/gpu/drm/meson/meson_dw_mipi_dsi.c
281
mipi_dsi->phy = devm_phy_get(dev, "dphy");
drivers/gpu/drm/meson/meson_dw_mipi_dsi.c
282
if (IS_ERR(mipi_dsi->phy))
drivers/gpu/drm/meson/meson_dw_mipi_dsi.c
283
return dev_err_probe(dev, PTR_ERR(mipi_dsi->phy),
drivers/gpu/drm/meson/meson_dw_mipi_dsi.c
40
struct phy *phy;
drivers/gpu/drm/msm/dp/dp_aux.c
28
struct phy *phy;
drivers/gpu/drm/msm/dp/dp_aux.c
412
phy_calibrate(aux->phy);
drivers/gpu/drm/msm/dp/dp_aux.c
516
phy_calibrate(aux->phy);
drivers/gpu/drm/msm/dp/dp_aux.c
683
struct phy *phy,
drivers/gpu/drm/msm/dp/dp_aux.c
699
aux->phy = phy;
drivers/gpu/drm/msm/dp/dp_aux.h
26
struct phy;
drivers/gpu/drm/msm/dp/dp_aux.h
28
struct phy *phy,
drivers/gpu/drm/msm/dp/dp_ctrl.c
122
struct phy *phy;
drivers/gpu/drm/msm/dp/dp_ctrl.c
1312
phy_configure(ctrl->phy, phy_opts);
drivers/gpu/drm/msm/dp/dp_ctrl.c
1796
struct phy *phy = ctrl->phy;
drivers/gpu/drm/msm/dp/dp_ctrl.c
1803
phy_configure(phy, &ctrl->phy_opts);
drivers/gpu/drm/msm/dp/dp_ctrl.c
1804
phy_power_on(phy);
drivers/gpu/drm/msm/dp/dp_ctrl.c
1924
struct phy *phy;
drivers/gpu/drm/msm/dp/dp_ctrl.c
1927
phy = ctrl->phy;
drivers/gpu/drm/msm/dp/dp_ctrl.c
1930
phy_init(phy);
drivers/gpu/drm/msm/dp/dp_ctrl.c
1933
phy, phy->init_count, phy->power_count);
drivers/gpu/drm/msm/dp/dp_ctrl.c
1939
struct phy *phy;
drivers/gpu/drm/msm/dp/dp_ctrl.c
1942
phy = ctrl->phy;
drivers/gpu/drm/msm/dp/dp_ctrl.c
1945
phy_exit(phy);
drivers/gpu/drm/msm/dp/dp_ctrl.c
1947
phy, phy->init_count, phy->power_count);
drivers/gpu/drm/msm/dp/dp_ctrl.c
1952
struct phy *phy = ctrl->phy;
drivers/gpu/drm/msm/dp/dp_ctrl.c
1957
phy_configure(phy, &ctrl->phy_opts);
drivers/gpu/drm/msm/dp/dp_ctrl.c
1967
phy_power_off(phy);
drivers/gpu/drm/msm/dp/dp_ctrl.c
1982
struct phy *phy;
drivers/gpu/drm/msm/dp/dp_ctrl.c
1984
phy = ctrl->phy;
drivers/gpu/drm/msm/dp/dp_ctrl.c
1993
phy_power_off(phy);
drivers/gpu/drm/msm/dp/dp_ctrl.c
1996
phy_exit(phy);
drivers/gpu/drm/msm/dp/dp_ctrl.c
1997
phy_init(phy);
drivers/gpu/drm/msm/dp/dp_ctrl.c
2000
phy, phy->init_count, phy->power_count);
drivers/gpu/drm/msm/dp/dp_ctrl.c
2566
struct phy *phy;
drivers/gpu/drm/msm/dp/dp_ctrl.c
2569
phy = ctrl->phy;
drivers/gpu/drm/msm/dp/dp_ctrl.c
2586
phy_power_off(phy);
drivers/gpu/drm/msm/dp/dp_ctrl.c
2589
phy_exit(phy);
drivers/gpu/drm/msm/dp/dp_ctrl.c
2590
phy_init(phy);
drivers/gpu/drm/msm/dp/dp_ctrl.c
2593
phy, phy->init_count, phy->power_count);
drivers/gpu/drm/msm/dp/dp_ctrl.c
2599
struct phy *phy;
drivers/gpu/drm/msm/dp/dp_ctrl.c
2602
phy = ctrl->phy;
drivers/gpu/drm/msm/dp/dp_ctrl.c
2610
phy, phy->init_count, phy->power_count);
drivers/gpu/drm/msm/dp/dp_ctrl.c
2612
phy_power_off(phy);
drivers/gpu/drm/msm/dp/dp_ctrl.c
2615
phy, phy->init_count, phy->power_count);
drivers/gpu/drm/msm/dp/dp_ctrl.c
2621
struct phy *phy;
drivers/gpu/drm/msm/dp/dp_ctrl.c
2624
phy = ctrl->phy;
drivers/gpu/drm/msm/dp/dp_ctrl.c
2640
phy_power_off(phy);
drivers/gpu/drm/msm/dp/dp_ctrl.c
2642
phy, phy->init_count, phy->power_count);
drivers/gpu/drm/msm/dp/dp_ctrl.c
2746
struct phy *phy,
drivers/gpu/drm/msm/dp/dp_ctrl.c
2785
ctrl->phy = phy;
drivers/gpu/drm/msm/dp/dp_ctrl.h
17
struct phy;
drivers/gpu/drm/msm/dp/dp_ctrl.h
31
struct phy *phy,
drivers/gpu/drm/msm/dp/dp_display.c
766
struct phy *phy;
drivers/gpu/drm/msm/dp/dp_display.c
768
phy = devm_phy_get(dev, "dp");
drivers/gpu/drm/msm/dp/dp_display.c
769
if (IS_ERR(phy))
drivers/gpu/drm/msm/dp/dp_display.c
770
return PTR_ERR(phy);
drivers/gpu/drm/msm/dp/dp_display.c
772
rc = phy_set_mode_ext(phy, PHY_MODE_DP,
drivers/gpu/drm/msm/dp/dp_display.c
779
dp->aux = msm_dp_aux_get(dev, phy, dp->msm_dp_display.is_edp, dp->aux_base);
drivers/gpu/drm/msm/dp/dp_display.c
804
phy, dp->ahb_base, dp->link_base);
drivers/gpu/drm/msm/dsi/dsi.c
267
msm_dsi_phy_snapshot(disp_state, msm_dsi->phy);
drivers/gpu/drm/msm/dsi/dsi.c
39
msm_dsi->phy = platform_get_drvdata(phy_pdev);
drivers/gpu/drm/msm/dsi/dsi.c
49
if (!msm_dsi->phy) {
drivers/gpu/drm/msm/dsi/dsi.c
67
msm_dsi->phy = NULL;
drivers/gpu/drm/msm/dsi/dsi.h
143
int msm_dsi_phy_enable(struct msm_dsi_phy *phy,
drivers/gpu/drm/msm/dsi/dsi.h
146
void msm_dsi_phy_disable(struct msm_dsi_phy *phy);
drivers/gpu/drm/msm/dsi/dsi.h
147
void msm_dsi_phy_set_usecase(struct msm_dsi_phy *phy,
drivers/gpu/drm/msm/dsi/dsi.h
149
void msm_dsi_phy_pll_save_state(struct msm_dsi_phy *phy);
drivers/gpu/drm/msm/dsi/dsi.h
150
int msm_dsi_phy_pll_restore_state(struct msm_dsi_phy *phy);
drivers/gpu/drm/msm/dsi/dsi.h
151
void msm_dsi_phy_snapshot(struct msm_disp_state *disp_state, struct msm_dsi_phy *phy);
drivers/gpu/drm/msm/dsi/dsi.h
152
bool msm_dsi_phy_set_continuous_clock(struct msm_dsi_phy *phy, bool enable);
drivers/gpu/drm/msm/dsi/dsi.h
39
struct msm_dsi_phy *phy;
drivers/gpu/drm/msm/dsi/dsi.h
77
bool is_bonded_dsi, struct msm_dsi_phy *phy);
drivers/gpu/drm/msm/dsi/dsi_host.c
2444
bool is_bonded_dsi, struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/dsi_host.c
2489
dsi_ctrl_enable(msm_host, phy_shared_timings, phy);
drivers/gpu/drm/msm/dsi/dsi_host.c
795
struct msm_dsi_phy_shared_timings *phy_shared_timings, struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/dsi_host.c
900
if (msm_dsi_phy_set_continuous_clock(phy, true))
drivers/gpu/drm/msm/dsi/dsi_manager.c
101
msm_dsi_phy_set_usecase(clk_slave_dsi->phy,
drivers/gpu/drm/msm/dsi/dsi_manager.c
103
msm_dsi_host_set_phy_mode(msm_dsi->host, msm_dsi->phy);
drivers/gpu/drm/msm/dsi/dsi_manager.c
104
msm_dsi_host_set_phy_mode(other_dsi->host, other_dsi->phy);
drivers/gpu/drm/msm/dsi/dsi_manager.c
132
return msm_dsi_phy_enable(msm_dsi->phy, &clk_req, shared_timings);
drivers/gpu/drm/msm/dsi/dsi_manager.c
161
msm_dsi_phy_disable(mdsi->phy);
drivers/gpu/drm/msm/dsi/dsi_manager.c
190
msm_dsi_phy_disable(sdsi->phy);
drivers/gpu/drm/msm/dsi/dsi_manager.c
191
msm_dsi_phy_disable(mdsi->phy);
drivers/gpu/drm/msm/dsi/dsi_manager.c
194
msm_dsi_phy_disable(msm_dsi->phy);
drivers/gpu/drm/msm/dsi/dsi_manager.c
227
ret = msm_dsi_host_power_on(host, &phy_shared_timings[id], is_bonded_dsi, msm_dsi->phy);
drivers/gpu/drm/msm/dsi/dsi_manager.c
235
&phy_shared_timings[DSI_1], is_bonded_dsi, msm_dsi1->phy);
drivers/gpu/drm/msm/dsi/dsi_manager.c
368
msm_dsi_phy_pll_save_state(msm_dsi->phy);
drivers/gpu/drm/msm/dsi/dsi_manager.c
81
msm_dsi_phy_set_usecase(msm_dsi->phy, MSM_DSI_PHY_STANDALONE);
drivers/gpu/drm/msm/dsi/dsi_manager.c
82
msm_dsi_host_set_phy_mode(msm_dsi->host, msm_dsi->phy);
drivers/gpu/drm/msm/dsi/dsi_manager.c
99
msm_dsi_phy_set_usecase(clk_master_dsi->phy,
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
591
static int dsi_phy_get_id(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
593
struct platform_device *pdev = phy->pdev;
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
594
const struct msm_dsi_phy_cfg *cfg = phy->cfg;
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
612
struct msm_dsi_phy *phy;
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
617
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
618
if (!phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
621
phy->provided_clocks = devm_kzalloc(dev,
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
622
struct_size(phy->provided_clocks, hws, NUM_PROVIDED_CLKS),
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
624
if (!phy->provided_clocks)
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
627
phy->provided_clocks->num = NUM_PROVIDED_CLKS;
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
629
phy->cfg = of_device_get_match_data(&pdev->dev);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
630
if (!phy->cfg)
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
633
phy->pdev = pdev;
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
635
phy->id = dsi_phy_get_id(phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
636
if (phy->id < 0)
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
637
return dev_err_probe(dev, phy->id,
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
640
phy->regulator_ldo_mode = of_property_read_bool(dev->of_node,
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
643
phy->cphy_mode = (phy_type == PHY_TYPE_CPHY);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
645
phy->base = msm_ioremap_size(pdev, "dsi_phy", &phy->base_size);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
646
if (IS_ERR(phy->base))
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
647
return dev_err_probe(dev, PTR_ERR(phy->base),
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
650
phy->pll_base = msm_ioremap_size(pdev, "dsi_pll", &phy->pll_size);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
651
if (IS_ERR(phy->pll_base))
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
652
return dev_err_probe(dev, PTR_ERR(phy->pll_base),
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
655
if (phy->cfg->has_phy_lane) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
656
phy->lane_base = msm_ioremap_size(pdev, "dsi_phy_lane", &phy->lane_size);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
657
if (IS_ERR(phy->lane_base))
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
658
return dev_err_probe(dev, PTR_ERR(phy->lane_base),
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
662
if (phy->cfg->has_phy_regulator) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
663
phy->reg_base = msm_ioremap_size(pdev, "dsi_phy_regulator", &phy->reg_size);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
664
if (IS_ERR(phy->reg_base))
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
665
return dev_err_probe(dev, PTR_ERR(phy->reg_base),
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
669
if (phy->cfg->ops.parse_dt_properties) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
670
ret = phy->cfg->ops.parse_dt_properties(phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
675
ret = devm_regulator_bulk_get_const(dev, phy->cfg->num_regulators,
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
676
phy->cfg->regulator_data,
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
677
&phy->supplies);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
681
platform_set_drvdata(pdev, phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
695
if (phy->cfg->ops.pll_init) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
696
ret = phy->cfg->ops.pll_init(phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
703
phy->provided_clocks);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
734
int msm_dsi_phy_enable(struct msm_dsi_phy *phy,
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
741
if (!phy || !phy->cfg->ops.enable)
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
744
dev = &phy->pdev->dev;
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
753
ret = regulator_bulk_enable(phy->cfg->num_regulators, phy->supplies);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
760
ret = phy->cfg->ops.enable(phy, clk_req);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
766
memcpy(shared_timings, &phy->timing.shared_timings,
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
775
if (phy->usecase != MSM_DSI_PHY_SLAVE) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
776
ret = msm_dsi_phy_pll_restore_state(phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
787
if (phy->cfg->ops.disable)
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
788
phy->cfg->ops.disable(phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
790
regulator_bulk_disable(phy->cfg->num_regulators, phy->supplies);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
797
void msm_dsi_phy_disable(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
799
if (!phy || !phy->cfg->ops.disable)
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
802
phy->cfg->ops.disable(phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
804
regulator_bulk_disable(phy->cfg->num_regulators, phy->supplies);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
805
pm_runtime_put(&phy->pdev->dev);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
808
void msm_dsi_phy_set_usecase(struct msm_dsi_phy *phy,
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
811
if (phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
812
phy->usecase = uc;
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
816
bool msm_dsi_phy_set_continuous_clock(struct msm_dsi_phy *phy, bool enable)
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
818
if (!phy || !phy->cfg->ops.set_continuous_clock)
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
821
return phy->cfg->ops.set_continuous_clock(phy, enable);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
824
void msm_dsi_phy_pll_save_state(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
826
if (phy->cfg->ops.save_pll_state) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
827
phy->cfg->ops.save_pll_state(phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
828
phy->state_saved = true;
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
832
int msm_dsi_phy_pll_restore_state(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
836
if (phy->cfg->ops.restore_pll_state && phy->state_saved) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
837
ret = phy->cfg->ops.restore_pll_state(phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
841
phy->state_saved = false;
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
847
void msm_dsi_phy_snapshot(struct msm_disp_state *disp_state, struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
850
phy->base_size, phy->base,
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
851
"dsi%d_phy", phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
854
if (phy->pll_on)
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
856
phy->pll_size, phy->pll_base,
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
857
"dsi%d_pll", phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
859
if (phy->lane_base)
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
861
phy->lane_size, phy->lane_base,
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
862
"dsi%d_lane", phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
864
if (phy->reg_base)
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
866
phy->reg_size, phy->reg_base,
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
867
"dsi%d_reg", phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.h
17
int (*pll_init)(struct msm_dsi_phy *phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.h
18
int (*enable)(struct msm_dsi_phy *phy,
drivers/gpu/drm/msm/dsi/phy/dsi_phy.h
20
void (*disable)(struct msm_dsi_phy *phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.h
21
void (*save_pll_state)(struct msm_dsi_phy *phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.h
22
int (*restore_pll_state)(struct msm_dsi_phy *phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.h
23
bool (*set_continuous_clock)(struct msm_dsi_phy *phy, bool enable);
drivers/gpu/drm/msm/dsi/phy/dsi_phy.h
24
int (*parse_dt_properties)(struct msm_dsi_phy *phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
186
void __iomem *base = pll->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
210
void __iomem *base = pll->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
234
void __iomem *base = pll->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
257
DBG("DSI PLL%d rate=%lu, parent's=%lu", pll_10nm->phy->id, rate,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
282
struct device *dev = &pll->phy->pdev->dev;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
288
rc = readl_poll_timeout_atomic(pll->phy->pll_base +
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
296
pll->phy->id, status);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
303
u32 data = readl(pll->phy->base + REG_DSI_10nm_PHY_CMN_CTRL_0);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
305
writel(0, pll->phy->pll_base + REG_DSI_10nm_PHY_PLL_SYSTEM_MUXES);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
306
writel(data & ~BIT(5), pll->phy->base + REG_DSI_10nm_PHY_CMN_CTRL_0);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
312
u32 data = readl(pll->phy->base + REG_DSI_10nm_PHY_CMN_CTRL_0);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
314
writel(data | BIT(5), pll->phy->base + REG_DSI_10nm_PHY_CMN_CTRL_0);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
315
writel(0xc0, pll->phy->pll_base + REG_DSI_10nm_PHY_PLL_SYSTEM_MUXES);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
323
data = readl(pll->phy->base + REG_DSI_10nm_PHY_CMN_CLK_CFG1);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
324
writel(data & ~BIT(5), pll->phy->base + REG_DSI_10nm_PHY_CMN_CLK_CFG1);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
331
data = readl(pll->phy->base + REG_DSI_10nm_PHY_CMN_CLK_CFG1);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
332
writel(data | BIT(5), pll->phy->base + REG_DSI_10nm_PHY_CMN_CLK_CFG1);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
338
struct device *dev = &pll_10nm->phy->pdev->dev;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
352
writel(0x01, pll_10nm->phy->base + REG_DSI_10nm_PHY_CMN_PLL_CNTRL);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
363
DRM_DEV_ERROR(dev, "PLL(%d) lock failed\n", pll_10nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
367
pll_10nm->phy->pll_on = true;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
373
writel(0x01, pll_10nm->phy->base + REG_DSI_10nm_PHY_CMN_RBUF_CTRL);
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
383
writel(0, pll->phy->base + REG_DSI_10nm_PHY_CMN_RBUF_CTRL);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
397
writel(0, pll_10nm->phy->base + REG_DSI_10nm_PHY_CMN_PLL_CNTRL);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
405
pll_10nm->phy->pll_on = false;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
412
void __iomem *base = pll_10nm->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
442
pll_10nm->phy->id, (unsigned long)vco_rate, dec, frac);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
453
pll_10nm->phy->cfg->min_pll_rate, pll_10nm->phy->cfg->max_pll_rate);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
470
static void dsi_10nm_pll_save_state(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
472
struct dsi_pll_10nm *pll_10nm = to_pll_10nm(phy->vco_hw);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
474
void __iomem *phy_base = pll_10nm->phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
477
cached->pll_out_div = readl(pll_10nm->phy->pll_base +
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
489
pll_10nm->phy->id, cached->pll_out_div, cached->bit_clk_div,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
493
static int dsi_10nm_pll_restore_state(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
495
struct dsi_pll_10nm *pll_10nm = to_pll_10nm(phy->vco_hw);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
497
void __iomem *phy_base = pll_10nm->phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
501
val = readl(pll_10nm->phy->pll_base + REG_DSI_10nm_PHY_PLL_PLL_OUTDIV_RATE);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
504
writel(val, pll_10nm->phy->pll_base + REG_DSI_10nm_PHY_PLL_PLL_OUTDIV_RATE);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
514
ret = dsi_pll_10nm_vco_set_rate(phy->vco_hw,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
518
DRM_DEV_ERROR(&pll_10nm->phy->pdev->dev,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
523
DBG("DSI PLL%d", pll_10nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
528
static int dsi_10nm_set_usecase(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
530
struct dsi_pll_10nm *pll_10nm = to_pll_10nm(phy->vco_hw);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
531
void __iomem *base = phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
534
DBG("DSI PLL%d", pll_10nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
536
switch (phy->usecase) {
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
573
struct device *dev = &pll_10nm->phy->pdev->dev;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
578
DBG("DSI%d", pll_10nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
580
snprintf(clk_name, sizeof(clk_name), "dsi%dvco_clk", pll_10nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
587
snprintf(clk_name, sizeof(clk_name), "dsi%d_pll_out_div_clk", pll_10nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
591
pll_10nm->phy->pll_base +
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
599
snprintf(clk_name, sizeof(clk_name), "dsi%d_pll_bit_clk", pll_10nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
604
pll_10nm->phy->base + REG_DSI_10nm_PHY_CMN_CLK_CFG0,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
611
snprintf(clk_name, sizeof(clk_name), "dsi%d_phy_pll_out_byteclk", pll_10nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
623
snprintf(clk_name, sizeof(clk_name), "dsi%d_pll_by_2_bit_clk", pll_10nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
632
snprintf(clk_name, sizeof(clk_name), "dsi%d_pll_post_out_div_clk", pll_10nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
641
snprintf(clk_name, sizeof(clk_name), "dsi%d_pclk_mux", pll_10nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
649
}), 4, 0, pll_10nm->phy->base +
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
656
snprintf(clk_name, sizeof(clk_name), "dsi%d_phy_pll_out_dsiclk", pll_10nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
660
0, pll_10nm->phy->base + REG_DSI_10nm_PHY_CMN_CLK_CFG0,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
676
static int dsi_pll_10nm_init(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
678
struct platform_device *pdev = phy->pdev;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
686
DBG("DSI PLL%d", phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
688
pll_10nm_list[phy->id] = pll_10nm;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
692
pll_10nm->phy = phy;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
694
ret = pll_10nm_register(pll_10nm, phy->provided_clocks->hws);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
700
phy->vco_hw = &pll_10nm->clk_hw;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
703
msm_dsi_phy_pll_save_state(phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
710
pll_10nm->vco_current_rate = pll_10nm->phy->cfg->min_pll_rate;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
715
static int dsi_phy_hw_v3_0_is_pll_on(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
717
void __iomem *base = phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
726
static void dsi_phy_hw_v3_0_config_lpcdrx(struct msm_dsi_phy *phy, bool enable)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
728
void __iomem *lane_base = phy->lane_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
73
struct msm_dsi_phy *phy;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
741
static void dsi_phy_hw_v3_0_lane_settings(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
745
void __iomem *lane_base = phy->lane_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
746
struct dsi_phy_10nm_tuning_cfg *tuning_cfg = phy->tuning_cfg;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
748
if (phy->cfg->quirks & DSI_PHY_10NM_QUIRK_OLD_TIMINGS)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
764
dsi_phy_hw_v3_0_config_lpcdrx(phy, true);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
783
if (!(phy->cfg->quirks & DSI_PHY_10NM_QUIRK_OLD_TIMINGS)) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
790
static int dsi_10nm_phy_enable(struct msm_dsi_phy *phy,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
797
struct msm_dsi_dphy_timing *timing = &phy->timing;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
798
void __iomem *base = phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
799
struct dsi_phy_10nm_tuning_cfg *tuning_cfg = phy->tuning_cfg;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
805
DRM_DEV_ERROR(&phy->pdev->dev,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
810
if (dsi_phy_hw_v3_0_is_pll_on(phy))
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
870
ret = dsi_10nm_set_usecase(phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
872
DRM_DEV_ERROR(&phy->pdev->dev, "%s: set pll usecase failed, %d\n",
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
878
dsi_phy_hw_v3_0_lane_settings(phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
880
DBG("DSI%d PHY enabled", phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
885
static void dsi_10nm_phy_disable(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
887
void __iomem *base = phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
892
if (dsi_phy_hw_v3_0_is_pll_on(phy))
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
895
dsi_phy_hw_v3_0_config_lpcdrx(phy, false);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
908
DBG("DSI%d PHY disabled", phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
911
static int dsi_10nm_phy_parse_dt(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
913
struct device *dev = &phy->pdev->dev;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c
992
phy->tuning_cfg = tuning_cfg;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
1001
ret = dsi_14nm_set_usecase(phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
1003
DRM_DEV_ERROR(&phy->pdev->dev, "%s: set pll usecase failed, %d\n",
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
1014
static void dsi_14nm_phy_disable(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
1016
writel(0, phy->base + REG_DSI_14nm_PHY_CMN_GLBL_TEST_CTRL);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
1017
writel(0, phy->base + REG_DSI_14nm_PHY_CMN_CTRL_0);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
115
void __iomem *base = pll_14nm->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
287
void __iomem *base = pll->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
322
void __iomem *base = pll->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
370
void __iomem *cmn_base = pll_14nm->phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
389
void __iomem *base = pll->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
390
void __iomem *cmn_base = pll->phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
393
DBG("DSI%d PLL", pll->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
466
DBG("DSI PLL%d rate=%lu, parent's=%lu", pll_14nm->phy->id, rate,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
483
if (pll_14nm->phy->usecase == MSM_DSI_PHY_MASTER) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
498
void __iomem *base = pll_14nm->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
537
void __iomem *base = pll_14nm->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
538
void __iomem *cmn_base = pll_14nm->phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
543
if (unlikely(pll_14nm->phy->pll_on))
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
547
dsi_pll_14nm_vco_set_rate(hw, pll_14nm->phy->cfg->min_pll_rate, VCO_REF_CLK_RATE);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
556
DRM_DEV_ERROR(&pll_14nm->phy->pdev->dev, "DSI PLL lock failed\n");
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
561
pll_14nm->phy->pll_on = true;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
569
void __iomem *cmn_base = pll_14nm->phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
573
if (unlikely(!pll_14nm->phy->pll_on))
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
578
pll_14nm->phy->pll_on = false;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
587
pll_14nm->phy->cfg->min_pll_rate, pll_14nm->phy->cfg->max_pll_rate);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
609
void __iomem *base = pll_14nm->phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
614
DBG("DSI%d PLL parent rate=%lu", pll_14nm->phy->id, parent_rate);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
629
DBG("DSI%d PLL parent rate=%lu", pll_14nm->phy->id, req->rate);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
639
void __iomem *base = pll_14nm->phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
647
DBG("DSI%d PLL parent rate=%lu parent rate %lu", pll_14nm->phy->id, rate,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
664
if (pll_14nm->phy->usecase == MSM_DSI_PHY_MASTER) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
666
void __iomem *slave_base = pll_14nm_slave->phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
686
static void dsi_14nm_pll_save_state(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
688
struct dsi_pll_14nm *pll_14nm = to_pll_14nm(phy->vco_hw);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
690
void __iomem *cmn_base = pll_14nm->phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
698
DBG("DSI%d PLL save state %x %x", pll_14nm->phy->id,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
701
cached_state->vco_rate = clk_hw_get_rate(phy->vco_hw);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
704
static int dsi_14nm_pll_restore_state(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
706
struct dsi_pll_14nm *pll_14nm = to_pll_14nm(phy->vco_hw);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
708
void __iomem *cmn_base = pll_14nm->phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
712
ret = dsi_pll_14nm_vco_set_rate(phy->vco_hw,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
715
DRM_DEV_ERROR(&pll_14nm->phy->pdev->dev,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
722
DBG("DSI%d PLL restore state %x %x", pll_14nm->phy->id,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
728
if (phy->usecase == MSM_DSI_PHY_MASTER) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
730
void __iomem *slave_base = pll_14nm_slave->phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
738
static int dsi_14nm_set_usecase(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
740
struct dsi_pll_14nm *pll_14nm = to_pll_14nm(phy->vco_hw);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
741
void __iomem *base = phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
744
switch (phy->usecase) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
75
struct msm_dsi_phy *phy;
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
774
struct device *dev = &pll_14nm->phy->pdev->dev;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
815
struct device *dev = &pll_14nm->phy->pdev->dev;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
819
DBG("DSI%d", pll_14nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
821
snprintf(clk_name, sizeof(clk_name), "dsi%dvco_clk", pll_14nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
828
snprintf(clk_name, sizeof(clk_name), "dsi%dn1_postdiv_clk", pll_14nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
836
snprintf(clk_name, sizeof(clk_name), "dsi%dpllbyte", pll_14nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
846
snprintf(clk_name, sizeof(clk_name), "dsi%dn1_postdivby2_clk", pll_14nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
857
snprintf(clk_name, sizeof(clk_name), "dsi%dpll", pll_14nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
873
static int dsi_pll_14nm_init(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
875
struct platform_device *pdev = phy->pdev;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
886
DBG("PLL%d", phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
888
pll_14nm_list[phy->id] = pll_14nm;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
892
pll_14nm->phy = phy;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
894
ret = pll_14nm_register(pll_14nm, phy->provided_clocks->hws);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
900
phy->vco_hw = &pll_14nm->clk_hw;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
905
static void dsi_14nm_dphy_set_timing(struct msm_dsi_phy *phy,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
909
void __iomem *base = phy->lane_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
942
static int dsi_14nm_phy_enable(struct msm_dsi_phy *phy,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
945
struct msm_dsi_dphy_timing *timing = &phy->timing;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
949
void __iomem *base = phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
950
void __iomem *lane_base = phy->lane_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
954
DRM_DEV_ERROR(&phy->pdev->dev,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
961
if (phy->usecase != MSM_DSI_PHY_STANDALONE)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
981
dsi_14nm_dphy_set_timing(phy, timing, i);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c
996
if (phy->id == DSI_1 && phy->usecase == MSM_DSI_PHY_SLAVE)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c
10
static void dsi_20nm_dphy_set_timing(struct msm_dsi_phy *phy,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c
112
dsi_20nm_dphy_set_timing(phy, timing);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c
125
static void dsi_20nm_phy_disable(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c
127
writel(0, phy->base + REG_DSI_20nm_PHY_CTRL_0);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c
128
dsi_20nm_phy_regulator_ctrl(phy, false);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c
13
void __iomem *base = phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c
43
static void dsi_20nm_phy_regulator_ctrl(struct msm_dsi_phy *phy, bool enable)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c
45
void __iomem *base = phy->reg_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c
52
if (phy->regulator_ldo_mode) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c
53
writel(0x1d, phy->base + REG_DSI_20nm_PHY_LDO_CNTRL);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c
63
writel(0x00, phy->base + REG_DSI_20nm_PHY_LDO_CNTRL);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c
67
static int dsi_20nm_phy_enable(struct msm_dsi_phy *phy,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c
70
struct msm_dsi_dphy_timing *timing = &phy->timing;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c
72
void __iomem *base = phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c
79
DRM_DEV_ERROR(&phy->pdev->dev,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c
84
dsi_20nm_phy_regulator_ctrl(phy, true);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c
89
if (phy->id == DSI_1 && phy->usecase == MSM_DSI_PHY_STANDALONE)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
102
void __iomem *base = pll_28nm->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
121
struct device *dev = &pll_28nm->phy->pdev->dev;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
122
void __iomem *base = pll_28nm->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
213
if (pll_28nm->phy->cfg->quirks & DSI_PHY_28NM_QUIRK_PHY_LP)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
246
void __iomem *base = pll_28nm->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
292
struct device *dev = &pll_28nm->phy->pdev->dev;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
293
void __iomem *base = pll_28nm->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
299
DBG("id=%d", pll_28nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
379
if (unlikely(pll_28nm->phy->pll_on))
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
385
pll_28nm->phy->pll_on = true;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
396
struct device *dev = &pll_28nm->phy->pdev->dev;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
397
void __iomem *base = pll_28nm->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
403
DBG("id=%d", pll_28nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
470
struct device *dev = &pll_28nm->phy->pdev->dev;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
471
void __iomem *base = pll_28nm->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
476
DBG("id=%d", pll_28nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
478
if (unlikely(pll_28nm->phy->pll_on))
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
517
pll_28nm->phy->pll_on = true;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
526
DBG("id=%d", pll_28nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
528
if (unlikely(!pll_28nm->phy->pll_on))
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
531
writel(0, pll_28nm->phy->pll_base + REG_DSI_28nm_PHY_PLL_GLB_CFG);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
533
pll_28nm->phy->pll_on = false;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
542
pll_28nm->phy->cfg->min_pll_rate,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
543
pll_28nm->phy->cfg->max_pll_rate);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
579
static void dsi_28nm_pll_save_state(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
581
struct dsi_pll_28nm *pll_28nm = to_pll_28nm(phy->vco_hw);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
583
void __iomem *base = pll_28nm->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
590
if (dsi_pll_28nm_clk_is_enabled(phy->vco_hw))
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
591
cached_state->vco_rate = clk_hw_get_rate(phy->vco_hw);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
596
static int dsi_28nm_pll_restore_state(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
598
struct dsi_pll_28nm *pll_28nm = to_pll_28nm(phy->vco_hw);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
600
void __iomem *base = pll_28nm->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
603
ret = dsi_pll_28nm_clk_set_rate(phy->vco_hw,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
606
DRM_DEV_ERROR(&pll_28nm->phy->pdev->dev,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
629
struct device *dev = &pll_28nm->phy->pdev->dev;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
633
DBG("%d", pll_28nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
635
if (pll_28nm->phy->cfg->quirks & DSI_PHY_28NM_QUIRK_PHY_LP)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
637
else if (pll_28nm->phy->cfg->quirks & DSI_PHY_28NM_QUIRK_PHY_8226)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
642
snprintf(clk_name, sizeof(clk_name), "dsi%dvco_clk", pll_28nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
648
snprintf(clk_name, sizeof(clk_name), "dsi%danalog_postdiv_clk", pll_28nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
651
pll_28nm->phy->pll_base +
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
657
snprintf(clk_name, sizeof(clk_name), "dsi%dindirect_path_div2_clk", pll_28nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
663
snprintf(clk_name, sizeof(clk_name), "dsi%dpll", pll_28nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
665
&pll_28nm->clk_hw, 0, pll_28nm->phy->pll_base +
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
672
snprintf(clk_name, sizeof(clk_name), "dsi%dbyte_mux", pll_28nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
677
}), 2, CLK_SET_RATE_PARENT, pll_28nm->phy->pll_base +
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
682
snprintf(clk_name, sizeof(clk_name), "dsi%dpllbyte", pll_28nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
692
static int dsi_pll_28nm_init(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
694
struct platform_device *pdev = phy->pdev;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
705
pll_28nm->phy = phy;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
707
ret = pll_28nm_register(pll_28nm, phy->provided_clocks->hws);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
713
phy->vco_hw = &pll_28nm->clk_hw;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
718
static void dsi_28nm_dphy_set_timing(struct msm_dsi_phy *phy,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
721
void __iomem *base = phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
73
struct msm_dsi_phy *phy;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
751
static void dsi_28nm_phy_regulator_enable_dcdc(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
753
void __iomem *base = phy->reg_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
763
writel(0x00, phy->base + REG_DSI_28nm_PHY_LDO_CNTRL);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
766
static void dsi_28nm_phy_regulator_enable_ldo(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
768
void __iomem *base = phy->reg_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
778
if (phy->cfg->quirks & DSI_PHY_28NM_QUIRK_PHY_LP)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
779
writel(0x05, phy->base + REG_DSI_28nm_PHY_LDO_CNTRL);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
781
writel(0x0d, phy->base + REG_DSI_28nm_PHY_LDO_CNTRL);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
784
static void dsi_28nm_phy_regulator_ctrl(struct msm_dsi_phy *phy, bool enable)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
787
writel(0, phy->reg_base + REG_DSI_28nm_PHY_REGULATOR_CAL_PWR_CFG);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
791
if (phy->regulator_ldo_mode)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
792
dsi_28nm_phy_regulator_enable_ldo(phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
794
dsi_28nm_phy_regulator_enable_dcdc(phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
797
static int dsi_28nm_phy_enable(struct msm_dsi_phy *phy,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
800
struct msm_dsi_dphy_timing *timing = &phy->timing;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
802
void __iomem *base = phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
808
DRM_DEV_ERROR(&phy->pdev->dev,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
816
dsi_28nm_phy_regulator_ctrl(phy, true);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
818
dsi_28nm_dphy_set_timing(phy, timing);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
845
if (phy->id == DSI_1 && phy->usecase == MSM_DSI_PHY_SLAVE)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
854
static void dsi_28nm_phy_disable(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
856
writel(0, phy->base + REG_DSI_28nm_PHY_CTRL_0);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
857
dsi_28nm_phy_regulator_ctrl(phy, false);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c
87
val = readl(pll_28nm->phy->pll_base + REG_DSI_28nm_PHY_PLL_STATUS);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
142
void __iomem *base = pll_28nm->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
175
struct device *dev = &pll_28nm->phy->pdev->dev;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
176
void __iomem *base = pll_28nm->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
182
DBG("id=%d", pll_28nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
184
if (unlikely(pll_28nm->phy->pll_on))
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
215
pll_28nm->phy->pll_on = true;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
224
DBG("id=%d", pll_28nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
226
if (unlikely(!pll_28nm->phy->pll_on))
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
229
writel(0x00, pll_28nm->phy->pll_base + REG_DSI_28nm_8960_PHY_PLL_CTRL_0);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
231
pll_28nm->phy->pll_on = false;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
240
pll_28nm->phy->cfg->min_pll_rate, pll_28nm->phy->cfg->max_pll_rate);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
339
static void dsi_28nm_pll_save_state(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
341
struct dsi_pll_28nm *pll_28nm = to_pll_28nm(phy->vco_hw);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
343
void __iomem *base = pll_28nm->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
352
cached_state->vco_rate = clk_hw_get_rate(phy->vco_hw);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
355
static int dsi_28nm_pll_restore_state(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
357
struct dsi_pll_28nm *pll_28nm = to_pll_28nm(phy->vco_hw);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
359
void __iomem *base = pll_28nm->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
362
ret = dsi_pll_28nm_clk_set_rate(phy->vco_hw,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
365
DRM_DEV_ERROR(&pll_28nm->phy->pdev->dev,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
388
struct device *dev = &pll_28nm->phy->pdev->dev;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
394
DBG("%d", pll_28nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
400
snprintf(clk_name, sizeof(clk_name), "dsi%dvco_clk", pll_28nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
411
bytediv->reg = pll_28nm->phy->pll_base + REG_DSI_28nm_8960_PHY_PLL_CTRL_9;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
413
snprintf(clk_name, sizeof(clk_name), "dsi%dpllbyte", pll_28nm->phy->id + 1);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
429
snprintf(clk_name, sizeof(clk_name), "dsi%dpll", pll_28nm->phy->id + 1);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
432
&pll_28nm->clk_hw, 0, pll_28nm->phy->pll_base +
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
442
static int dsi_pll_28nm_8960_init(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
444
struct platform_device *pdev = phy->pdev;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
455
pll_28nm->phy = phy;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
457
ret = pll_28nm_register(pll_28nm, phy->provided_clocks->hws);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
463
phy->vco_hw = &pll_28nm->clk_hw;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
468
static void dsi_28nm_dphy_set_timing(struct msm_dsi_phy *phy,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
471
void __iomem *base = phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
499
static void dsi_28nm_phy_regulator_init(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
501
void __iomem *base = phy->reg_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
510
static void dsi_28nm_phy_regulator_ctrl(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
512
void __iomem *base = phy->reg_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
521
static void dsi_28nm_phy_calibration(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
523
void __iomem *base = phy->reg_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
550
static void dsi_28nm_phy_lane_config(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
552
void __iomem *base = phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
572
static int dsi_28nm_phy_enable(struct msm_dsi_phy *phy,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
575
struct msm_dsi_dphy_timing *timing = &phy->timing;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
576
void __iomem *base = phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
581
DRM_DEV_ERROR(&phy->pdev->dev,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
587
dsi_28nm_phy_regulator_init(phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
602
dsi_28nm_phy_regulator_ctrl(phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
604
dsi_28nm_phy_calibration(phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
606
dsi_28nm_phy_lane_config(phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
613
dsi_28nm_dphy_set_timing(phy, timing);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
618
static void dsi_28nm_phy_disable(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
620
writel(0x0, phy->base + REG_DSI_28nm_8960_PHY_CTRL_0);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
64
struct msm_dsi_phy *phy;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
78
val = readl(pll_28nm->phy->pll_base + REG_DSI_28nm_8960_PHY_PLL_RDY);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c
98
void __iomem *base = pll_28nm->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1010
if (phy->cphy_mode) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1024
if ((phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V7_2)) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1025
if (phy->cphy_mode) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1037
} else if ((phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V5_2)) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1038
if (phy->cphy_mode) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1049
} else if ((phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V4_3)) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1050
if (phy->cphy_mode) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1057
} else if (phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V4_2) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1058
if (phy->cphy_mode) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1065
} else if (phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V4_1) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1066
if (phy->cphy_mode) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1075
if (phy->cphy_mode) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1099
if ((phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V5_2) ||
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1100
(phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V7_2) ||
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1108
if (phy->cphy_mode)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1122
if (phy->cphy_mode)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1136
if (!phy->cphy_mode)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1139
ret = dsi_7nm_set_usecase(phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1141
DRM_DEV_ERROR(&phy->pdev->dev, "%s: set pll usecase failed, %d\n",
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1147
if (phy->cphy_mode) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1179
dsi_phy_hw_v4_0_lane_settings(phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1181
DBG("DSI%d PHY enabled", phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1186
static bool dsi_7nm_set_continuous_clock(struct msm_dsi_phy *phy, bool enable)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1188
void __iomem *base = phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1201
static void dsi_7nm_phy_disable(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1203
void __iomem *base = phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1208
if (dsi_phy_hw_v4_0_is_pll_on(phy))
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1211
dsi_phy_hw_v4_0_config_lpcdrx(phy, false);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1214
if ((phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V4_3) ||
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1215
(phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V5_2) ||
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1216
(phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V7_2)) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
1236
DBG("DSI%d PHY disabled", phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
144
if (pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_PRE_V4_1) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
146
} else if ((pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V7_2)) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
167
} else if ((pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V5_2)) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
176
} else if (pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V4_1) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
240
void __iomem *base = pll->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
264
void __iomem *base = pll->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
267
if (!(pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_PRE_V4_1))
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
271
if (pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V4_1) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
278
if ((pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V4_2) ||
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
279
(pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V4_3)) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
286
if ((pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V5_2) ||
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
287
(pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V7_2)) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
316
writel(!(pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_PRE_V4_1) ? 0x3f : 0x22,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
319
if (!(pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_PRE_V4_1)) {
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
328
void __iomem *base = pll->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
341
writel(pll->phy->cphy_mode ? 0x00 : 0x10,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
354
DBG("DSI PLL%d rate=%lu, parent's=%lu", pll_7nm->phy->id, rate,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
385
rc = readl_poll_timeout_atomic(pll->phy->pll_base +
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
393
pll->phy->id, status);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
407
DRM_DEV_ERROR_RATELIMITED(&pll->phy->pdev->dev,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
415
data = readl(pll->phy->base + REG_DSI_7nm_PHY_CMN_CTRL_0);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
417
writel(0, pll->phy->pll_base + REG_DSI_7nm_PHY_PLL_SYSTEM_MUXES);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
418
writel(data, pll->phy->base + REG_DSI_7nm_PHY_CMN_CTRL_0);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
432
data = readl(pll->phy->base + REG_DSI_7nm_PHY_CMN_CTRL_0);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
434
writel(data, pll->phy->base + REG_DSI_7nm_PHY_CMN_CTRL_0);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
436
writel(0xc0, pll->phy->pll_base + REG_DSI_7nm_PHY_PLL_SYSTEM_MUXES);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
446
writel(val, pll->phy->base + REG_DSI_7nm_PHY_CMN_CLK_CFG0);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
457
data = readl(pll->phy->base + REG_DSI_7nm_PHY_CMN_CLK_CFG1);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
461
writel(data, pll->phy->base + REG_DSI_7nm_PHY_CMN_CLK_CFG1);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
474
writel(0x04, pll->phy->base + REG_DSI_7nm_PHY_CMN_CTRL_3);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
485
writel(BIT(0), pll->phy->base + REG_DSI_7nm_PHY_CMN_GLBL_DIGTOP_SPARE4);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
487
writel(0, pll->phy->base + REG_DSI_7nm_PHY_CMN_GLBL_DIGTOP_SPARE4);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
501
writel(BIT(0), pll_7nm->phy->base + REG_DSI_7nm_PHY_CMN_PLL_CNTRL);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
512
pr_err("PLL(%d) lock failed\n", pll_7nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
516
pll_7nm->phy->pll_on = true;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
531
writel(0x1, pll_7nm->phy->base + REG_DSI_7nm_PHY_CMN_RBUF_CTRL);
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
541
writel(0, pll->phy->base + REG_DSI_7nm_PHY_CMN_RBUF_CTRL);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
555
writel(0, pll_7nm->phy->base + REG_DSI_7nm_PHY_CMN_PLL_CNTRL);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
563
pll_7nm->phy->pll_on = false;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
570
void __iomem *base = pll_7nm->phy->pll_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
601
pll_7nm->phy->id, (unsigned long)vco_rate, dec, frac);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
614
pll_7nm->phy->cfg->min_pll_rate, pll_7nm->phy->cfg->max_pll_rate);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
631
static void dsi_7nm_pll_save_state(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
633
struct dsi_pll_7nm *pll_7nm = to_pll_7nm(phy->vco_hw);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
635
void __iomem *phy_base = pll_7nm->phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
639
cached->pll_out_div = readl(pll_7nm->phy->pll_base +
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
652
pll_7nm->phy->id, cached->pll_out_div, cached->bit_clk_div,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
656
static int dsi_7nm_pll_restore_state(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
658
struct dsi_pll_7nm *pll_7nm = to_pll_7nm(phy->vco_hw);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
663
val = readl(pll_7nm->phy->pll_base + REG_DSI_7nm_PHY_PLL_PLL_OUTDIV_RATE);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
666
writel(val, pll_7nm->phy->pll_base + REG_DSI_7nm_PHY_PLL_PLL_OUTDIV_RATE);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
674
ret = dsi_pll_7nm_vco_set_rate(phy->vco_hw,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
678
DRM_DEV_ERROR(&pll_7nm->phy->pdev->dev,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
683
DBG("DSI PLL%d", pll_7nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
688
static int dsi_7nm_set_usecase(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
690
struct dsi_pll_7nm *pll_7nm = to_pll_7nm(phy->vco_hw);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
691
void __iomem *base = phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
694
DBG("DSI PLL%d", pll_7nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
696
switch (phy->usecase) {
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/msm/dsi/phy/dsi_phy_7nm.c
702
if (phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V7_2)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
737
struct device *dev = &pll_7nm->phy->pdev->dev;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
742
DBG("DSI%d", pll_7nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
744
snprintf(clk_name, sizeof(clk_name), "dsi%dvco_clk", pll_7nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
751
snprintf(clk_name, sizeof(clk_name), "dsi%d_pll_out_div_clk", pll_7nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
755
pll_7nm->phy->pll_base +
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
763
snprintf(clk_name, sizeof(clk_name), "dsi%d_pll_bit_clk", pll_7nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
768
pll_7nm->phy->base + REG_DSI_7nm_PHY_CMN_CLK_CFG0,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
775
snprintf(clk_name, sizeof(clk_name), "dsi%d_phy_pll_out_byteclk", pll_7nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
780
pll_7nm->phy->cphy_mode ? 7 : 8);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
788
snprintf(clk_name, sizeof(clk_name), "dsi%d_pll_by_2_bit_clk", pll_7nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
797
snprintf(clk_name, sizeof(clk_name), "dsi%d_pll_post_out_div_clk", pll_7nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
799
if (pll_7nm->phy->cphy_mode)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
813
if (pll_7nm->phy->cphy_mode) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
819
snprintf(clk_name, sizeof(clk_name), "dsi%d_pclk_mux", pll_7nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
825
}), 2, 0, pll_7nm->phy->base +
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
83
struct msm_dsi_phy *phy;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
836
snprintf(clk_name, sizeof(clk_name), "dsi%d_phy_pll_out_dsiclk", pll_7nm->phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
841
pll_7nm->phy->base + REG_DSI_7nm_PHY_CMN_CLK_CFG0,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
857
static int dsi_pll_7nm_init(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
859
struct platform_device *pdev = phy->pdev;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
867
DBG("DSI PLL%d", phy->id);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
869
pll_7nm_list[phy->id] = pll_7nm;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
875
pll_7nm->phy = phy;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
877
ret = pll_7nm_register(pll_7nm, phy->provided_clocks->hws);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
883
phy->vco_hw = &pll_7nm->clk_hw;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
886
msm_dsi_phy_pll_save_state(phy);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
892
pll_7nm->vco_current_rate = pll_7nm->phy->cfg->min_pll_rate;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
897
static int dsi_phy_hw_v4_0_is_pll_on(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
899
void __iomem *base = phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
908
static void dsi_phy_hw_v4_0_config_lpcdrx(struct msm_dsi_phy *phy, bool enable)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
910
void __iomem *lane_base = phy->lane_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
923
static void dsi_phy_hw_v4_0_lane_settings(struct msm_dsi_phy *phy)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
929
void __iomem *lane_base = phy->lane_base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
931
if (!(phy->cfg->quirks & DSI_PHY_7NM_QUIRK_PRE_V4_1))
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
945
dsi_phy_hw_v4_0_config_lpcdrx(phy, true);
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
956
static int dsi_7nm_phy_enable(struct msm_dsi_phy *phy,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
963
struct msm_dsi_dphy_timing *timing = &phy->timing;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
964
void __iomem *base = phy->base;
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
974
if (phy->cphy_mode)
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
979
DRM_DEV_ERROR(&phy->pdev->dev,
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
984
if (dsi_phy_hw_v4_0_is_pll_on(phy))
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
988
if ((phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V4_3) ||
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
989
(phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V5_2) ||
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
990
(phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V7_2)) {
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
991
writel(0x1, phy->base + REG_DSI_7nm_PHY_CMN_GLBL_DIGTOP_SPARE10);
drivers/gpu/drm/msm/hdmi/hdmi.c
106
hdmi->phy = platform_get_drvdata(phy_pdev);
drivers/gpu/drm/msm/hdmi/hdmi.c
107
if (!hdmi->phy) {
drivers/gpu/drm/msm/hdmi/hdmi.c
83
hdmi->phy = NULL;
drivers/gpu/drm/msm/hdmi/hdmi.h
135
void (*powerup)(struct hdmi_phy *phy, unsigned long int pixclock);
drivers/gpu/drm/msm/hdmi/hdmi.h
136
void (*powerdown)(struct hdmi_phy *phy);
drivers/gpu/drm/msm/hdmi/hdmi.h
158
static inline void hdmi_phy_write(struct hdmi_phy *phy, u32 reg, u32 data)
drivers/gpu/drm/msm/hdmi/hdmi.h
160
writel(data, phy->mmio + reg);
drivers/gpu/drm/msm/hdmi/hdmi.h
163
static inline u32 hdmi_phy_read(struct hdmi_phy *phy, u32 reg)
drivers/gpu/drm/msm/hdmi/hdmi.h
165
return readl(phy->mmio + reg);
drivers/gpu/drm/msm/hdmi/hdmi.h
168
int msm_hdmi_phy_resource_enable(struct hdmi_phy *phy);
drivers/gpu/drm/msm/hdmi/hdmi.h
169
void msm_hdmi_phy_resource_disable(struct hdmi_phy *phy);
drivers/gpu/drm/msm/hdmi/hdmi.h
170
void msm_hdmi_phy_powerup(struct hdmi_phy *phy, unsigned long int pixclock);
drivers/gpu/drm/msm/hdmi/hdmi.h
171
void msm_hdmi_phy_powerdown(struct hdmi_phy *phy);
drivers/gpu/drm/msm/hdmi/hdmi.h
58
struct hdmi_phy *phy;
drivers/gpu/drm/msm/hdmi/hdmi_bridge.c
290
struct hdmi_phy *phy = hdmi->phy;
drivers/gpu/drm/msm/hdmi/hdmi_bridge.c
308
msm_hdmi_phy_resource_enable(phy);
drivers/gpu/drm/msm/hdmi/hdmi_bridge.c
319
msm_hdmi_phy_powerup(phy, hdmi->pixclock);
drivers/gpu/drm/msm/hdmi/hdmi_bridge.c
332
struct hdmi_phy *phy = hdmi->phy;
drivers/gpu/drm/msm/hdmi/hdmi_bridge.c
343
msm_hdmi_phy_powerdown(phy);
drivers/gpu/drm/msm/hdmi/hdmi_bridge.c
350
msm_hdmi_phy_resource_disable(phy);
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
102
phy->cfg->powerup(phy, pixclock);
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
105
void msm_hdmi_phy_powerdown(struct hdmi_phy *phy)
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
107
if (!phy || !phy->cfg->powerdown)
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
11
static int msm_hdmi_phy_resource_init(struct hdmi_phy *phy)
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
110
phy->cfg->powerdown(phy);
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
13
struct hdmi_phy_cfg *cfg = phy->cfg;
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
14
struct device *dev = &phy->pdev->dev;
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
144
struct hdmi_phy *phy;
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
147
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
148
if (!phy)
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
151
phy->cfg = (struct hdmi_phy_cfg *)of_device_get_match_data(dev);
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
152
if (!phy->cfg)
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
155
phy->mmio = msm_ioremap(pdev, "hdmi_phy");
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
156
if (IS_ERR(phy->mmio)) {
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
161
phy->pdev = pdev;
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
163
ret = msm_hdmi_phy_resource_init(phy);
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
169
ret = msm_hdmi_phy_resource_enable(phy);
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
17
phy->regs = devm_kcalloc(dev, cfg->num_regs, sizeof(phy->regs[0]),
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
173
ret = msm_hdmi_phy_pll_init(pdev, phy->cfg->type);
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
176
msm_hdmi_phy_resource_disable(phy);
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
180
msm_hdmi_phy_resource_disable(phy);
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
182
platform_set_drvdata(pdev, phy);
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
19
if (!phy->regs)
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
22
phy->clks = devm_kcalloc(dev, cfg->num_clks, sizeof(phy->clks[0]),
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
24
if (!phy->clks)
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
28
phy->regs[i].supply = cfg->reg_names[i];
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
30
ret = devm_regulator_bulk_get(dev, cfg->num_regs, phy->regs);
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
41
clk = msm_clk_get(phy->pdev, cfg->clk_names[i]);
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
49
phy->clks[i] = clk;
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
55
int msm_hdmi_phy_resource_enable(struct hdmi_phy *phy)
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
57
struct hdmi_phy_cfg *cfg = phy->cfg;
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
58
struct device *dev = &phy->pdev->dev;
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
67
ret = regulator_bulk_enable(cfg->num_regs, phy->regs);
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
74
ret = clk_prepare_enable(phy->clks[i]);
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
83
void msm_hdmi_phy_resource_disable(struct hdmi_phy *phy)
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
85
struct hdmi_phy_cfg *cfg = phy->cfg;
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
86
struct device *dev = &phy->pdev->dev;
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
90
clk_disable_unprepare(phy->clks[i]);
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
92
regulator_bulk_disable(cfg->num_regs, phy->regs);
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
97
void msm_hdmi_phy_powerup(struct hdmi_phy *phy, unsigned long int pixclock)
drivers/gpu/drm/msm/hdmi/hdmi_phy.c
99
if (!phy || !phy->cfg->powerup)
drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c
14
hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG2, 0x00);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c
15
hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG0, 0x1b);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c
16
hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG1, 0xf2);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c
17
hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG4, 0x00);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c
18
hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG5, 0x00);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c
19
hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG6, 0x00);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c
20
hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG7, 0x00);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c
21
hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG8, 0x00);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c
22
hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG9, 0x00);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c
23
hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG10, 0x00);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c
24
hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG11, 0x00);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c
25
hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG3, 0x20);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c
28
static void hdmi_phy_8960_powerdown(struct hdmi_phy *phy)
drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c
32
hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG2, 0x7f);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8960.c
9
static void hdmi_phy_8960_powerup(struct hdmi_phy *phy,
drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c
399
struct hdmi_phy *phy = pll_get_phy(pll);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c
413
hdmi_phy_write(phy, REG_HDMI_8996_PHY_PD_CTL, 0x0);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c
419
hdmi_phy_write(phy, REG_HDMI_8996_PHY_PD_CTL, 0x1);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c
421
hdmi_phy_write(phy, REG_HDMI_8996_PHY_TX0_TX1_LANE_CTL, 0x0F);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c
422
hdmi_phy_write(phy, REG_HDMI_8996_PHY_TX2_TX3_LANE_CTL, 0x0F);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c
531
hdmi_phy_write(phy, REG_HDMI_8996_PHY_MODE, cfg.phy_mode);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c
532
hdmi_phy_write(phy, REG_HDMI_8996_PHY_PD_CTL, 0x1F);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c
543
static int hdmi_8996_phy_ready_status(struct hdmi_phy *phy)
drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c
553
status = hdmi_phy_read(phy, REG_HDMI_8996_PHY_STATUS);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c
595
struct hdmi_phy *phy = pll_get_phy(pll);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c
598
hdmi_phy_write(phy, REG_HDMI_8996_PHY_CFG, 0x1);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c
601
hdmi_phy_write(phy, REG_HDMI_8996_PHY_CFG, 0x19);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c
620
ret = hdmi_8996_phy_ready_status(phy);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c
625
hdmi_phy_write(phy, REG_HDMI_8996_PHY_CFG, 0x18);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c
627
hdmi_phy_write(phy, REG_HDMI_8996_PHY_CFG, 0x19);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c
663
struct hdmi_phy *phy = pll_get_phy(pll);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8996.c
665
hdmi_phy_write(phy, REG_HDMI_8996_PHY_CFG, 0x6);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8998.c
448
struct hdmi_phy *phy = pll_get_phy(pll);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8998.c
459
hdmi_phy_write(phy, REG_HDMI_8998_PHY_PD_CTL, 0x0);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8998.c
463
hdmi_phy_write(phy, REG_HDMI_8998_PHY_PD_CTL, 0x1);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8998.c
465
hdmi_phy_write(phy, REG_HDMI_8998_PHY_CMN_CTRL, 0x6);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8998.c
550
hdmi_phy_write(phy, REG_HDMI_8998_PHY_MODE, cfg.phy_mode);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8998.c
569
static int hdmi_8998_phy_ready_status(struct hdmi_phy *phy)
drivers/gpu/drm/msm/hdmi/hdmi_phy_8998.c
577
status = hdmi_phy_read(phy, REG_HDMI_8998_PHY_STATUS);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8998.c
613
struct hdmi_phy *phy = pll_get_phy(pll);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8998.c
616
hdmi_phy_write(phy, REG_HDMI_8998_PHY_CFG, 0x1);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8998.c
619
hdmi_phy_write(phy, REG_HDMI_8998_PHY_CFG, 0x59);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8998.c
634
ret = hdmi_8998_phy_ready_status(phy);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8998.c
639
hdmi_phy_write(phy, REG_HDMI_8998_PHY_CFG, 0x58);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8998.c
641
hdmi_phy_write(phy, REG_HDMI_8998_PHY_CFG, 0x59);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8998.c
667
struct hdmi_phy *phy = pll_get_phy(pll);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8998.c
669
hdmi_phy_write(phy, REG_HDMI_8998_PHY_PD_CTL, 0);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
102
hdmi_phy_write(phy, REG_HDMI_PHY_CTRL, 0);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
104
hdmi_phy_write(phy, REG_HDMI_8x60_PHY_REG2,
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
11
static void hdmi_phy_8x60_powerup(struct hdmi_phy *phy,
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
112
hdmi_phy_write(phy, REG_HDMI_8x60_PHY_REG3, 0);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
114
hdmi_phy_write(phy, REG_HDMI_8x60_PHY_REG2,
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
15
hdmi_phy_write(phy, REG_HDMI_8x60_PHY_REG0,
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
20
hdmi_phy_write(phy, REG_HDMI_8x60_PHY_REG1,
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
24
hdmi_phy_write(phy, REG_HDMI_8x60_PHY_REG1,
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
30
hdmi_phy_write(phy, REG_HDMI_8x60_PHY_REG2,
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
40
hdmi_phy_write(phy, REG_HDMI_8x60_PHY_REG2,
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
49
hdmi_phy_write(phy, REG_HDMI_8x60_PHY_REG2,
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
57
hdmi_phy_write(phy, REG_HDMI_8x60_PHY_REG3,
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
61
hdmi_phy_write(phy, REG_HDMI_8x60_PHY_REG9, 0);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
66
hdmi_phy_write(phy, REG_HDMI_8x60_PHY_REG12,
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
71
hdmi_phy_write(phy, REG_HDMI_8x60_PHY_REG2,
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
75
hdmi_phy_write(phy, REG_HDMI_8x60_PHY_REG2,
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
79
hdmi_phy_write(phy, REG_HDMI_8x60_PHY_REG4, 0);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
80
hdmi_phy_write(phy, REG_HDMI_8x60_PHY_REG5, 0);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
81
hdmi_phy_write(phy, REG_HDMI_8x60_PHY_REG6, 0);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
82
hdmi_phy_write(phy, REG_HDMI_8x60_PHY_REG7, 0);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
83
hdmi_phy_write(phy, REG_HDMI_8x60_PHY_REG8, 0);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
84
hdmi_phy_write(phy, REG_HDMI_8x60_PHY_REG9, 0);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
85
hdmi_phy_write(phy, REG_HDMI_8x60_PHY_REG10, 0);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
86
hdmi_phy_write(phy, REG_HDMI_8x60_PHY_REG11, 0);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
89
hdmi_phy_write(phy, REG_HDMI_8x60_PHY_REG12,
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
95
static void hdmi_phy_8x60_powerdown(struct hdmi_phy *phy)
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x60.c
98
hdmi_phy_write(phy, REG_HDMI_PHY_CTRL,
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x74.c
12
hdmi_phy_write(phy, REG_HDMI_8x74_ANA_CFG0, 0x1b);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x74.c
13
hdmi_phy_write(phy, REG_HDMI_8x74_ANA_CFG1, 0xf2);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x74.c
14
hdmi_phy_write(phy, REG_HDMI_8x74_BIST_CFG0, 0x0);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x74.c
15
hdmi_phy_write(phy, REG_HDMI_8x74_BIST_PATN0, 0x0);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x74.c
16
hdmi_phy_write(phy, REG_HDMI_8x74_BIST_PATN1, 0x0);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x74.c
17
hdmi_phy_write(phy, REG_HDMI_8x74_BIST_PATN2, 0x0);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x74.c
18
hdmi_phy_write(phy, REG_HDMI_8x74_BIST_PATN3, 0x0);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x74.c
19
hdmi_phy_write(phy, REG_HDMI_8x74_PD_CTRL1, 0x20);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x74.c
22
static void hdmi_phy_8x74_powerdown(struct hdmi_phy *phy)
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x74.c
24
hdmi_phy_write(phy, REG_HDMI_8x74_PD_CTRL0, 0x7f);
drivers/gpu/drm/msm/hdmi/hdmi_phy_8x74.c
9
static void hdmi_phy_8x74_powerup(struct hdmi_phy *phy,
drivers/gpu/drm/msm/hdmi/hdmi_pll_8960.c
255
struct hdmi_phy *phy = pll_get_phy(pll);
drivers/gpu/drm/msm/hdmi/hdmi_pll_8960.c
276
val = hdmi_phy_read(phy, REG_HDMI_8960_PHY_REG12);
drivers/gpu/drm/msm/hdmi/hdmi_pll_8960.c
279
hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG12, val);
drivers/gpu/drm/msm/hdmi/hdmi_pll_8960.c
288
hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG12, val);
drivers/gpu/drm/msm/hdmi/hdmi_pll_8960.c
289
hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG2, 0x3f);
drivers/gpu/drm/msm/hdmi/hdmi_pll_8960.c
291
val = hdmi_phy_read(phy, REG_HDMI_8960_PHY_REG12);
drivers/gpu/drm/msm/hdmi/hdmi_pll_8960.c
293
hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG12, val);
drivers/gpu/drm/msm/hdmi/hdmi_pll_8960.c
302
hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG2, 0x80);
drivers/gpu/drm/msm/hdmi/hdmi_pll_8960.c
340
struct hdmi_phy *phy = pll_get_phy(pll);
drivers/gpu/drm/msm/hdmi/hdmi_pll_8960.c
345
val = hdmi_phy_read(phy, REG_HDMI_8960_PHY_REG12);
drivers/gpu/drm/msm/hdmi/hdmi_pll_8960.c
347
hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG12, val);
drivers/gpu/drm/omapdrm/dss/hdmi.h
324
int hdmi_phy_configure(struct hdmi_phy_data *phy, unsigned long hfbitclk,
drivers/gpu/drm/omapdrm/dss/hdmi.h
326
void hdmi_phy_dump(struct hdmi_phy_data *phy, struct seq_file *s);
drivers/gpu/drm/omapdrm/dss/hdmi.h
327
int hdmi_phy_init(struct platform_device *pdev, struct hdmi_phy_data *phy,
drivers/gpu/drm/omapdrm/dss/hdmi.h
329
int hdmi_phy_parse_lanes(struct hdmi_phy_data *phy, const u32 *lanes);
drivers/gpu/drm/omapdrm/dss/hdmi.h
333
struct hdmi_phy_data *phy);
drivers/gpu/drm/omapdrm/dss/hdmi.h
358
struct hdmi_phy_data phy;
drivers/gpu/drm/omapdrm/dss/hdmi4.c
189
r = hdmi_phy_configure(&hdmi->phy, hdmi_cinfo.clkdco,
drivers/gpu/drm/omapdrm/dss/hdmi4.c
256
hdmi_phy_dump(&hdmi->phy, s);
drivers/gpu/drm/omapdrm/dss/hdmi4.c
753
r = hdmi_parse_lanes_of(pdev, ep, &hdmi->phy);
drivers/gpu/drm/omapdrm/dss/hdmi4.c
783
r = hdmi_phy_init(pdev, &hdmi->phy, 4);
drivers/gpu/drm/omapdrm/dss/hdmi5.c
101
REG_FLD_MOD(hdmi->phy.base, HDMI_TXPHY_PAD_CFG_CTRL, 0, 15, 15);
drivers/gpu/drm/omapdrm/dss/hdmi5.c
188
r = hdmi_phy_configure(&hdmi->phy, hdmi_cinfo.clkdco,
drivers/gpu/drm/omapdrm/dss/hdmi5.c
255
hdmi_phy_dump(&hdmi->phy, s);
drivers/gpu/drm/omapdrm/dss/hdmi5.c
718
r = hdmi_parse_lanes_of(pdev, ep, &hdmi->phy);
drivers/gpu/drm/omapdrm/dss/hdmi5.c
748
r = hdmi_phy_init(pdev, &hdmi->phy, 5);
drivers/gpu/drm/omapdrm/dss/hdmi5.c
91
v = hdmi_read_reg(hdmi->phy.base, HDMI_TXPHY_PAD_CFG_CTRL);
drivers/gpu/drm/omapdrm/dss/hdmi5.c
94
hdmi_write_reg(hdmi->phy.base, HDMI_TXPHY_PAD_CFG_CTRL, v);
drivers/gpu/drm/omapdrm/dss/hdmi_common.c
13
struct hdmi_phy_data *phy)
drivers/gpu/drm/omapdrm/dss/hdmi_common.c
34
r = hdmi_phy_parse_lanes(phy, lanes);
drivers/gpu/drm/omapdrm/dss/hdmi_common.c
42
r = hdmi_phy_parse_lanes(phy, default_lanes);
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
103
lane_cfg |= phy->lane_function[i] << ((3 - i) * 4);
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
105
pol_val |= phy->lane_polarity[0] << 0;
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
106
pol_val |= phy->lane_polarity[1] << 3;
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
107
pol_val |= phy->lane_polarity[2] << 2;
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
108
pol_val |= phy->lane_polarity[3] << 1;
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
119
REG_FLD_MOD(phy->base, HDMI_TXPHY_PAD_CFG_CTRL, lane_cfg_val, 26, 22);
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
120
REG_FLD_MOD(phy->base, HDMI_TXPHY_PAD_CFG_CTRL, pol_val, 30, 27);
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
123
int hdmi_phy_configure(struct hdmi_phy_data *phy, unsigned long hfbitclk,
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
132
hdmi_read_reg(phy->base, HDMI_TXPHY_TX_CTRL);
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
138
if (phy->features->bist_ctrl)
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
139
REG_FLD_MOD(phy->base, HDMI_TXPHY_BIST_CONTROL, 1, 11, 11);
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
147
else if (hfbitclk / 10 < phy->features->max_phy)
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
156
REG_FLD_MOD(phy->base, HDMI_TXPHY_TX_CTRL, freqout, 31, 30);
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
159
hdmi_write_reg(phy->base, HDMI_TXPHY_DIGITAL_CTRL, 0xF0000000);
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
162
if (phy->features->ldo_voltage)
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
163
REG_FLD_MOD(phy->base, HDMI_TXPHY_POWER_CTRL, 0xB, 3, 0);
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
165
hdmi_phy_configure_lanes(phy);
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
182
int hdmi_phy_init(struct platform_device *pdev, struct hdmi_phy_data *phy,
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
186
phy->features = &omap44xx_phy_feats;
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
188
phy->features = &omap54xx_phy_feats;
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
19
void hdmi_phy_dump(struct hdmi_phy_data *phy, struct seq_file *s)
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
190
phy->base = devm_platform_ioremap_resource_byname(pdev, "phy");
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
191
if (IS_ERR(phy->base))
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
192
return PTR_ERR(phy->base);
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
22
hdmi_read_reg(phy->base, r))
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
28
if (phy->features->bist_ctrl)
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
32
int hdmi_phy_parse_lanes(struct hdmi_phy_data *phy, const u32 *lanes)
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
61
phy->lane_function[lane] = i / 2;
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
62
phy->lane_polarity[lane] = pol;
drivers/gpu/drm/omapdrm/dss/hdmi_phy.c
68
static void hdmi_phy_configure_lanes(struct hdmi_phy_data *phy)
drivers/gpu/drm/rockchip/cdn-dp-core.c
1103
struct phy *phy;
drivers/gpu/drm/rockchip/cdn-dp-core.c
1118
phy = devm_of_phy_get_by_index(dev, dev->of_node, i);
drivers/gpu/drm/rockchip/cdn-dp-core.c
1121
PTR_ERR(phy) == -EPROBE_DEFER)
drivers/gpu/drm/rockchip/cdn-dp-core.c
1124
if (IS_ERR(extcon) || IS_ERR(phy))
drivers/gpu/drm/rockchip/cdn-dp-core.c
1132
port->phy = phy;
drivers/gpu/drm/rockchip/cdn-dp-core.c
366
ret = phy_power_on(port->phy);
drivers/gpu/drm/rockchip/cdn-dp-core.c
408
if (phy_power_off(port->phy))
drivers/gpu/drm/rockchip/cdn-dp-core.c
425
ret = phy_power_off(port->phy);
drivers/gpu/drm/rockchip/cdn-dp-core.h
60
struct phy *phy;
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1140
static int dw_mipi_dsi_dphy_init(struct phy *phy)
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1142
struct dw_mipi_dsi_rockchip *dsi = phy_get_drvdata(phy);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1171
ret = dsi->cdata->dphy_rx_init(phy);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1190
static int dw_mipi_dsi_dphy_exit(struct phy *phy)
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1192
struct dw_mipi_dsi_rockchip *dsi = phy_get_drvdata(phy);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1203
static int dw_mipi_dsi_dphy_configure(struct phy *phy, union phy_configure_opts *opts)
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1206
struct dw_mipi_dsi_rockchip *dsi = phy_get_drvdata(phy);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1219
static int dw_mipi_dsi_dphy_power_on(struct phy *phy)
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1221
struct dw_mipi_dsi_rockchip *dsi = phy_get_drvdata(phy);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1260
ret = dsi->cdata->dphy_rx_power_on(phy);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1297
static int dw_mipi_dsi_dphy_power_off(struct phy *phy)
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1299
struct dw_mipi_dsi_rockchip *dsi = phy_get_drvdata(phy);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1309
ret = dsi->cdata->dphy_rx_power_off(phy);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1397
dsi->phy = devm_phy_optional_get(dev, "dphy");
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1398
if (IS_ERR(dsi->phy)) {
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1399
ret = PTR_ERR(dsi->phy);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1413
if (dsi->phy) {
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1554
static int rk3399_dphy_tx1rx1_init(struct phy *phy)
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1556
struct dw_mipi_dsi_rockchip *dsi = phy_get_drvdata(phy);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1574
static int rk3399_dphy_tx1rx1_power_on(struct phy *phy)
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1576
struct dw_mipi_dsi_rockchip *dsi = phy_get_drvdata(phy);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1612
static int rk3399_dphy_tx1rx1_power_off(struct phy *phy)
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
1614
struct dw_mipi_dsi_rockchip *dsi = phy_get_drvdata(phy);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
265
int (*dphy_rx_init)(struct phy *phy);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
266
int (*dphy_rx_power_on)(struct phy *phy);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
267
int (*dphy_rx_power_off)(struct phy *phy);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
289
struct phy *phy;
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
295
struct phy *dphy;
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
426
if (dsi->phy)
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
542
ret = phy_set_mode(dsi->phy, PHY_MODE_MIPI_DPHY);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
548
phy_configure(dsi->phy, &dsi->phy_opts);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
549
phy_power_on(dsi->phy);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
556
phy_power_off(dsi->phy);
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
597
if (dsi->phy) {
drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c
107
ret = phy_set_mode(dsi2->phy, PHY_MODE_MIPI_DPHY);
drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c
113
phy_configure(dsi2->phy, &dsi2->phy_opts);
drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c
114
phy_power_on(dsi2->phy);
drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c
121
phy_power_off(dsi2->phy);
drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c
162
if (dsi2->phy) {
drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c
414
dsi2->phy = devm_phy_optional_get(dev, "dcphy");
drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c
415
if (IS_ERR(dsi2->phy))
drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c
416
return dev_err_probe(dev, PTR_ERR(dsi2->phy), "failed to get mipi phy\n");
drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c
70
struct phy *phy;
drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
341
return phy_power_on(hdmi->phy);
drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
348
phy_power_off(hdmi->phy);
drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
585
hdmi->phy = devm_phy_optional_get(dev, "hdmi");
drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
586
if (IS_ERR(hdmi->phy)) {
drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
587
ret = PTR_ERR(hdmi->phy);
drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
591
if (hdmi->phy) {
drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
594
clkspec.np = hdmi->phy->dev.of_node;
drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
82
struct phy *phy;
drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c
150
ret = phy_configure(hdmi->phy, &phy_cfg);
drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c
173
return phy_power_on(hdmi->phy);
drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c
181
phy_power_off(hdmi->phy);
drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c
559
hdmi->phy = devm_of_phy_get_by_index(dev, dev->of_node, 0);
drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c
560
if (IS_ERR(hdmi->phy))
drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c
561
return dev_err_probe(hdmi->dev, PTR_ERR(hdmi->phy),
drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c
96
struct phy *phy;
drivers/gpu/drm/rockchip/rockchip_drm_vop.c
1031
if (win->phy->scl)
drivers/gpu/drm/rockchip/rockchip_drm_vop.c
1080
int min_scale = win->phy->scl ? FRAC_16_16(1, 8) :
drivers/gpu/drm/rockchip/rockchip_drm_vop.c
1082
int max_scale = win->phy->scl ? FRAC_16_16(8, 1) :
drivers/gpu/drm/rockchip/rockchip_drm_vop.c
1881
win_data->phy->data_formats,
drivers/gpu/drm/rockchip/rockchip_drm_vop.c
1882
win_data->phy->nformats,
drivers/gpu/drm/rockchip/rockchip_drm_vop.c
1883
win_data->phy->format_modifiers,
drivers/gpu/drm/rockchip/rockchip_drm_vop.c
1926
win_data->phy->data_formats,
drivers/gpu/drm/rockchip/rockchip_drm_vop.c
1927
win_data->phy->nformats,
drivers/gpu/drm/rockchip/rockchip_drm_vop.c
1928
win_data->phy->format_modifiers,
drivers/gpu/drm/rockchip/rockchip_drm_vop.c
405
if (!win->phy->scl->ext) {
drivers/gpu/drm/rockchip/rockchip_drm_vop.c
46
vop_reg_set(vop, &win->phy->name, win->base, ~0, v, #name)
drivers/gpu/drm/rockchip/rockchip_drm_vop.c
48
vop_reg_set(vop, &win->phy->scl->name, win->base, ~0, v, #name)
drivers/gpu/drm/rockchip/rockchip_drm_vop.c
50
vop_reg_set(vop, &win->phy->scl->ext->name, \
drivers/gpu/drm/rockchip/rockchip_drm_vop.c
609
if (win->phy->scl && win->phy->scl->ext) {
drivers/gpu/drm/rockchip/rockchip_drm_vop.c
61
if (win_yuv2yuv && win_yuv2yuv->phy->name.mask) \
drivers/gpu/drm/rockchip/rockchip_drm_vop.c
62
vop_reg_set(vop, &win_yuv2yuv->phy->name, win_yuv2yuv->base, ~0, v, #name); \
drivers/gpu/drm/rockchip/rockchip_drm_vop.c
822
int min_scale = win->phy->scl ? FRAC_16_16(1, 8) :
drivers/gpu/drm/rockchip/rockchip_drm_vop.c
824
int max_scale = win->phy->scl ? FRAC_16_16(8, 1) :
drivers/gpu/drm/rockchip/rockchip_drm_vop.c
89
vop_read_reg(vop, win->base, &win->phy->name)
drivers/gpu/drm/rockchip/rockchip_drm_vop.c
92
(!!(win->phy->name.mask))
drivers/gpu/drm/rockchip/rockchip_drm_vop.c
95
vop_readl(vop, win->base + win->phy->yrgb_mst.offset)
drivers/gpu/drm/rockchip/rockchip_drm_vop.h
213
const struct vop_yuv2yuv_phy *phy;
drivers/gpu/drm/rockchip/rockchip_drm_vop.h
219
const struct vop_win_phy *phy;
drivers/gpu/drm/rockchip/rockchip_lvds.c
53
struct phy *dphy;
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
1028
{ .base = 0x00, .phy = &rk3399_win0_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
1030
{ .base = 0x40, .phy = &rk3399_win1_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
1032
{ .base = 0x00, .phy = &rk3368_win23_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
1034
{ .base = 0x50, .phy = &rk3368_win23_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
1065
{ .base = 0x00, .phy = &rk3368_win01_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
1067
{ .base = 0x00, .phy = &rk3368_win23_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
1072
{ .base = 0x00, .phy = &rk3399_yuv2yuv_win01_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
1074
{ .base = 0x60, .phy = &rk3399_yuv2yuv_win23_data },
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
1092
{ .base = 0x00, .phy = &rk3288_win01_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
1094
{ .base = 0x40, .phy = &rk3288_win01_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
1162
{ .base = 0xd0, .phy = &rk3399_win1_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
1164
{ .base = 0x1d0, .phy = &rk3399_win1_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
1166
{ .base = 0x2d0, .phy = &rk3399_win1_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
1221
{ .base = 0x00, .phy = &rk3506_win1_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
1272
{ .base = 0x00, .phy = &px30_win0_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
1274
{ .base = 0x00, .phy = &px30_win2_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
154
{ .base = 0x00, .phy = &rk3036_win0_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
156
{ .base = 0x00, .phy = &rk3036_win1_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
224
{ .base = 0x00, .phy = &rk3036_win0_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
226
{ .base = 0x00, .phy = &rk3126_win1_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
359
{ .base = 0x00, .phy = &px30_win0_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
361
{ .base = 0x00, .phy = &px30_win1_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
363
{ .base = 0x00, .phy = &px30_win2_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
380
{ .base = 0x00, .phy = &px30_win1_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
482
{ .base = 0x00, .phy = &rk3066_win0_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
484
{ .base = 0x00, .phy = &rk3066_win1_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
486
{ .base = 0x00, .phy = &rk3066_win2_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
592
{ .base = 0x00, .phy = &rk3188_win0_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
594
{ .base = 0x00, .phy = &rk3188_win1_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
739
{ .base = 0x00, .phy = &rk3288_win01_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
741
{ .base = 0x40, .phy = &rk3288_win01_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
743
{ .base = 0x00, .phy = &rk3288_win23_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
745
{ .base = 0x50, .phy = &rk3288_win23_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
844
{ .base = 0x00, .phy = &rk3368_win01_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
846
{ .base = 0x40, .phy = &rk3368_win01_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
848
{ .base = 0x00, .phy = &rk3368_win23_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
850
{ .base = 0x50, .phy = &rk3368_win23_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
965
{ .base = 0x00, .phy = &rk3399_yuv2yuv_win01_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
967
{ .base = 0x60, .phy = &rk3399_yuv2yuv_win01_data,
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
969
{ .base = 0xC0, .phy = &rk3399_yuv2yuv_win23_data },
drivers/gpu/drm/rockchip/rockchip_vop_reg.c
970
{ .base = 0x120, .phy = &rk3399_yuv2yuv_win23_data },
drivers/gpu/drm/stm/lvds.c
346
static int lvds_pll_enable(struct stm_lvds *lvds, struct lvds_phy_info *phy)
drivers/gpu/drm/stm/lvds.c
356
lvds_write(lvds, phy->base + phy->ofs.MPLCR, (0x200 - 0x160) << 16);
drivers/gpu/drm/stm/lvds.c
359
lvds_write(lvds, phy->base + phy->ofs.BCR2, PHY_BCR2_BIAS_EN);
drivers/gpu/drm/stm/lvds.c
363
lvds_set(lvds, phy->base + phy->ofs.GCR, lvds_gcr);
drivers/gpu/drm/stm/lvds.c
366
lvds_set(lvds, phy->base + phy->ofs.PLLTESTCR, PHY_PLLTESTCR_EN);
drivers/gpu/drm/stm/lvds.c
367
lvds_set(lvds, phy->base + phy->ofs.PLLCR1, PHY_PLLCR1_DIV_EN);
drivers/gpu/drm/stm/lvds.c
370
lvds_set(lvds, phy->base + phy->ofs.SCR, PHY_SCR_TX_EN);
drivers/gpu/drm/stm/lvds.c
373
lvds_set(lvds, phy->base + phy->ofs.PLLCR1, PHY_PLLCR1_PLL_EN);
drivers/gpu/drm/stm/lvds.c
374
ret = readl_poll_timeout_atomic(lvds->base + phy->base + phy->ofs.PLLSR,
drivers/gpu/drm/stm/lvds.c
383
lvds_set(lvds, phy->ofs.PLLTESTCR, PHY_PLLTESTCR_CLK_EN);
drivers/gpu/drm/stm/lvds.c
445
static void lvds_pll_config(struct stm_lvds *lvds, struct lvds_phy_info *phy)
drivers/gpu/drm/stm/lvds.c
505
lvds_write(lvds, phy->base + phy->ofs.PLLCR2, ndiv << 16);
drivers/gpu/drm/stm/lvds.c
506
lvds_set(lvds, phy->base + phy->ofs.PLLCR2, bdiv);
drivers/gpu/drm/stm/lvds.c
507
lvds_write(lvds, phy->base + phy->ofs.PLLSDCR1, mdiv);
drivers/gpu/drm/stm/lvds.c
510
lvds_write(lvds, phy->base + phy->ofs.PLLTESTCR, TDIV << 16);
drivers/gpu/drm/stm/lvds.c
533
lvds_clear(lvds, phy->base + phy->ofs.PLLCR1, PHY_PLLCR1_EN_TWG | PHY_PLLCR1_EN_SD);
drivers/gpu/drm/stm/lvds.c
536
lvds_set(lvds, phy->base + phy->ofs.DCR, PHY_DCR_POWER_OK);
drivers/gpu/drm/stm/lvds.c
537
lvds_set(lvds, phy->base + phy->ofs.CMCR1, PHY_CMCR_CM_EN_DL);
drivers/gpu/drm/stm/lvds.c
538
lvds_set(lvds, phy->base + phy->ofs.CMCR2, PHY_CMCR_CM_EN_DL4);
drivers/gpu/drm/stm/lvds.c
541
lvds_set(lvds, phy->base + phy->ofs.PLLCPCR, 0x1);
drivers/gpu/drm/stm/lvds.c
542
lvds_set(lvds, phy->base + phy->ofs.BCR3, PHY_BCR3_VM_EN_DL);
drivers/gpu/drm/stm/lvds.c
543
lvds_set(lvds, phy->base + phy->ofs.BCR1, PHY_BCR1_EN_BIAS_DL);
drivers/gpu/drm/stm/lvds.c
545
lvds_set(lvds, phy->base + phy->ofs.CFGCR, PHY_CFGCR_EN_DIG_DL);
drivers/gpu/drm/stm/lvds.c
552
struct lvds_phy_info *phy;
drivers/gpu/drm/stm/lvds.c
570
phy = lvds->secondary;
drivers/gpu/drm/stm/lvds.c
573
lvds_set(lvds, phy->base + phy->ofs.GCR, PHY_GCR_DIV_RSTN | PHY_GCR_RSTZ);
drivers/gpu/drm/stm/lvds.c
574
lvds_pll_config(lvds, phy);
drivers/gpu/drm/stm/lvds.c
576
ret = lvds_pll_enable(lvds, phy);
drivers/gpu/drm/stm/lvds.c
584
phy = lvds->primary;
drivers/gpu/drm/stm/lvds.c
587
lvds_set(lvds, phy->base + phy->ofs.GCR, PHY_GCR_DIV_RSTN | PHY_GCR_RSTZ);
drivers/gpu/drm/stm/lvds.c
588
lvds_pll_config(lvds, phy);
drivers/gpu/drm/stm/lvds.c
590
ret = lvds_pll_enable(lvds, phy);
drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h
33
struct phy *dphy;
drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c
178
ret = sun8i_hdmi_phy_init(hdmi->phy);
drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c
187
sun8i_hdmi_phy_set_ops(hdmi->phy, plat_data);
drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c
222
sun8i_hdmi_phy_deinit(hdmi->phy);
drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h
157
void (*phy_init)(struct sun8i_hdmi_phy *phy);
drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h
185
struct sun8i_hdmi_phy *phy;
drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h
202
int sun8i_hdmi_phy_init(struct sun8i_hdmi_phy *phy);
drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h
203
void sun8i_hdmi_phy_deinit(struct sun8i_hdmi_phy *phy);
drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h
204
void sun8i_hdmi_phy_set_ops(struct sun8i_hdmi_phy *phy,
drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h
207
int sun8i_phy_clk_create(struct sun8i_hdmi_phy *phy, struct device *dev,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
127
static void sun8i_hdmi_phy_set_polarity(struct sun8i_hdmi_phy *phy,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
138
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_DBG_CTRL_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
147
struct sun8i_hdmi_phy *phy = data;
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
149
sun8i_hdmi_phy_set_polarity(phy, mode);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
151
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_REXT_CTRL_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
211
struct sun8i_hdmi_phy *phy = data;
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
216
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_REXT_CTRL_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
233
struct sun8i_hdmi_phy *phy = data;
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
242
if (phy->variant->has_phy_clk)
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
243
clk_set_rate(phy->clk_phy, clk_rate);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
245
sun8i_hdmi_phy_set_polarity(phy, mode);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
304
SUN8I_HDMI_PHY_ANA_CFG2_REG_RESDI(phy->rcal);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
314
SUN8I_HDMI_PHY_ANA_CFG2_REG_RESDI(phy->rcal);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
340
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_ANA_CFG1_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
347
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_PLL_CFG1_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
350
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_PLL_CFG2_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
354
regmap_write(phy->regs, SUN8I_HDMI_PHY_PLL_CFG3_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
356
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_PLL_CFG1_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
362
regmap_read(phy->regs, SUN8I_HDMI_PHY_ANA_STS_REG, &val);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
367
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_PLL_CFG1_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
372
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_PLL_CFG1_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
376
regmap_write(phy->regs, SUN8I_HDMI_PHY_ANA_CFG1_REG, ana_cfg1_end);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
377
regmap_write(phy->regs, SUN8I_HDMI_PHY_ANA_CFG2_REG, ana_cfg2_init);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
378
regmap_write(phy->regs, SUN8I_HDMI_PHY_ANA_CFG3_REG, ana_cfg3_init);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
385
struct sun8i_hdmi_phy *phy = data;
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
387
regmap_write(phy->regs, SUN8I_HDMI_PHY_ANA_CFG1_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
391
regmap_write(phy->regs, SUN8I_HDMI_PHY_PLL_CFG1_REG, 0);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
402
static void sun8i_hdmi_phy_unlock(struct sun8i_hdmi_phy *phy)
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
405
regmap_write(phy->regs, SUN8I_HDMI_PHY_READ_EN_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
409
regmap_write(phy->regs, SUN8I_HDMI_PHY_UNSCRAMBLE_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
413
static void sun50i_hdmi_phy_init_h6(struct sun8i_hdmi_phy *phy)
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
415
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_REXT_CTRL_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
419
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_REXT_CTRL_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
423
static void sun8i_hdmi_phy_init_a83t(struct sun8i_hdmi_phy *phy)
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
425
sun8i_hdmi_phy_unlock(phy);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
427
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_DBG_CTRL_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
435
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_DBG_CTRL_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
440
static void sun8i_hdmi_phy_init_h3(struct sun8i_hdmi_phy *phy)
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
444
sun8i_hdmi_phy_unlock(phy);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
446
regmap_write(phy->regs, SUN8I_HDMI_PHY_ANA_CFG1_REG, 0);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
447
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_ANA_CFG1_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
451
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_ANA_CFG1_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
454
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_ANA_CFG1_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
458
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_ANA_CFG1_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
462
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_ANA_CFG1_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
466
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_ANA_CFG1_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
470
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_ANA_CFG1_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
473
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_ANA_CFG1_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
482
regmap_read_poll_timeout(phy->regs, SUN8I_HDMI_PHY_ANA_STS_REG, val,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
486
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_ANA_CFG1_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
489
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_ANA_CFG1_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
500
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_ANA_CFG3_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
507
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_PLL_CFG1_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
511
regmap_write(phy->regs, SUN8I_HDMI_PHY_CEC_REG, 0);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
514
regmap_read(phy->regs, SUN8I_HDMI_PHY_ANA_STS_REG, &val);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
515
phy->rcal = (val & SUN8I_HDMI_PHY_ANA_STS_RCAL_MASK) >> 2;
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
518
int sun8i_hdmi_phy_init(struct sun8i_hdmi_phy *phy)
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
522
ret = reset_control_deassert(phy->rst_phy);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
524
dev_err(phy->dev, "Cannot deassert phy reset control: %d\n", ret);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
528
ret = clk_prepare_enable(phy->clk_bus);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
530
dev_err(phy->dev, "Cannot enable bus clock: %d\n", ret);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
534
ret = clk_prepare_enable(phy->clk_mod);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
536
dev_err(phy->dev, "Cannot enable mod clock: %d\n", ret);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
540
if (phy->variant->has_phy_clk) {
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
541
ret = sun8i_phy_clk_create(phy, phy->dev,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
542
phy->variant->has_second_pll);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
544
dev_err(phy->dev, "Couldn't create the PHY clock\n");
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
548
clk_prepare_enable(phy->clk_phy);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
551
phy->variant->phy_init(phy);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
556
clk_disable_unprepare(phy->clk_mod);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
558
clk_disable_unprepare(phy->clk_bus);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
560
reset_control_assert(phy->rst_phy);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
565
void sun8i_hdmi_phy_deinit(struct sun8i_hdmi_phy *phy)
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
567
clk_disable_unprepare(phy->clk_mod);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
568
clk_disable_unprepare(phy->clk_bus);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
569
clk_disable_unprepare(phy->clk_phy);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
571
reset_control_assert(phy->rst_phy);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
574
void sun8i_hdmi_phy_set_ops(struct sun8i_hdmi_phy *phy,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
577
const struct sun8i_hdmi_phy_variant *variant = phy->variant;
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
582
plat_data->phy_data = phy;
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
656
struct sun8i_hdmi_phy *phy;
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
661
phy = platform_get_drvdata(pdev);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
662
if (!phy) {
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
667
hdmi->phy = phy;
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
677
struct sun8i_hdmi_phy *phy;
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
680
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
681
if (!phy)
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
684
phy->variant = of_device_get_match_data(dev);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
685
phy->dev = dev;
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
692
phy->regs = devm_regmap_init_mmio(dev, regs,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
694
if (IS_ERR(phy->regs))
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
695
return dev_err_probe(dev, PTR_ERR(phy->regs),
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
698
phy->clk_bus = devm_clk_get(dev, "bus");
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
699
if (IS_ERR(phy->clk_bus))
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
700
return dev_err_probe(dev, PTR_ERR(phy->clk_bus),
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
703
phy->clk_mod = devm_clk_get(dev, "mod");
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
704
if (IS_ERR(phy->clk_mod))
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
705
return dev_err_probe(dev, PTR_ERR(phy->clk_mod),
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
708
if (phy->variant->has_phy_clk) {
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
709
phy->clk_pll0 = devm_clk_get(dev, "pll-0");
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
710
if (IS_ERR(phy->clk_pll0))
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
711
return dev_err_probe(dev, PTR_ERR(phy->clk_pll0),
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
714
if (phy->variant->has_second_pll) {
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
715
phy->clk_pll1 = devm_clk_get(dev, "pll-1");
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
716
if (IS_ERR(phy->clk_pll1))
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
717
return dev_err_probe(dev, PTR_ERR(phy->clk_pll1),
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
722
phy->rst_phy = devm_reset_control_get_shared(dev, "phy");
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
723
if (IS_ERR(phy->rst_phy))
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
724
return dev_err_probe(dev, PTR_ERR(phy->rst_phy),
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
727
platform_set_drvdata(pdev, phy);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy_clk.c
101
regmap_update_bits(priv->phy->regs, SUN8I_HDMI_PHY_PLL_CFG2_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy_clk.c
113
regmap_read(priv->phy->regs, SUN8I_HDMI_PHY_PLL_CFG1_REG, &reg);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy_clk.c
12
struct sun8i_hdmi_phy *phy;
drivers/gpu/drm/sun4i/sun8i_hdmi_phy_clk.c
127
regmap_update_bits(priv->phy->regs, SUN8I_HDMI_PHY_PLL_CFG1_REG,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy_clk.c
143
int sun8i_phy_clk_create(struct sun8i_hdmi_phy *phy, struct device *dev,
drivers/gpu/drm/sun4i/sun8i_hdmi_phy_clk.c
150
parents[0] = __clk_get_name(phy->clk_pll0);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy_clk.c
155
parents[1] = __clk_get_name(phy->clk_pll1);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy_clk.c
170
priv->phy = phy;
drivers/gpu/drm/sun4i/sun8i_hdmi_phy_clk.c
173
phy->clk_phy = devm_clk_register(dev, &priv->hw);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy_clk.c
174
if (IS_ERR(phy->clk_phy))
drivers/gpu/drm/sun4i/sun8i_hdmi_phy_clk.c
175
return PTR_ERR(phy->clk_phy);
drivers/gpu/drm/sun4i/sun8i_hdmi_phy_clk.c
74
regmap_read(priv->phy->regs, SUN8I_HDMI_PHY_PLL_CFG2_REG, &reg);
drivers/gpu/drm/xlnx/zynqmp_dp.c
393
struct phy *phy[ZYNQMP_DP_MAX_LANES];
drivers/gpu/drm/xlnx/zynqmp_dp.c
481
ret = phy_init(dp->phy[i]);
drivers/gpu/drm/xlnx/zynqmp_dp.c
495
ret = phy_power_on(dp->phy[i]);
drivers/gpu/drm/xlnx/zynqmp_dp.c
517
ret = phy_power_off(dp->phy[i]);
drivers/gpu/drm/xlnx/zynqmp_dp.c
524
ret = phy_exit(dp->phy[i]);
drivers/gpu/drm/xlnx/zynqmp_dp.c
550
struct phy *phy;
drivers/gpu/drm/xlnx/zynqmp_dp.c
553
phy = devm_phy_get(dp->dev, phy_name);
drivers/gpu/drm/xlnx/zynqmp_dp.c
555
if (IS_ERR(phy)) {
drivers/gpu/drm/xlnx/zynqmp_dp.c
556
switch (PTR_ERR(phy)) {
drivers/gpu/drm/xlnx/zynqmp_dp.c
570
return PTR_ERR(phy);
drivers/gpu/drm/xlnx/zynqmp_dp.c
574
dp->phy[i] = phy;
drivers/gpu/drm/xlnx/zynqmp_dp.c
746
phy_configure(dp->phy[i], &opts);
drivers/hsi/controllers/omap_ssi_core.c
320
const char *name, void __iomem **pbase, dma_addr_t *phy)
drivers/hsi/controllers/omap_ssi_core.c
333
if (phy)
drivers/hsi/controllers/omap_ssi_core.c
334
*phy = mem->start;
drivers/hsi/controllers/omap_ssi_port.c
1076
const char *name, void __iomem **pbase, dma_addr_t *phy)
drivers/hsi/controllers/omap_ssi_port.c
1102
if (phy)
drivers/hsi/controllers/omap_ssi_port.c
1103
*phy = mem->start;
drivers/infiniband/hw/ocrdma/ocrdma.h
279
struct phy_info phy;
drivers/infiniband/hw/ocrdma/ocrdma_hw.c
1447
dev->phy.phy_type =
drivers/infiniband/hw/ocrdma/ocrdma_hw.c
1449
dev->phy.interface_type =
drivers/infiniband/hw/ocrdma/ocrdma_hw.c
1452
dev->phy.auto_speeds_supported =
drivers/infiniband/hw/ocrdma/ocrdma_hw.c
1454
dev->phy.fixed_speeds_supported =
drivers/infiniband/hw/ocrdma/ocrdma_hw.c
270
speeds_supported = dev->phy.fixed_speeds_supported |
drivers/infiniband/hw/ocrdma/ocrdma_hw.c
271
dev->phy.auto_speeds_supported;
drivers/media/platform/cadence/cdns-csi2rx.c
141
struct phy *dphy;
drivers/media/platform/qcom/camss/camss-csid-340.c
118
__csid_configure_rx(csid, &csid->phy);
drivers/media/platform/qcom/camss/camss-csid-340.c
121
if (csid->phy.en_vc & BIT(i)) {
drivers/media/platform/qcom/camss/camss-csid-340.c
58
static void __csid_configure_rx(struct csid_device *csid, struct csid_phy_config *phy)
drivers/media/platform/qcom/camss/camss-csid-340.c
62
val = FIELD_PREP(CSI2_RX_CFG0_NUM_ACTIVE_LANES_MASK, phy->lane_cnt - 1);
drivers/media/platform/qcom/camss/camss-csid-340.c
63
val |= FIELD_PREP(CSI2_RX_CFG0_DLX_INPUT_SEL_MASK, phy->lane_assign);
drivers/media/platform/qcom/camss/camss-csid-340.c
65
phy->csiphy_id + CSI2_RX_CFG0_PHY_NUM_SEL_BASE_IDX);
drivers/media/platform/qcom/camss/camss-csid-4-1.c
101
val = phy->csiphy_id << 17;
drivers/media/platform/qcom/camss/camss-csid-4-1.c
89
struct csid_phy_config *phy = &csid->phy;
drivers/media/platform/qcom/camss/camss-csid-4-1.c
96
val = phy->lane_cnt - 1;
drivers/media/platform/qcom/camss/camss-csid-4-1.c
97
val |= phy->lane_assign << 4;
drivers/media/platform/qcom/camss/camss-csid-4-7.c
102
val = phy->csiphy_id << 17;
drivers/media/platform/qcom/camss/camss-csid-4-7.c
90
struct csid_phy_config *phy = &csid->phy;
drivers/media/platform/qcom/camss/camss-csid-4-7.c
97
val = phy->lane_cnt - 1;
drivers/media/platform/qcom/camss/camss-csid-4-7.c
98
val |= phy->lane_assign << 4;
drivers/media/platform/qcom/camss/camss-csid-680.c
185
struct csid_phy_config *phy, int vc)
drivers/media/platform/qcom/camss/camss-csid-680.c
189
val = (phy->lane_cnt - 1) << CSI2_RX_CFG0_NUM_ACTIVE_LANES;
drivers/media/platform/qcom/camss/camss-csid-680.c
190
val |= phy->lane_assign << CSI2_RX_CFG0_DL0_INPUT_SEL;
drivers/media/platform/qcom/camss/camss-csid-680.c
191
val |= (phy->csiphy_id + CSI2_RX_CFG0_PHY_SEL_BASE_IDX) << CSI2_RX_CFG0_PHY_NUM_SEL;
drivers/media/platform/qcom/camss/camss-csid-680.c
228
u8 lane_cnt = csid->phy.lane_cnt;
drivers/media/platform/qcom/camss/camss-csid-680.c
295
if (csid->phy.en_vc & BIT(i)) {
drivers/media/platform/qcom/camss/camss-csid-680.c
297
__csid_configure_rx(csid, &csid->phy, i);
drivers/media/platform/qcom/camss/camss-csid-gen2.c
175
struct csid_phy_config *phy, int vc)
drivers/media/platform/qcom/camss/camss-csid-gen2.c
177
u8 lane_cnt = csid->phy.lane_cnt;
drivers/media/platform/qcom/camss/camss-csid-gen2.c
184
val |= phy->lane_assign << CSI2_RX_CFG0_DL0_INPUT_SEL;
drivers/media/platform/qcom/camss/camss-csid-gen2.c
185
val |= phy->csiphy_id << CSI2_RX_CFG0_PHY_NUM_SEL;
drivers/media/platform/qcom/camss/camss-csid-gen2.c
213
u8 lane_cnt = csid->phy.lane_cnt;
drivers/media/platform/qcom/camss/camss-csid-gen2.c
331
if (csid->phy.en_vc & BIT(i)) {
drivers/media/platform/qcom/camss/camss-csid-gen2.c
336
__csid_configure_rx(csid, &csid->phy, i);
drivers/media/platform/qcom/camss/camss-csid-gen2.c
372
if (csid->phy.en_vc & BIT(i)) {
drivers/media/platform/qcom/camss/camss-csid-gen3.c
109
struct csid_phy_config *phy, int vc)
drivers/media/platform/qcom/camss/camss-csid-gen3.c
113
val = (phy->lane_cnt - 1) << CSI2_RX_CFG0_NUM_ACTIVE_LANES;
drivers/media/platform/qcom/camss/camss-csid-gen3.c
114
val |= phy->lane_assign << CSI2_RX_CFG0_DL0_INPUT_SEL;
drivers/media/platform/qcom/camss/camss-csid-gen3.c
115
val |= (phy->csiphy_id + CSI2_RX_CFG0_PHY_SEL_BASE_IDX) << CSI2_RX_CFG0_PHY_NUM_SEL;
drivers/media/platform/qcom/camss/camss-csid-gen3.c
151
u8 lane_cnt = csid->phy.lane_cnt;
drivers/media/platform/qcom/camss/camss-csid-gen3.c
218
if (csid->phy.en_vc & BIT(i)) {
drivers/media/platform/qcom/camss/camss-csid-gen3.c
220
__csid_configure_rx(csid, &csid->phy, i);
drivers/media/platform/qcom/camss/camss-csid-gen3.c
266
if (csid->phy.en_vc & BIT(i)) {
drivers/media/platform/qcom/camss/camss-csid-gen3.c
312
if (csid->phy.en_vc & BIT(i)) {
drivers/media/platform/qcom/camss/camss-csid.c
1275
csid->phy.csiphy_id = csiphy->id;
drivers/media/platform/qcom/camss/camss-csid.c
1278
csid->phy.lane_cnt = lane_cfg->num_data;
drivers/media/platform/qcom/camss/camss-csid.c
1279
csid->phy.lane_assign = csid_get_lane_assign(lane_cfg);
drivers/media/platform/qcom/camss/camss-csid.c
1288
csid->phy.en_vc |= BIT(local->index - 1);
drivers/media/platform/qcom/camss/camss-csid.c
1290
csid->phy.en_vc &= ~BIT(local->index - 1);
drivers/media/platform/qcom/camss/camss-csid.c
1292
csid->phy.need_vc_update = true;
drivers/media/platform/qcom/camss/camss-csid.c
1295
__func__, csid->phy.en_vc);
drivers/media/platform/qcom/camss/camss-csid.c
548
csid->phy.lane_cnt);
drivers/media/platform/qcom/camss/camss-csid.c
722
csid->phy.need_vc_update = true;
drivers/media/platform/qcom/camss/camss-csid.c
778
if (csid->phy.need_vc_update) {
drivers/media/platform/qcom/camss/camss-csid.c
780
csid->phy.need_vc_update = false;
drivers/media/platform/qcom/camss/camss-csid.h
164
struct csid_phy_config phy;
drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
208
struct phy *dphy;
drivers/media/platform/samsung/exynos4-is/mipi-csis.c
206
struct phy *phy;
drivers/media/platform/samsung/exynos4-is/mipi-csis.c
798
state->phy = devm_phy_get(dev, "csis");
drivers/media/platform/samsung/exynos4-is/mipi-csis.c
799
if (IS_ERR(state->phy))
drivers/media/platform/samsung/exynos4-is/mipi-csis.c
800
return PTR_ERR(state->phy);
drivers/media/platform/samsung/exynos4-is/mipi-csis.c
900
ret = phy_power_off(state->phy);
drivers/media/platform/samsung/exynos4-is/mipi-csis.c
935
ret = phy_power_on(state->phy);
drivers/media/platform/samsung/exynos4-is/mipi-csis.c
945
phy_power_off(state->phy);
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
178
struct phy *dphy = csi2_dev->dphy;
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.h
47
struct phy *dphy;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_dphy.c
13
static int sun8i_a83t_dphy_configure(struct phy *dphy,
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_dphy.c
19
static int sun8i_a83t_dphy_power_on(struct phy *dphy)
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_dphy.c
36
static int sun8i_a83t_dphy_power_off(struct phy *dphy)
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
210
struct phy *dphy = csi2_dev->dphy;
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.h
50
struct phy *dphy;
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
245
ret = phy_set_mode(csi2->phy, PHY_MODE_MIPI_DPHY);
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
249
ret = phy_configure(csi2->phy, &opts);
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
270
return phy_power_on(csi2->phy);
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
275
phy_power_off(csi2->phy);
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
63
struct phy *phy;
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
637
csi2->phy = devm_phy_get(dev, NULL);
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
638
if (IS_ERR(csi2->phy))
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
639
return dev_err_probe(dev, PTR_ERR(csi2->phy),
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
654
ret = phy_init(csi2->phy);
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
666
phy_exit(csi2->phy);
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
676
phy_exit(csi2->phy);
drivers/media/platform/ti/cal/cal-camerarx.c
100
u32 val = cal_read(phy->cal, CAL_CSI2_COMPLEXIO_CFG(phy->instance));
drivers/media/platform/ti/cal/cal-camerarx.c
1007
phy->pads[CAL_CAMERARX_PAD_SINK].flags = MEDIA_PAD_FL_SINK;
drivers/media/platform/ti/cal/cal-camerarx.c
1009
phy->pads[i].flags = MEDIA_PAD_FL_SOURCE;
drivers/media/platform/ti/cal/cal-camerarx.c
1011
ret = media_entity_pads_init(&sd->entity, ARRAY_SIZE(phy->pads),
drivers/media/platform/ti/cal/cal-camerarx.c
1012
phy->pads);
drivers/media/platform/ti/cal/cal-camerarx.c
1024
return phy;
drivers/media/platform/ti/cal/cal-camerarx.c
1029
media_entity_cleanup(&phy->subdev.entity);
drivers/media/platform/ti/cal/cal-camerarx.c
1031
of_node_put(phy->source_ep_node);
drivers/media/platform/ti/cal/cal-camerarx.c
1032
of_node_put(phy->source_node);
drivers/media/platform/ti/cal/cal-camerarx.c
1036
void cal_camerarx_destroy(struct cal_camerarx *phy)
drivers/media/platform/ti/cal/cal-camerarx.c
1038
if (!phy)
drivers/media/platform/ti/cal/cal-camerarx.c
104
&phy->endpoint.bus.mipi_csi2;
drivers/media/platform/ti/cal/cal-camerarx.c
1041
v4l2_device_unregister_subdev(&phy->subdev);
drivers/media/platform/ti/cal/cal-camerarx.c
1042
v4l2_subdev_cleanup(&phy->subdev);
drivers/media/platform/ti/cal/cal-camerarx.c
1043
media_entity_cleanup(&phy->subdev.entity);
drivers/media/platform/ti/cal/cal-camerarx.c
1044
of_node_put(phy->source_ep_node);
drivers/media/platform/ti/cal/cal-camerarx.c
1045
of_node_put(phy->source_node);
drivers/media/platform/ti/cal/cal-camerarx.c
121
cal_write(phy->cal, CAL_CSI2_COMPLEXIO_CFG(phy->instance), val);
drivers/media/platform/ti/cal/cal-camerarx.c
122
phy_dbg(3, phy, "CAL_CSI2_COMPLEXIO_CFG(%d) = 0x%08x\n",
drivers/media/platform/ti/cal/cal-camerarx.c
123
phy->instance, val);
drivers/media/platform/ti/cal/cal-camerarx.c
126
static void cal_camerarx_enable(struct cal_camerarx *phy)
drivers/media/platform/ti/cal/cal-camerarx.c
128
u32 num_lanes = phy->cal->data->camerarx[phy->instance].num_lanes;
drivers/media/platform/ti/cal/cal-camerarx.c
130
regmap_field_write(phy->fields[F_CAMMODE], 0);
drivers/media/platform/ti/cal/cal-camerarx.c
132
regmap_field_write(phy->fields[F_LANEENABLE], (1 << num_lanes) - 1);
drivers/media/platform/ti/cal/cal-camerarx.c
134
if (phy->fields[F_CSI_MODE])
drivers/media/platform/ti/cal/cal-camerarx.c
135
regmap_field_write(phy->fields[F_CSI_MODE], 1);
drivers/media/platform/ti/cal/cal-camerarx.c
136
regmap_field_write(phy->fields[F_CTRLCLKEN], 1);
drivers/media/platform/ti/cal/cal-camerarx.c
139
void cal_camerarx_disable(struct cal_camerarx *phy)
drivers/media/platform/ti/cal/cal-camerarx.c
141
regmap_field_write(phy->fields[F_CTRLCLKEN], 0);
drivers/media/platform/ti/cal/cal-camerarx.c
151
static void cal_camerarx_config(struct cal_camerarx *phy, s64 link_freq)
drivers/media/platform/ti/cal/cal-camerarx.c
160
phy_dbg(1, phy, "ths_term: %d (0x%02x)\n", ths_term, ths_term);
drivers/media/platform/ti/cal/cal-camerarx.c
164
phy_dbg(1, phy, "ths_settle: %d (0x%02x)\n", ths_settle, ths_settle);
drivers/media/platform/ti/cal/cal-camerarx.c
166
reg0 = camerarx_read(phy, CAL_CSI2_PHY_REG0);
drivers/media/platform/ti/cal/cal-camerarx.c
172
phy_dbg(1, phy, "CSI2_%d_REG0 = 0x%08x\n", phy->instance, reg0);
drivers/media/platform/ti/cal/cal-camerarx.c
173
camerarx_write(phy, CAL_CSI2_PHY_REG0, reg0);
drivers/media/platform/ti/cal/cal-camerarx.c
175
reg1 = camerarx_read(phy, CAL_CSI2_PHY_REG1);
drivers/media/platform/ti/cal/cal-camerarx.c
182
phy_dbg(1, phy, "CSI2_%d_REG1 = 0x%08x\n", phy->instance, reg1);
drivers/media/platform/ti/cal/cal-camerarx.c
183
camerarx_write(phy, CAL_CSI2_PHY_REG1, reg1);
drivers/media/platform/ti/cal/cal-camerarx.c
186
static void cal_camerarx_power(struct cal_camerarx *phy, bool enable)
drivers/media/platform/ti/cal/cal-camerarx.c
194
cal_write_field(phy->cal, CAL_CSI2_COMPLEXIO_CFG(phy->instance),
drivers/media/platform/ti/cal/cal-camerarx.c
200
current_state = cal_read_field(phy->cal,
drivers/media/platform/ti/cal/cal-camerarx.c
201
CAL_CSI2_COMPLEXIO_CFG(phy->instance),
drivers/media/platform/ti/cal/cal-camerarx.c
211
phy_err(phy, "Failed to power %s complexio\n",
drivers/media/platform/ti/cal/cal-camerarx.c
215
static void cal_camerarx_wait_reset(struct cal_camerarx *phy)
drivers/media/platform/ti/cal/cal-camerarx.c
221
if (cal_read_field(phy->cal,
drivers/media/platform/ti/cal/cal-camerarx.c
222
CAL_CSI2_COMPLEXIO_CFG(phy->instance),
drivers/media/platform/ti/cal/cal-camerarx.c
229
if (cal_read_field(phy->cal, CAL_CSI2_COMPLEXIO_CFG(phy->instance),
drivers/media/platform/ti/cal/cal-camerarx.c
232
phy_err(phy, "Timeout waiting for Complex IO reset done\n");
drivers/media/platform/ti/cal/cal-camerarx.c
235
static void cal_camerarx_wait_stop_state(struct cal_camerarx *phy)
drivers/media/platform/ti/cal/cal-camerarx.c
241
if (cal_read_field(phy->cal,
drivers/media/platform/ti/cal/cal-camerarx.c
242
CAL_CSI2_TIMING(phy->instance),
drivers/media/platform/ti/cal/cal-camerarx.c
248
if (cal_read_field(phy->cal, CAL_CSI2_TIMING(phy->instance),
drivers/media/platform/ti/cal/cal-camerarx.c
250
phy_err(phy, "Timeout waiting for stop state\n");
drivers/media/platform/ti/cal/cal-camerarx.c
253
static void cal_camerarx_enable_irqs(struct cal_camerarx *phy)
drivers/media/platform/ti/cal/cal-camerarx.c
271
cal_write(phy->cal, CAL_HL_IRQENABLE_SET(0),
drivers/media/platform/ti/cal/cal-camerarx.c
272
CAL_HL_IRQ_CIO_MASK(phy->instance) |
drivers/media/platform/ti/cal/cal-camerarx.c
273
CAL_HL_IRQ_VC_MASK(phy->instance));
drivers/media/platform/ti/cal/cal-camerarx.c
274
cal_write(phy->cal, CAL_CSI2_COMPLEXIO_IRQENABLE(phy->instance),
drivers/media/platform/ti/cal/cal-camerarx.c
276
cal_write(phy->cal, CAL_CSI2_VC_IRQENABLE(phy->instance),
drivers/media/platform/ti/cal/cal-camerarx.c
280
static void cal_camerarx_disable_irqs(struct cal_camerarx *phy)
drivers/media/platform/ti/cal/cal-camerarx.c
283
cal_write(phy->cal, CAL_HL_IRQENABLE_CLR(0),
drivers/media/platform/ti/cal/cal-camerarx.c
284
CAL_HL_IRQ_CIO_MASK(phy->instance) |
drivers/media/platform/ti/cal/cal-camerarx.c
285
CAL_HL_IRQ_VC_MASK(phy->instance));
drivers/media/platform/ti/cal/cal-camerarx.c
286
cal_write(phy->cal, CAL_CSI2_COMPLEXIO_IRQENABLE(phy->instance), 0);
drivers/media/platform/ti/cal/cal-camerarx.c
287
cal_write(phy->cal, CAL_CSI2_VC_IRQENABLE(phy->instance), 0);
drivers/media/platform/ti/cal/cal-camerarx.c
290
static void cal_camerarx_ppi_enable(struct cal_camerarx *phy)
drivers/media/platform/ti/cal/cal-camerarx.c
292
cal_write_field(phy->cal, CAL_CSI2_PPI_CTRL(phy->instance),
drivers/media/platform/ti/cal/cal-camerarx.c
295
cal_write_field(phy->cal, CAL_CSI2_PPI_CTRL(phy->instance),
drivers/media/platform/ti/cal/cal-camerarx.c
299
static void cal_camerarx_ppi_disable(struct cal_camerarx *phy)
drivers/media/platform/ti/cal/cal-camerarx.c
301
cal_write_field(phy->cal, CAL_CSI2_PPI_CTRL(phy->instance),
drivers/media/platform/ti/cal/cal-camerarx.c
305
static int cal_camerarx_start(struct cal_camerarx *phy, u32 sink_stream)
drivers/media/platform/ti/cal/cal-camerarx.c
313
remote_pad = media_pad_remote_pad_first(&phy->pads[CAL_CAMERARX_PAD_SINK]);
drivers/media/platform/ti/cal/cal-camerarx.c
321
if (phy->enable_count > 0) {
drivers/media/platform/ti/cal/cal-camerarx.c
322
ret = v4l2_subdev_enable_streams(phy->source, remote_pad->index,
drivers/media/platform/ti/cal/cal-camerarx.c
325
phy_err(phy, "enable streams failed in source: %d\n", ret);
drivers/media/platform/ti/cal/cal-camerarx.c
329
phy->enable_count++;
drivers/media/platform/ti/cal/cal-camerarx.c
33
static inline u32 camerarx_read(struct cal_camerarx *phy, u32 offset)
drivers/media/platform/ti/cal/cal-camerarx.c
334
link_freq = cal_camerarx_get_ext_link_freq(phy);
drivers/media/platform/ti/cal/cal-camerarx.c
338
ret = v4l2_subdev_call(phy->source, core, s_power, 1);
drivers/media/platform/ti/cal/cal-camerarx.c
340
phy_err(phy, "power on failed in subdev\n");
drivers/media/platform/ti/cal/cal-camerarx.c
344
cal_camerarx_enable_irqs(phy);
drivers/media/platform/ti/cal/cal-camerarx.c
35
return ioread32(phy->base + offset);
drivers/media/platform/ti/cal/cal-camerarx.c
358
cal_camerarx_lane_config(phy);
drivers/media/platform/ti/cal/cal-camerarx.c
364
cal_camerarx_enable(phy);
drivers/media/platform/ti/cal/cal-camerarx.c
373
cal_write_field(phy->cal, CAL_CSI2_COMPLEXIO_CFG(phy->instance),
drivers/media/platform/ti/cal/cal-camerarx.c
376
phy_dbg(3, phy, "CAL_CSI2_COMPLEXIO_CFG(%d) = 0x%08x De-assert Complex IO Reset\n",
drivers/media/platform/ti/cal/cal-camerarx.c
377
phy->instance,
drivers/media/platform/ti/cal/cal-camerarx.c
378
cal_read(phy->cal, CAL_CSI2_COMPLEXIO_CFG(phy->instance)));
drivers/media/platform/ti/cal/cal-camerarx.c
38
static inline void camerarx_write(struct cal_camerarx *phy, u32 offset, u32 val)
drivers/media/platform/ti/cal/cal-camerarx.c
381
camerarx_read(phy, CAL_CSI2_PHY_REG0);
drivers/media/platform/ti/cal/cal-camerarx.c
384
cal_camerarx_config(phy, link_freq);
drivers/media/platform/ti/cal/cal-camerarx.c
396
sscounter = DIV_ROUND_UP(clk_get_rate(phy->cal->fclk), 10000 * 16 * 4);
drivers/media/platform/ti/cal/cal-camerarx.c
398
val = cal_read(phy->cal, CAL_CSI2_TIMING(phy->instance));
drivers/media/platform/ti/cal/cal-camerarx.c
40
iowrite32(val, phy->base + offset);
drivers/media/platform/ti/cal/cal-camerarx.c
403
cal_write(phy->cal, CAL_CSI2_TIMING(phy->instance), val);
drivers/media/platform/ti/cal/cal-camerarx.c
404
phy_dbg(3, phy, "CAL_CSI2_TIMING(%d) = 0x%08x Stop States\n",
drivers/media/platform/ti/cal/cal-camerarx.c
405
phy->instance,
drivers/media/platform/ti/cal/cal-camerarx.c
406
cal_read(phy->cal, CAL_CSI2_TIMING(phy->instance)));
drivers/media/platform/ti/cal/cal-camerarx.c
409
cal_write_field(phy->cal, CAL_CSI2_TIMING(phy->instance),
drivers/media/platform/ti/cal/cal-camerarx.c
411
phy_dbg(3, phy, "CAL_CSI2_TIMING(%d) = 0x%08x Force RXMODE\n",
drivers/media/platform/ti/cal/cal-camerarx.c
412
phy->instance,
drivers/media/platform/ti/cal/cal-camerarx.c
413
cal_read(phy->cal, CAL_CSI2_TIMING(phy->instance)));
drivers/media/platform/ti/cal/cal-camerarx.c
426
cal_camerarx_power(phy, true);
drivers/media/platform/ti/cal/cal-camerarx.c
432
ret = v4l2_subdev_enable_streams(phy->source, remote_pad->index,
drivers/media/platform/ti/cal/cal-camerarx.c
435
v4l2_subdev_call(phy->source, core, s_power, 0);
drivers/media/platform/ti/cal/cal-camerarx.c
436
cal_camerarx_disable_irqs(phy);
drivers/media/platform/ti/cal/cal-camerarx.c
437
phy_err(phy, "stream on failed in subdev\n");
drivers/media/platform/ti/cal/cal-camerarx.c
441
cal_camerarx_wait_reset(phy);
drivers/media/platform/ti/cal/cal-camerarx.c
444
cal_camerarx_wait_stop_state(phy);
drivers/media/platform/ti/cal/cal-camerarx.c
446
phy_dbg(1, phy, "CSI2_%u_REG1 = 0x%08x (bits 31-28 should be set)\n",
drivers/media/platform/ti/cal/cal-camerarx.c
447
phy->instance, camerarx_read(phy, CAL_CSI2_PHY_REG1));
drivers/media/platform/ti/cal/cal-camerarx.c
457
cal_camerarx_ppi_enable(phy);
drivers/media/platform/ti/cal/cal-camerarx.c
459
phy->enable_count++;
drivers/media/platform/ti/cal/cal-camerarx.c
464
static void cal_camerarx_stop(struct cal_camerarx *phy, u32 sink_stream)
drivers/media/platform/ti/cal/cal-camerarx.c
469
remote_pad = media_pad_remote_pad_first(&phy->pads[CAL_CAMERARX_PAD_SINK]);
drivers/media/platform/ti/cal/cal-camerarx.c
471
if (--phy->enable_count > 0) {
drivers/media/platform/ti/cal/cal-camerarx.c
472
ret = v4l2_subdev_disable_streams(phy->source,
drivers/media/platform/ti/cal/cal-camerarx.c
476
phy_err(phy, "stream off failed in subdev\n");
drivers/media/platform/ti/cal/cal-camerarx.c
48
static s64 cal_camerarx_get_ext_link_freq(struct cal_camerarx *phy)
drivers/media/platform/ti/cal/cal-camerarx.c
481
cal_camerarx_ppi_disable(phy);
drivers/media/platform/ti/cal/cal-camerarx.c
483
cal_camerarx_disable_irqs(phy);
drivers/media/platform/ti/cal/cal-camerarx.c
485
cal_camerarx_power(phy, false);
drivers/media/platform/ti/cal/cal-camerarx.c
488
cal_write_field(phy->cal, CAL_CSI2_COMPLEXIO_CFG(phy->instance),
drivers/media/platform/ti/cal/cal-camerarx.c
492
phy_dbg(3, phy, "CAL_CSI2_COMPLEXIO_CFG(%d) = 0x%08x Complex IO in Reset\n",
drivers/media/platform/ti/cal/cal-camerarx.c
493
phy->instance,
drivers/media/platform/ti/cal/cal-camerarx.c
494
cal_read(phy->cal, CAL_CSI2_COMPLEXIO_CFG(phy->instance)));
drivers/media/platform/ti/cal/cal-camerarx.c
497
cal_camerarx_disable(phy);
drivers/media/platform/ti/cal/cal-camerarx.c
499
ret = v4l2_subdev_disable_streams(phy->source, remote_pad->index,
drivers/media/platform/ti/cal/cal-camerarx.c
50
struct v4l2_mbus_config_mipi_csi2 *mipi_csi2 = &phy->endpoint.bus.mipi_csi2;
drivers/media/platform/ti/cal/cal-camerarx.c
502
phy_err(phy, "stream off failed in subdev\n");
drivers/media/platform/ti/cal/cal-camerarx.c
504
ret = v4l2_subdev_call(phy->source, core, s_power, 0);
drivers/media/platform/ti/cal/cal-camerarx.c
506
phy_err(phy, "power off failed in subdev\n");
drivers/media/platform/ti/cal/cal-camerarx.c
528
void cal_camerarx_i913_errata(struct cal_camerarx *phy)
drivers/media/platform/ti/cal/cal-camerarx.c
530
u32 reg10 = camerarx_read(phy, CAL_CSI2_PHY_REG10);
drivers/media/platform/ti/cal/cal-camerarx.c
534
phy_dbg(1, phy, "CSI2_%d_REG10 = 0x%08x\n", phy->instance, reg10);
drivers/media/platform/ti/cal/cal-camerarx.c
535
camerarx_write(phy, CAL_CSI2_PHY_REG10, reg10);
drivers/media/platform/ti/cal/cal-camerarx.c
539
struct cal_camerarx *phy)
drivers/media/platform/ti/cal/cal-camerarx.c
547
phy_data = &cal->data->camerarx[phy->instance];
drivers/media/platform/ti/cal/cal-camerarx.c
560
phy->fields[i] = devm_regmap_field_alloc(cal->dev,
drivers/media/platform/ti/cal/cal-camerarx.c
563
if (IS_ERR(phy->fields[i])) {
drivers/media/platform/ti/cal/cal-camerarx.c
565
return PTR_ERR(phy->fields[i]);
drivers/media/platform/ti/cal/cal-camerarx.c
572
static int cal_camerarx_parse_dt(struct cal_camerarx *phy)
drivers/media/platform/ti/cal/cal-camerarx.c
574
struct v4l2_fwnode_endpoint *endpoint = &phy->endpoint;
drivers/media/platform/ti/cal/cal-camerarx.c
584
ep_node = of_graph_get_endpoint_by_regs(phy->cal->dev->of_node,
drivers/media/platform/ti/cal/cal-camerarx.c
585
phy->instance, 0);
drivers/media/platform/ti/cal/cal-camerarx.c
591
phy_dbg(3, phy, "Port has no endpoint\n");
drivers/media/platform/ti/cal/cal-camerarx.c
598
phy_err(phy, "Failed to parse endpoint\n");
drivers/media/platform/ti/cal/cal-camerarx.c
606
phy_err(phy, "Invalid position %u for data lane %u\n",
drivers/media/platform/ti/cal/cal-camerarx.c
618
phy_dbg(3, phy,
drivers/media/platform/ti/cal/cal-camerarx.c
624
phy->source_ep_node = of_graph_get_remote_endpoint(ep_node);
drivers/media/platform/ti/cal/cal-camerarx.c
625
phy->source_node = of_graph_get_port_parent(phy->source_ep_node);
drivers/media/platform/ti/cal/cal-camerarx.c
626
if (!phy->source_node) {
drivers/media/platform/ti/cal/cal-camerarx.c
627
phy_dbg(3, phy, "Can't get remote parent\n");
drivers/media/platform/ti/cal/cal-camerarx.c
628
of_node_put(phy->source_ep_node);
drivers/media/platform/ti/cal/cal-camerarx.c
633
phy_dbg(1, phy, "Found connected device %pOFn\n", phy->source_node);
drivers/media/platform/ti/cal/cal-camerarx.c
66
state = v4l2_subdev_get_locked_active_state(&phy->subdev);
drivers/media/platform/ti/cal/cal-camerarx.c
666
struct cal_camerarx *phy = to_cal_camerarx(sd);
drivers/media/platform/ti/cal/cal-camerarx.c
675
return cal_camerarx_start(phy, sink_stream);
drivers/media/platform/ti/cal/cal-camerarx.c
682
struct cal_camerarx *phy = to_cal_camerarx(sd);
drivers/media/platform/ti/cal/cal-camerarx.c
691
cal_camerarx_stop(phy, sink_stream);
drivers/media/platform/ti/cal/cal-camerarx.c
85
freq = v4l2_get_link_freq(&phy->source->entity.pads[phy->source_pad],
drivers/media/platform/ti/cal/cal-camerarx.c
874
struct cal_camerarx *phy = to_cal_camerarx(sd);
drivers/media/platform/ti/cal/cal-camerarx.c
88
phy_err(phy, "failed to get link freq for subdev '%s'\n",
drivers/media/platform/ti/cal/cal-camerarx.c
89
phy->source->name);
drivers/media/platform/ti/cal/cal-camerarx.c
890
remote_pad = media_pad_remote_pad_first(&phy->pads[CAL_CAMERARX_PAD_SINK]);
drivers/media/platform/ti/cal/cal-camerarx.c
896
ret = v4l2_subdev_call(phy->source, pad, get_frame_desc,
drivers/media/platform/ti/cal/cal-camerarx.c
902
cal_err(phy->cal,
drivers/media/platform/ti/cal/cal-camerarx.c
914
cal_err(phy->cal, "Stream %u not found in remote frame desc\n",
drivers/media/platform/ti/cal/cal-camerarx.c
93
phy_dbg(3, phy, "Source Link Freq: %llu\n", freq);
drivers/media/platform/ti/cal/cal-camerarx.c
963
struct cal_camerarx *phy;
drivers/media/platform/ti/cal/cal-camerarx.c
968
phy = devm_kzalloc(cal->dev, sizeof(*phy), GFP_KERNEL);
drivers/media/platform/ti/cal/cal-camerarx.c
969
if (!phy)
drivers/media/platform/ti/cal/cal-camerarx.c
972
phy->cal = cal;
drivers/media/platform/ti/cal/cal-camerarx.c
973
phy->instance = instance;
drivers/media/platform/ti/cal/cal-camerarx.c
975
spin_lock_init(&phy->vc_lock);
drivers/media/platform/ti/cal/cal-camerarx.c
977
phy->res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
drivers/media/platform/ti/cal/cal-camerarx.c
98
static void cal_camerarx_lane_config(struct cal_camerarx *phy)
drivers/media/platform/ti/cal/cal-camerarx.c
981
phy->base = devm_ioremap_resource(cal->dev, phy->res);
drivers/media/platform/ti/cal/cal-camerarx.c
982
if (IS_ERR(phy->base)) {
drivers/media/platform/ti/cal/cal-camerarx.c
984
return ERR_CAST(phy->base);
drivers/media/platform/ti/cal/cal-camerarx.c
988
phy->res->name, &phy->res->start, &phy->res->end);
drivers/media/platform/ti/cal/cal-camerarx.c
990
ret = cal_camerarx_regmap_init(cal, phy);
drivers/media/platform/ti/cal/cal-camerarx.c
994
ret = cal_camerarx_parse_dt(phy);
drivers/media/platform/ti/cal/cal-camerarx.c
999
sd = &phy->subdev;
drivers/media/platform/ti/cal/cal-video.c
1015
ret = media_create_pad_link(&ctx->phy->subdev.entity,
drivers/media/platform/ti/cal/cal-video.c
111
struct v4l2_subdev *sd = ctx->phy->source;
drivers/media/platform/ti/cal/cal-video.c
134
struct v4l2_subdev *sd = ctx->phy->source;
drivers/media/platform/ti/cal/cal-video.c
181
struct v4l2_subdev *sd = ctx->phy->source;
drivers/media/platform/ti/cal/cal-video.c
244
struct v4l2_subdev *sd = &ctx->phy->subdev;
drivers/media/platform/ti/cal/cal-video.c
296
struct v4l2_subdev *sd = ctx->phy->source;
drivers/media/platform/ti/cal/cal-video.c
357
struct v4l2_subdev *sd = ctx->phy->source;
drivers/media/platform/ti/cal/cal-video.c
386
return v4l2_g_parm_cap(video_devdata(file), ctx->phy->source, a);
drivers/media/platform/ti/cal/cal-video.c
393
return v4l2_s_parm_cap(video_devdata(file), ctx->phy->source, a);
drivers/media/platform/ti/cal/cal-video.c
693
state = v4l2_subdev_lock_and_get_active_state(&ctx->phy->subdev);
drivers/media/platform/ti/cal/cal-video.c
738
ctx->phy = cal_camerarx_get_phy_from_entity(phy_source_pad->entity);
drivers/media/platform/ti/cal/cal-video.c
772
ret = v4l2_subdev_enable_streams(&ctx->phy->subdev,
drivers/media/platform/ti/cal/cal-video.c
804
v4l2_subdev_disable_streams(&ctx->phy->subdev, phy_source_pad->index,
drivers/media/platform/ti/cal/cal-video.c
816
ctx->phy = NULL;
drivers/media/platform/ti/cal/cal-video.c
843
struct v4l2_subdev *sd = ctx->phy->source;
drivers/media/platform/ti/cal/cal-video.c
960
ret = v4l2_ctrl_add_handler(hdl, ctx->phy->source->ctrl_handler,
drivers/media/platform/ti/cal/cal-video.c
989
&ctx->cal->phy[phy_idx]->subdev.entity;
drivers/media/platform/ti/cal/cal.c
1212
cal->phy[i] = cal_camerarx_create(cal, i);
drivers/media/platform/ti/cal/cal.c
1213
if (IS_ERR(cal->phy[i])) {
drivers/media/platform/ti/cal/cal.c
1214
ret = PTR_ERR(cal->phy[i]);
drivers/media/platform/ti/cal/cal.c
1215
cal->phy[i] = NULL;
drivers/media/platform/ti/cal/cal.c
1219
if (cal->phy[i]->source_node)
drivers/media/platform/ti/cal/cal.c
1234
if (!cal->phy[i]->source_node)
drivers/media/platform/ti/cal/cal.c
1244
ctx->phy = cal->phy[i];
drivers/media/platform/ti/cal/cal.c
1276
cal_camerarx_destroy(cal->phy[i]);
drivers/media/platform/ti/cal/cal.c
1299
cal_camerarx_disable(cal->phy[i]);
drivers/media/platform/ti/cal/cal.c
1305
cal_camerarx_destroy(cal->phy[i]);
drivers/media/platform/ti/cal/cal.c
1326
cal_camerarx_i913_errata(cal->phy[i]);
drivers/media/platform/ti/cal/cal.c
253
struct cal_camerarx *phy = cal->phy[i];
drivers/media/platform/ti/cal/cal.c
256
&phy->res->start);
drivers/media/platform/ti/cal/cal.c
258
(__force const void *)phy->base,
drivers/media/platform/ti/cal/cal.c
259
resource_size(phy->res),
drivers/media/platform/ti/cal/cal.c
304
val = cal_read(ctx->cal, CAL_CSI2_CTX(ctx->phy->instance, ctx->csi2_ctx));
drivers/media/platform/ti/cal/cal.c
320
cal_write(ctx->cal, CAL_CSI2_CTX(ctx->phy->instance, ctx->csi2_ctx), val);
drivers/media/platform/ti/cal/cal.c
322
ctx->phy->instance, ctx->csi2_ctx,
drivers/media/platform/ti/cal/cal.c
323
cal_read(ctx->cal, CAL_CSI2_CTX(ctx->phy->instance, ctx->csi2_ctx)));
drivers/media/platform/ti/cal/cal.c
460
ret = v4l2_subdev_call(&ctx->phy->subdev, pad, get_frame_desc,
drivers/media/platform/ti/cal/cal.c
517
struct cal_camerarx *phy = ctx->phy;
drivers/media/platform/ti/cal/cal.c
524
spin_lock(&phy->vc_lock);
drivers/media/platform/ti/cal/cal.c
526
if (phy->vc_enable_count[ctx->vc]++ == 0) {
drivers/media/platform/ti/cal/cal.c
527
phy->vc_frame_number[ctx->vc] = 0;
drivers/media/platform/ti/cal/cal.c
528
phy->vc_sequence[ctx->vc] = 0;
drivers/media/platform/ti/cal/cal.c
531
spin_unlock(&phy->vc_lock);
drivers/media/platform/ti/cal/cal.c
552
struct cal_camerarx *phy = ctx->phy;
drivers/media/platform/ti/cal/cal.c
555
WARN_ON(phy->vc_enable_count[ctx->vc] == 0);
drivers/media/platform/ti/cal/cal.c
557
spin_lock(&phy->vc_lock);
drivers/media/platform/ti/cal/cal.c
558
phy->vc_enable_count[ctx->vc]--;
drivers/media/platform/ti/cal/cal.c
559
spin_unlock(&phy->vc_lock);
drivers/media/platform/ti/cal/cal.c
585
cal_write(ctx->cal, CAL_CSI2_CTX(ctx->phy->instance, ctx->csi2_ctx), 0);
drivers/media/platform/ti/cal/cal.c
605
struct cal_camerarx *phy = ctx->phy;
drivers/media/platform/ti/cal/cal.c
610
cal_read(cal, CAL_CSI2_STATUS(phy->instance, ctx->csi2_ctx)) &
drivers/media/platform/ti/cal/cal.c
613
if (phy->vc_frame_number[vc] != frame_num) {
drivers/media/platform/ti/cal/cal.c
614
prev_frame_num = phy->vc_frame_number[vc];
drivers/media/platform/ti/cal/cal.c
617
phy->vc_sequence[vc] += 1;
drivers/media/platform/ti/cal/cal.c
619
phy->vc_sequence[vc] += frame_num - prev_frame_num;
drivers/media/platform/ti/cal/cal.c
621
phy->vc_frame_number[vc] = frame_num;
drivers/media/platform/ti/cal/cal.c
683
buf->vb.sequence = ctx->phy->vc_sequence[ctx->vc];
drivers/media/platform/ti/cal/cal.c
779
struct cal_camerarx *phy;
drivers/media/platform/ti/cal/cal.c
792
struct cal_camerarx *phy = to_cal_asd(asd)->phy;
drivers/media/platform/ti/cal/cal.c
796
if (phy->source) {
drivers/media/platform/ti/cal/cal.c
797
phy_info(phy, "Rejecting subdev %s (Already set!!)",
drivers/media/platform/ti/cal/cal.c
802
phy_dbg(1, phy, "Using source %s for capture\n", subdev->name);
drivers/media/platform/ti/cal/cal.c
805
of_fwnode_handle(phy->source_ep_node),
drivers/media/platform/ti/cal/cal.c
808
phy_err(phy, "Source %s has no connected source pad\n",
drivers/media/platform/ti/cal/cal.c
814
&phy->subdev.entity, CAL_CAMERARX_PAD_SINK,
drivers/media/platform/ti/cal/cal.c
818
phy_err(phy, "Failed to create media link for source %s\n",
drivers/media/platform/ti/cal/cal.c
823
phy->source = subdev;
drivers/media/platform/ti/cal/cal.c
824
phy->source_pad = pad;
drivers/media/platform/ti/cal/cal.c
875
struct cal_camerarx *phy = cal->phy[i];
drivers/media/platform/ti/cal/cal.c
879
if (!phy->source_node)
drivers/media/platform/ti/cal/cal.c
882
fwnode = of_fwnode_handle(phy->source_node);
drivers/media/platform/ti/cal/cal.c
887
phy_err(phy, "Failed to add subdev to notifier\n");
drivers/media/platform/ti/cal/cal.c
892
casd->phy = phy;
drivers/media/platform/ti/cal/cal.h
206
struct cal_camerarx *phy[CAL_NUM_CSI2_PORTS];
drivers/media/platform/ti/cal/cal.h
227
struct cal_camerarx *phy;
drivers/media/platform/ti/cal/cal.h
275
#define phy_dbg(level, phy, fmt, arg...) \
drivers/media/platform/ti/cal/cal.h
276
cal_dbg(level, (phy)->cal, "phy%u: " fmt, (phy)->instance, ##arg)
drivers/media/platform/ti/cal/cal.h
277
#define phy_info(phy, fmt, arg...) \
drivers/media/platform/ti/cal/cal.h
278
cal_info((phy)->cal, "phy%u: " fmt, (phy)->instance, ##arg)
drivers/media/platform/ti/cal/cal.h
279
#define phy_err(phy, fmt, arg...) \
drivers/media/platform/ti/cal/cal.h
280
cal_err((phy)->cal, "phy%u: " fmt, (phy)->instance, ##arg)
drivers/media/platform/ti/cal/cal.h
324
void cal_camerarx_disable(struct cal_camerarx *phy);
drivers/media/platform/ti/cal/cal.h
325
void cal_camerarx_i913_errata(struct cal_camerarx *phy);
drivers/media/platform/ti/cal/cal.h
328
void cal_camerarx_destroy(struct cal_camerarx *phy);
drivers/media/platform/ti/cal/cal_regs.h
75
#define CAL_CSI2_CTX(phy, csi2_ctx) (0x330U + (phy) * 0x80U + (csi2_ctx) * 4)
drivers/media/platform/ti/cal/cal_regs.h
76
#define CAL_CSI2_STATUS(phy, csi2_ctx) (0x350U + (phy) * 0x80U + (csi2_ctx) * 4)
drivers/media/platform/ti/omap3isp/isp.c
2109
u32 phy;
drivers/media/platform/ti/omap3isp/isp.c
2157
dev_fwnode(isp->dev), isp_bus_interfaces[i].phy, 0,
drivers/media/platform/ti/omap3isp/ispccp2.c
1160
ccp2->phy = &isp->isp_csiphy2;
drivers/media/platform/ti/omap3isp/ispccp2.c
1162
ccp2->phy = &isp->isp_csiphy1;
drivers/media/platform/ti/omap3isp/ispccp2.c
849
if (ccp2->phy) {
drivers/media/platform/ti/omap3isp/ispccp2.c
850
ret = omap3isp_csiphy_acquire(ccp2->phy, &sd->entity);
drivers/media/platform/ti/omap3isp/ispccp2.c
861
if (ccp2->phy)
drivers/media/platform/ti/omap3isp/ispccp2.c
862
omap3isp_csiphy_release(ccp2->phy);
drivers/media/platform/ti/omap3isp/ispccp2.c
894
if (ccp2->phy)
drivers/media/platform/ti/omap3isp/ispccp2.c
895
omap3isp_csiphy_release(ccp2->phy);
drivers/media/platform/ti/omap3isp/ispccp2.h
70
struct isp_csiphy *phy;
drivers/media/platform/ti/omap3isp/ispcsi2.c
1061
if (omap3isp_csiphy_acquire(csi2->phy, &sd->entity) < 0)
drivers/media/platform/ti/omap3isp/ispcsi2.c
1094
omap3isp_csiphy_release(csi2->phy);
drivers/media/platform/ti/omap3isp/ispcsi2.c
1294
csi2a->phy = &isp->isp_csiphy2;
drivers/media/platform/ti/omap3isp/ispcsi2.c
1307
csi2c->phy = &isp->isp_csiphy1;
drivers/media/platform/ti/omap3isp/ispcsi2.c
490
if (csi2->phy->entity)
drivers/media/platform/ti/omap3isp/ispcsi2.c
517
reg = isp_reg_readl(isp, csi2->phy->phy_regs, ISPCSIPHY_REG1)
drivers/media/platform/ti/omap3isp/ispcsi2.h
136
struct isp_csiphy *phy;
drivers/media/platform/ti/omap3isp/ispcsiphy.c
102
static void csiphy_routing_cfg(struct isp_csiphy *phy,
drivers/media/platform/ti/omap3isp/ispcsiphy.c
106
if (phy->isp->phy_type == ISP_PHY_TYPE_3630 && on)
drivers/media/platform/ti/omap3isp/ispcsiphy.c
107
return csiphy_routing_cfg_3630(phy, iface, ccp2_strobe);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
108
if (phy->isp->phy_type == ISP_PHY_TYPE_3430)
drivers/media/platform/ti/omap3isp/ispcsiphy.c
109
return csiphy_routing_cfg_3430(phy, iface, on, ccp2_strobe);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
116
static void csiphy_power_autoswitch_enable(struct isp_csiphy *phy, bool enable)
drivers/media/platform/ti/omap3isp/ispcsiphy.c
118
isp_reg_clr_set(phy->isp, phy->cfg_regs, ISPCSI2_PHY_CFG,
drivers/media/platform/ti/omap3isp/ispcsiphy.c
129
static int csiphy_set_power(struct isp_csiphy *phy, u32 power)
drivers/media/platform/ti/omap3isp/ispcsiphy.c
134
isp_reg_clr_set(phy->isp, phy->cfg_regs, ISPCSI2_PHY_CFG,
drivers/media/platform/ti/omap3isp/ispcsiphy.c
140
reg = isp_reg_readl(phy->isp, phy->cfg_regs, ISPCSI2_PHY_CFG) &
drivers/media/platform/ti/omap3isp/ispcsiphy.c
149
dev_err(phy->isp->dev, "CSI2 CIO set power failed!\n");
drivers/media/platform/ti/omap3isp/ispcsiphy.c
163
static int omap3isp_csiphy_config(struct isp_csiphy *phy)
drivers/media/platform/ti/omap3isp/ispcsiphy.c
165
struct isp_pipeline *pipe = to_isp_pipeline(phy->entity);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
186
if (num_data_lanes > phy->num_data_lanes)
drivers/media/platform/ti/omap3isp/ispcsiphy.c
211
csiphy_routing_cfg(phy, buscfg->interface, true,
drivers/media/platform/ti/omap3isp/ispcsiphy.c
219
reg = isp_reg_readl(phy->isp, phy->phy_regs, ISPCSIPHY_REG0);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
23
static void csiphy_routing_cfg_3630(struct isp_csiphy *phy,
drivers/media/platform/ti/omap3isp/ispcsiphy.c
230
isp_reg_writel(phy->isp, reg, phy->phy_regs, ISPCSIPHY_REG0);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
232
reg = isp_reg_readl(phy->isp, phy->phy_regs, ISPCSIPHY_REG1);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
241
isp_reg_writel(phy->isp, reg, phy->phy_regs, ISPCSIPHY_REG1);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
244
reg = isp_reg_readl(phy->isp, phy->cfg_regs, ISPCSI2_PHY_CFG);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
260
isp_reg_writel(phy->isp, reg, phy->cfg_regs, ISPCSI2_PHY_CFG);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
265
int omap3isp_csiphy_acquire(struct isp_csiphy *phy, struct media_entity *entity)
drivers/media/platform/ti/omap3isp/ispcsiphy.c
269
if (phy->vdd == NULL) {
drivers/media/platform/ti/omap3isp/ispcsiphy.c
270
dev_err(phy->isp->dev,
drivers/media/platform/ti/omap3isp/ispcsiphy.c
275
mutex_lock(&phy->mutex);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
277
rval = regulator_enable(phy->vdd);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
281
rval = omap3isp_csi2_reset(phy->csi2);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
285
phy->entity = entity;
drivers/media/platform/ti/omap3isp/ispcsiphy.c
287
rval = omap3isp_csiphy_config(phy);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
291
if (phy->isp->revision == ISP_REVISION_15_0) {
drivers/media/platform/ti/omap3isp/ispcsiphy.c
292
rval = csiphy_set_power(phy, ISPCSI2_PHY_CFG_PWR_CMD_ON);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
294
regulator_disable(phy->vdd);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
298
csiphy_power_autoswitch_enable(phy, true);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
30
regmap_read(phy->isp->syscon, phy->isp->syscon_offset, &reg);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
302
phy->entity = NULL;
drivers/media/platform/ti/omap3isp/ispcsiphy.c
304
mutex_unlock(&phy->mutex);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
308
void omap3isp_csiphy_release(struct isp_csiphy *phy)
drivers/media/platform/ti/omap3isp/ispcsiphy.c
310
mutex_lock(&phy->mutex);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
311
if (phy->entity) {
drivers/media/platform/ti/omap3isp/ispcsiphy.c
312
struct isp_pipeline *pipe = to_isp_pipeline(phy->entity);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
317
mutex_unlock(&phy->mutex);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
321
csiphy_routing_cfg(phy, buscfg->interface, false,
drivers/media/platform/ti/omap3isp/ispcsiphy.c
323
if (phy->isp->revision == ISP_REVISION_15_0) {
drivers/media/platform/ti/omap3isp/ispcsiphy.c
324
csiphy_power_autoswitch_enable(phy, false);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
325
csiphy_set_power(phy, ISPCSI2_PHY_CFG_PWR_CMD_OFF);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
327
regulator_disable(phy->vdd);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
328
phy->entity = NULL;
drivers/media/platform/ti/omap3isp/ispcsiphy.c
330
mutex_unlock(&phy->mutex);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
66
regmap_write(phy->isp->syscon, phy->isp->syscon_offset, reg);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
69
static void csiphy_routing_cfg_3430(struct isp_csiphy *phy, u32 iface, bool on,
drivers/media/platform/ti/omap3isp/ispcsiphy.c
80
regmap_write(phy->isp->syscon, phy->isp->syscon_offset, 0);
drivers/media/platform/ti/omap3isp/ispcsiphy.c
87
regmap_write(phy->isp->syscon, phy->isp->syscon_offset, csirxfe);
drivers/media/platform/ti/omap3isp/ispcsiphy.h
37
int omap3isp_csiphy_acquire(struct isp_csiphy *phy,
drivers/media/platform/ti/omap3isp/ispcsiphy.h
39
void omap3isp_csiphy_release(struct isp_csiphy *phy);
drivers/message/fusion/mptsas.c
1582
if (!phy_info_parent->phy)
drivers/message/fusion/mptsas.c
1587
dev_printk(KERN_DEBUG, &phy_info_parent->phy->dev,
drivers/message/fusion/mptsas.c
1590
phy_info_parent->phy);
drivers/message/fusion/mptsas.c
1591
sas_port_delete_phy(port, phy_info_parent->phy);
drivers/message/fusion/mptsas.c
2027
static int mptsas_get_linkerrors(struct sas_phy *phy)
drivers/message/fusion/mptsas.c
2029
MPT_ADAPTER *ioc = phy_to_ioc(phy);
drivers/message/fusion/mptsas.c
2037
if (!scsi_is_sas_phy_local(phy))
drivers/message/fusion/mptsas.c
2050
cfg.pageAddr = phy->identify.phy_identifier;
drivers/message/fusion/mptsas.c
2075
phy->invalid_dword_count = le32_to_cpu(buffer->InvalidDwordCount);
drivers/message/fusion/mptsas.c
2076
phy->running_disparity_error_count =
drivers/message/fusion/mptsas.c
2078
phy->loss_of_dword_sync_count =
drivers/message/fusion/mptsas.c
2080
phy->phy_reset_problem_count =
drivers/message/fusion/mptsas.c
2107
static int mptsas_phy_reset(struct sas_phy *phy, int hard_reset)
drivers/message/fusion/mptsas.c
2109
MPT_ADAPTER *ioc = phy_to_ioc(phy);
drivers/message/fusion/mptsas.c
2118
if (!scsi_is_sas_phy_local(phy))
drivers/message/fusion/mptsas.c
2122
if (phy->identify.target_port_protocols & SAS_PROTOCOL_SMP)
drivers/message/fusion/mptsas.c
2141
req->PhyNum = phy->identify.phy_identifier;
drivers/message/fusion/mptsas.c
2288
port_info->phy_info[0].phy->identify.sas_address;
drivers/message/fusion/mptsas.c
3062
struct sas_phy *phy;
drivers/message/fusion/mptsas.c
3072
if (!phy_info->phy) {
drivers/message/fusion/mptsas.c
3073
phy = sas_phy_alloc(dev, index);
drivers/message/fusion/mptsas.c
3074
if (!phy) {
drivers/message/fusion/mptsas.c
3079
phy = phy_info->phy;
drivers/message/fusion/mptsas.c
3081
mptsas_parse_device_info(&phy->identify, &phy_info->identify);
drivers/message/fusion/mptsas.c
3088
phy->negotiated_linkrate = SAS_PHY_DISABLED;
drivers/message/fusion/mptsas.c
3091
phy->negotiated_linkrate = SAS_LINK_RATE_FAILED;
drivers/message/fusion/mptsas.c
3094
phy->negotiated_linkrate = SAS_LINK_RATE_1_5_GBPS;
drivers/message/fusion/mptsas.c
3097
phy->negotiated_linkrate = SAS_LINK_RATE_3_0_GBPS;
drivers/message/fusion/mptsas.c
3100
phy->negotiated_linkrate = SAS_LINK_RATE_6_0_GBPS;
drivers/message/fusion/mptsas.c
3105
phy->negotiated_linkrate = SAS_LINK_RATE_UNKNOWN;
drivers/message/fusion/mptsas.c
3114
phy->maximum_linkrate_hw = SAS_LINK_RATE_1_5_GBPS;
drivers/message/fusion/mptsas.c
3117
phy->maximum_linkrate_hw = SAS_LINK_RATE_3_0_GBPS;
drivers/message/fusion/mptsas.c
3129
phy->maximum_linkrate = SAS_LINK_RATE_1_5_GBPS;
drivers/message/fusion/mptsas.c
3132
phy->maximum_linkrate = SAS_LINK_RATE_3_0_GBPS;
drivers/message/fusion/mptsas.c
3143
phy->minimum_linkrate_hw = SAS_LINK_RATE_1_5_GBPS;
drivers/message/fusion/mptsas.c
3146
phy->minimum_linkrate_hw = SAS_LINK_RATE_3_0_GBPS;
drivers/message/fusion/mptsas.c
3158
phy->minimum_linkrate = SAS_LINK_RATE_1_5_GBPS;
drivers/message/fusion/mptsas.c
3161
phy->minimum_linkrate = SAS_LINK_RATE_3_0_GBPS;
drivers/message/fusion/mptsas.c
3167
if (!phy_info->phy) {
drivers/message/fusion/mptsas.c
3169
error = sas_phy_add(phy);
drivers/message/fusion/mptsas.c
3171
sas_phy_free(phy);
drivers/message/fusion/mptsas.c
3174
phy_info->phy = phy;
drivers/message/fusion/mptsas.c
3182
ioc = phy_to_ioc(phy_info->phy);
drivers/message/fusion/mptsas.c
3209
sas_port_add_phy(port, phy_info->phy);
drivers/message/fusion/mptsas.c
3211
devtprintk(ioc, dev_printk(KERN_DEBUG, &phy_info->phy->dev,
drivers/message/fusion/mptsas.c
3213
phy_info->phy_id, phy_info->phy));
drivers/message/fusion/mptsas.c
3579
if (!phy_info->phy)
drivers/message/fusion/mptsas.c
3588
dev_printk(KERN_DEBUG, &phy_info->phy->dev,
drivers/message/fusion/mptsas.c
3590
phy_info->phy_id, phy_info->phy);
drivers/message/fusion/mptsas.c
3591
sas_port_delete_phy(port, phy_info->phy);
drivers/message/fusion/mptsas.c
3744
} else if (phy_info && phy_info->phy) {
drivers/message/fusion/mptsas.c
3746
phy_info->phy->negotiated_linkrate =
drivers/message/fusion/mptsas.c
3750
phy_info->phy->negotiated_linkrate =
drivers/message/fusion/mptsas.c
3753
phy_info->phy->negotiated_linkrate =
drivers/message/fusion/mptsas.c
389
static inline MPT_ADAPTER *phy_to_ioc(struct sas_phy *phy)
drivers/message/fusion/mptsas.c
391
struct Scsi_Host *shost = dev_to_shost(phy->dev.parent);
drivers/message/fusion/mptsas.c
885
if (phy_info->phy) {
drivers/message/fusion/mptsas.c
887
&phy_info->phy->dev, MYIOC_s_FMT
drivers/message/fusion/mptsas.c
889
phy_info->phy_id, phy_info->phy));
drivers/message/fusion/mptsas.c
890
sas_port_delete_phy(port_details->port, phy_info->phy);
drivers/message/fusion/mptsas.h
169
struct sas_phy *phy; /* transport layer phy object */
drivers/mmc/host/sdhci-of-arasan.c
189
struct phy *phy;
drivers/mmc/host/sdhci-of-arasan.c
2007
sdhci_arasan->phy = ERR_PTR(-ENODEV);
drivers/mmc/host/sdhci-of-arasan.c
2009
sdhci_arasan->phy = devm_phy_get(dev, "phy_arasan");
drivers/mmc/host/sdhci-of-arasan.c
2010
if (IS_ERR(sdhci_arasan->phy)) {
drivers/mmc/host/sdhci-of-arasan.c
2011
ret = dev_err_probe(dev, PTR_ERR(sdhci_arasan->phy),
drivers/mmc/host/sdhci-of-arasan.c
2016
ret = phy_init(sdhci_arasan->phy);
drivers/mmc/host/sdhci-of-arasan.c
2043
if (!IS_ERR(sdhci_arasan->phy))
drivers/mmc/host/sdhci-of-arasan.c
2044
phy_exit(sdhci_arasan->phy);
drivers/mmc/host/sdhci-of-arasan.c
2062
if (!IS_ERR(sdhci_arasan->phy)) {
drivers/mmc/host/sdhci-of-arasan.c
2064
phy_power_off(sdhci_arasan->phy);
drivers/mmc/host/sdhci-of-arasan.c
2065
phy_exit(sdhci_arasan->phy);
drivers/mmc/host/sdhci-of-arasan.c
362
if (!IS_ERR(sdhci_arasan->phy)) {
drivers/mmc/host/sdhci-of-arasan.c
378
if (phy_power_on(sdhci_arasan->phy)) {
drivers/mmc/host/sdhci-of-arasan.c
402
phy_power_off(sdhci_arasan->phy);
drivers/mmc/host/sdhci-of-arasan.c
446
if (phy_power_on(sdhci_arasan->phy)) {
drivers/mmc/host/sdhci-of-arasan.c
636
if (!IS_ERR(sdhci_arasan->phy) && sdhci_arasan->is_phy_on) {
drivers/mmc/host/sdhci-of-arasan.c
637
ret = phy_power_off(sdhci_arasan->phy);
drivers/mmc/host/sdhci-of-arasan.c
681
if (!IS_ERR(sdhci_arasan->phy) && host->mmc->actual_clock) {
drivers/mmc/host/sdhci-of-arasan.c
682
ret = phy_power_on(sdhci_arasan->phy);
drivers/net/can/at91_can.c
1049
struct phy *transceiver;
drivers/net/can/at91_can.c
154
struct phy *transceiver;
drivers/net/can/flexcan/flexcan-core.c
2093
struct phy *transceiver;
drivers/net/can/flexcan/flexcan.h
110
struct phy *transceiver;
drivers/net/can/m_can/m_can.h
92
struct phy *transceiver;
drivers/net/can/m_can/m_can_platform.c
85
struct phy *transceiver;
drivers/net/can/rcar/rcar_canfd.c
1864
u32 fcan_freq, struct phy *transceiver)
drivers/net/can/rcar/rcar_canfd.c
2101
struct phy *transceivers[RCANFD_NUM_CHANNELS] = { NULL, };
drivers/net/can/rcar/rcar_canfd.c
455
struct phy *transceiver; /* Optional transceiver */
drivers/net/can/xilinx_can.c
1882
struct phy *transceiver;
drivers/net/can/xilinx_can.c
255
struct phy *transceiver;
drivers/net/dsa/b53/b53_common.c
2603
int b53_eee_init(struct dsa_switch *ds, int port, struct phy_device *phy)
drivers/net/dsa/b53/b53_common.c
2610
ret = phy_init_eee(phy, false);
drivers/net/dsa/b53/b53_common.c
700
int b53_enable_port(struct dsa_switch *ds, int port, struct phy_device *phy)
drivers/net/dsa/b53/b53_priv.h
541
int b53_enable_port(struct dsa_switch *ds, int port, struct phy_device *phy);
drivers/net/dsa/b53/b53_priv.h
544
int b53_eee_init(struct dsa_switch *ds, int port, struct phy_device *phy);
drivers/net/dsa/bcm_sf2.c
281
struct phy_device *phy)
drivers/net/dsa/bcm_sf2.c
314
if (phy) {
drivers/net/dsa/bcm_sf2.c
324
phy->state = PHY_READY;
drivers/net/dsa/bcm_sf2.c
325
phy_init_hw(phy);
drivers/net/dsa/bcm_sf2.c
346
return b53_enable_port(ds, port, phy);
drivers/net/dsa/hirschmann/hellcreek.c
248
struct phy_device *phy)
drivers/net/dsa/ks8995.c
545
struct phy_device *phy)
drivers/net/dsa/lan9303-core.c
1107
struct phy_device *phy)
drivers/net/dsa/microchip/ksz8.c
1221
int ksz8_w_phy(struct ksz_device *dev, u16 phy, u16 reg, u16 val)
drivers/net/dsa/microchip/ksz8.c
1225
u16 p = phy;
drivers/net/dsa/microchip/ksz8.c
2026
static u16 ksz8463_get_phy_addr(u16 phy, u16 reg, u16 offset)
drivers/net/dsa/microchip/ksz8.c
2028
return offset + reg * 2 + phy * (P2MBCR - P1MBCR);
drivers/net/dsa/microchip/ksz8.c
2031
int ksz8463_r_phy(struct ksz_device *dev, u16 phy, u16 reg, u16 *val)
drivers/net/dsa/microchip/ksz8.c
2037
if (phy > 1)
drivers/net/dsa/microchip/ksz8.c
2041
sw_reg = ksz8463_get_phy_addr(phy, 0, PHY1IHR);
drivers/net/dsa/microchip/ksz8.c
2044
sw_reg = ksz8463_get_phy_addr(phy, 0, PHY1ILR);
drivers/net/dsa/microchip/ksz8.c
2050
sw_reg = ksz8463_get_phy_addr(phy, reg, P1MBCR);
drivers/net/dsa/microchip/ksz8.c
2071
int ksz8463_w_phy(struct ksz_device *dev, u16 phy, u16 reg, u16 val)
drivers/net/dsa/microchip/ksz8.c
2076
if (phy > 1)
drivers/net/dsa/microchip/ksz8.c
2080
if (dev->ports[phy].fiber)
drivers/net/dsa/microchip/ksz8.c
2085
sw_reg = ksz8463_get_phy_addr(phy, reg, P1MBCR);
drivers/net/dsa/microchip/ksz8.c
957
int ksz8_r_phy(struct ksz_device *dev, u16 phy, u16 reg, u16 *val)
drivers/net/dsa/microchip/ksz8.c
963
u16 p = phy;
drivers/net/dsa/microchip/ksz8.h
20
int ksz8_r_phy(struct ksz_device *dev, u16 phy, u16 reg, u16 *val);
drivers/net/dsa/microchip/ksz8.h
21
int ksz8_w_phy(struct ksz_device *dev, u16 phy, u16 reg, u16 val);
drivers/net/dsa/microchip/ksz8.h
67
int ksz8463_r_phy(struct ksz_device *dev, u16 phy, u16 reg, u16 *val);
drivers/net/dsa/microchip/ksz8.h
68
int ksz8463_w_phy(struct ksz_device *dev, u16 phy, u16 reg, u16 val);
drivers/net/dsa/microchip/ksz9477.c
187
static int ksz9477_pcs_read(struct mii_bus *bus, int phy, int mmd, int reg)
drivers/net/dsa/microchip/ksz9477.c
254
static int ksz9477_pcs_write(struct mii_bus *bus, int phy, int mmd, int reg,
drivers/net/dsa/microchip/ksz_common.c
2588
int phy, port;
drivers/net/dsa/microchip/ksz_common.c
2592
for (phy = 0; phy < PHY_MAX_ADDR; phy++) {
drivers/net/dsa/microchip/ksz_common.c
2593
if (BIT(phy) & ds->phys_mii_mask) {
drivers/net/dsa/microchip/ksz_common.c
2594
port = ksz_phy_addr_to_port(dev, phy);
drivers/net/dsa/microchip/ksz_common.c
2606
ds->user_mii_bus->irq[phy] = irq;
drivers/net/dsa/microchip/ksz_common.c
2611
while (phy--)
drivers/net/dsa/microchip/ksz_common.c
2612
if (BIT(phy) & ds->phys_mii_mask)
drivers/net/dsa/microchip/ksz_common.c
2613
irq_dispose_mapping(ds->user_mii_bus->irq[phy]);
drivers/net/dsa/microchip/ksz_common.c
2628
int phy;
drivers/net/dsa/microchip/ksz_common.c
2630
for (phy = 0; phy < PHY_MAX_ADDR; phy++)
drivers/net/dsa/microchip/ksz_common.c
2631
if (BIT(phy) & ds->phys_mii_mask)
drivers/net/dsa/microchip/ksz_common.c
2632
irq_dispose_mapping(ds->user_mii_bus->irq[phy]);
drivers/net/dsa/microchip/ksz_common.h
404
int (*r_phy)(struct ksz_device *dev, u16 phy, u16 reg, u16 *val);
drivers/net/dsa/microchip/ksz_common.h
405
int (*w_phy)(struct ksz_device *dev, u16 phy, u16 reg, u16 val);
drivers/net/dsa/mt7530.c
1317
struct phy_device *phy)
drivers/net/dsa/mv88e6xxx/chip.c
3739
static int mv88e6xxx_mdio_read(struct mii_bus *bus, int phy, int reg)
drivers/net/dsa/mv88e6xxx/chip.c
3751
err = chip->info->ops->phy_read(chip, bus, phy, reg, &val);
drivers/net/dsa/mv88e6xxx/chip.c
3765
static int mv88e6xxx_mdio_read_c45(struct mii_bus *bus, int phy, int devad,
drivers/net/dsa/mv88e6xxx/chip.c
3777
err = chip->info->ops->phy_read_c45(chip, bus, phy, devad, reg, &val);
drivers/net/dsa/mv88e6xxx/chip.c
3783
static int mv88e6xxx_mdio_write(struct mii_bus *bus, int phy, int reg, u16 val)
drivers/net/dsa/mv88e6xxx/chip.c
3793
err = chip->info->ops->phy_write(chip, bus, phy, reg, val);
drivers/net/dsa/mv88e6xxx/chip.c
3799
static int mv88e6xxx_mdio_write_c45(struct mii_bus *bus, int phy, int devad,
drivers/net/dsa/mv88e6xxx/chip.c
3810
err = chip->info->ops->phy_write_c45(chip, bus, phy, devad, reg, val);
drivers/net/dsa/mv88e6xxx/global2.c
1202
int phy, irq;
drivers/net/dsa/mv88e6xxx/global2.c
1204
for (phy = phy_start; phy < phy_end; phy++) {
drivers/net/dsa/mv88e6xxx/global2.c
1205
irq = irq_find_mapping(chip->g2_irq.domain, phy);
drivers/net/dsa/mv88e6xxx/global2.c
1209
bus->irq[chip->info->phy_base_addr + phy] = irq;
drivers/net/dsa/mv88e6xxx/phy.c
102
err = mv88e6xxx_phy_write(chip, phy, MV88E6XXX_PHY_PAGE,
drivers/net/dsa/mv88e6xxx/phy.c
107
phy, err);
drivers/net/dsa/mv88e6xxx/phy.c
111
int mv88e6xxx_phy_page_read(struct mv88e6xxx_chip *chip, int phy,
drivers/net/dsa/mv88e6xxx/phy.c
120
err = mv88e6xxx_phy_page_get(chip, phy, page);
drivers/net/dsa/mv88e6xxx/phy.c
122
err = mv88e6xxx_phy_read(chip, phy, reg, val);
drivers/net/dsa/mv88e6xxx/phy.c
123
mv88e6xxx_phy_page_put(chip, phy);
drivers/net/dsa/mv88e6xxx/phy.c
129
int mv88e6xxx_phy_page_write(struct mv88e6xxx_chip *chip, int phy,
drivers/net/dsa/mv88e6xxx/phy.c
138
err = mv88e6xxx_phy_page_get(chip, phy, page);
drivers/net/dsa/mv88e6xxx/phy.c
140
err = mv88e6xxx_phy_write(chip, phy, MV88E6XXX_PHY_PAGE, page);
drivers/net/dsa/mv88e6xxx/phy.c
142
err = mv88e6xxx_phy_write(chip, phy, reg, val);
drivers/net/dsa/mv88e6xxx/phy.c
144
mv88e6xxx_phy_page_put(chip, phy);
drivers/net/dsa/mv88e6xxx/phy.c
28
int mv88e6xxx_phy_read(struct mv88e6xxx_chip *chip, int phy, int reg, u16 *val)
drivers/net/dsa/mv88e6xxx/phy.c
30
int addr = phy; /* PHY devices addresses start at 0x0 */
drivers/net/dsa/mv88e6xxx/phy.c
43
int mv88e6xxx_phy_write(struct mv88e6xxx_chip *chip, int phy, int reg, u16 val)
drivers/net/dsa/mv88e6xxx/phy.c
45
int addr = phy; /* PHY devices addresses start at 0x0 */
drivers/net/dsa/mv88e6xxx/phy.c
58
int mv88e6xxx_phy_read_c45(struct mv88e6xxx_chip *chip, int phy, int devad,
drivers/net/dsa/mv88e6xxx/phy.c
61
int addr = phy; /* PHY devices addresses start at 0x0 */
drivers/net/dsa/mv88e6xxx/phy.c
74
int mv88e6xxx_phy_write_c45(struct mv88e6xxx_chip *chip, int phy, int devad,
drivers/net/dsa/mv88e6xxx/phy.c
77
int addr = phy; /* PHY devices addresses start at 0x0 */
drivers/net/dsa/mv88e6xxx/phy.c
90
static int mv88e6xxx_phy_page_get(struct mv88e6xxx_chip *chip, int phy, u8 page)
drivers/net/dsa/mv88e6xxx/phy.c
92
return mv88e6xxx_phy_write(chip, phy, MV88E6XXX_PHY_PAGE, page);
drivers/net/dsa/mv88e6xxx/phy.c
95
static void mv88e6xxx_phy_page_put(struct mv88e6xxx_chip *chip, int phy)
drivers/net/dsa/mv88e6xxx/phy.h
27
int mv88e6xxx_phy_read(struct mv88e6xxx_chip *chip, int phy,
drivers/net/dsa/mv88e6xxx/phy.h
29
int mv88e6xxx_phy_write(struct mv88e6xxx_chip *chip, int phy,
drivers/net/dsa/mv88e6xxx/phy.h
31
int mv88e6xxx_phy_read_c45(struct mv88e6xxx_chip *chip, int phy, int devad,
drivers/net/dsa/mv88e6xxx/phy.h
33
int mv88e6xxx_phy_write_c45(struct mv88e6xxx_chip *chip, int phy, int devad,
drivers/net/dsa/mv88e6xxx/phy.h
35
int mv88e6xxx_phy_page_read(struct mv88e6xxx_chip *chip, int phy,
drivers/net/dsa/mv88e6xxx/phy.h
37
int mv88e6xxx_phy_page_write(struct mv88e6xxx_chip *chip, int phy,
drivers/net/dsa/mxl862xx/mxl862xx-api.h
17
u8 phy;
drivers/net/dsa/mxl862xx/mxl862xx.c
51
.phy = port,
drivers/net/dsa/mxl862xx/mxl862xx.c
68
.phy = port,
drivers/net/dsa/qca/qca8k-8xxx.c
623
qca8k_phy_eth_command(struct qca8k_priv *priv, bool read, int phy,
drivers/net/dsa/qca/qca8k-8xxx.c
639
QCA8K_MDIO_MASTER_PHY_ADDR(phy) |
drivers/net/dsa/qca/qca8k-8xxx.c
816
qca8k_mdio_write(struct qca8k_priv *priv, int phy, int regnum, u16 data)
drivers/net/dsa/qca/qca8k-8xxx.c
827
QCA8K_MDIO_MASTER_WRITE | QCA8K_MDIO_MASTER_PHY_ADDR(phy) |
drivers/net/dsa/qca/qca8k-8xxx.c
854
qca8k_mdio_read(struct qca8k_priv *priv, int phy, int regnum)
drivers/net/dsa/qca/qca8k-8xxx.c
865
QCA8K_MDIO_MASTER_READ | QCA8K_MDIO_MASTER_PHY_ADDR(phy) |
drivers/net/dsa/qca/qca8k-8xxx.c
898
qca8k_internal_mdio_write(struct mii_bus *slave_bus, int phy, int regnum, u16 data)
drivers/net/dsa/qca/qca8k-8xxx.c
904
ret = qca8k_phy_eth_command(priv, false, phy, regnum, data);
drivers/net/dsa/qca/qca8k-8xxx.c
908
return qca8k_mdio_write(priv, phy, regnum, data);
drivers/net/dsa/qca/qca8k-8xxx.c
912
qca8k_internal_mdio_read(struct mii_bus *slave_bus, int phy, int regnum)
drivers/net/dsa/qca/qca8k-8xxx.c
918
ret = qca8k_phy_eth_command(priv, true, phy, regnum, 0);
drivers/net/dsa/qca/qca8k-8xxx.c
922
ret = qca8k_mdio_read(priv, phy, regnum);
drivers/net/dsa/qca/qca8k-common.c
750
struct phy_device *phy)
drivers/net/dsa/qca/qca8k-common.c
758
phy_support_asym_pause(phy);
drivers/net/dsa/qca/qca8k-leds.c
18
return phy + 1;
drivers/net/dsa/qca/qca8k-leds.c
9
static u32 qca8k_phy_to_port(int phy)
drivers/net/dsa/qca/qca8k.h
541
struct phy_device *phy);
drivers/net/dsa/realtek/realtek.h
110
int (*phy_read)(struct realtek_priv *priv, int phy, int regnum);
drivers/net/dsa/realtek/realtek.h
111
int (*phy_write)(struct realtek_priv *priv, int phy, int regnum,
drivers/net/dsa/realtek/rtl8365mb.c
659
static int rtl8365mb_phy_ocp_prepare(struct realtek_priv *priv, int phy,
drivers/net/dsa/realtek/rtl8365mb.c
676
val |= FIELD_PREP(RTL8365MB_INDIRECT_ACCESS_ADDRESS_PHYNUM_MASK, phy);
drivers/net/dsa/realtek/rtl8365mb.c
689
static int rtl8365mb_phy_ocp_read(struct realtek_priv *priv, int phy,
drivers/net/dsa/realtek/rtl8365mb.c
701
ret = rtl8365mb_phy_ocp_prepare(priv, phy, ocp_addr);
drivers/net/dsa/realtek/rtl8365mb.c
733
static int rtl8365mb_phy_ocp_write(struct realtek_priv *priv, int phy,
drivers/net/dsa/realtek/rtl8365mb.c
745
ret = rtl8365mb_phy_ocp_prepare(priv, phy, ocp_addr);
drivers/net/dsa/realtek/rtl8365mb.c
775
static int rtl8365mb_phy_read(struct realtek_priv *priv, int phy, int regnum)
drivers/net/dsa/realtek/rtl8365mb.c
781
if (phy > RTL8365MB_PHYADDRMAX)
drivers/net/dsa/realtek/rtl8365mb.c
789
ret = rtl8365mb_phy_ocp_read(priv, phy, ocp_addr, &val);
drivers/net/dsa/realtek/rtl8365mb.c
792
"failed to read PHY%d reg %02x @ %04x, ret %d\n", phy,
drivers/net/dsa/realtek/rtl8365mb.c
798
phy, regnum, ocp_addr, val);
drivers/net/dsa/realtek/rtl8365mb.c
803
static int rtl8365mb_phy_write(struct realtek_priv *priv, int phy, int regnum,
drivers/net/dsa/realtek/rtl8365mb.c
809
if (phy > RTL8365MB_PHYADDRMAX)
drivers/net/dsa/realtek/rtl8365mb.c
817
ret = rtl8365mb_phy_ocp_write(priv, phy, ocp_addr, val);
drivers/net/dsa/realtek/rtl8365mb.c
820
"failed to write PHY%d reg %02x @ %04x, ret %d\n", phy,
drivers/net/dsa/realtek/rtl8365mb.c
826
phy, regnum, ocp_addr, val);
drivers/net/dsa/realtek/rtl8366rb.c
1161
struct phy_device *phy)
drivers/net/dsa/realtek/rtl8366rb.c
1654
static int rtl8366rb_phy_read(struct realtek_priv *priv, int phy, int regnum)
drivers/net/dsa/realtek/rtl8366rb.c
1660
if (phy > RTL8366RB_PHY_NO_MAX)
drivers/net/dsa/realtek/rtl8366rb.c
1670
reg = 0x8000 | (1 << (phy + RTL8366RB_PHY_NO_OFFSET)) | regnum;
drivers/net/dsa/realtek/rtl8366rb.c
1676
phy, regnum, reg, ret);
drivers/net/dsa/realtek/rtl8366rb.c
1688
phy, regnum, reg, val);
drivers/net/dsa/realtek/rtl8366rb.c
1696
static int rtl8366rb_phy_write(struct realtek_priv *priv, int phy, int regnum,
drivers/net/dsa/realtek/rtl8366rb.c
1702
if (phy > RTL8366RB_PHY_NO_MAX)
drivers/net/dsa/realtek/rtl8366rb.c
1712
reg = 0x8000 | (1 << (phy + RTL8366RB_PHY_NO_OFFSET)) | regnum;
drivers/net/dsa/realtek/rtl8366rb.c
1715
phy, regnum, reg, val);
drivers/net/dsa/rzn1_a5psw.c
196
struct phy_device *phy)
drivers/net/dsa/sja1105/sja1105.h
154
int (*pcs_mdio_read_c45)(struct mii_bus *bus, int phy, int mmd,
drivers/net/dsa/sja1105/sja1105.h
156
int (*pcs_mdio_write_c45)(struct mii_bus *bus, int phy, int mmd,
drivers/net/dsa/sja1105/sja1105.h
312
int sja1105_pcs_mdio_read_c45(struct mii_bus *bus, int phy, int mmd, int reg);
drivers/net/dsa/sja1105/sja1105.h
313
int sja1105_pcs_mdio_write_c45(struct mii_bus *bus, int phy, int mmd, int reg,
drivers/net/dsa/sja1105/sja1105.h
315
int sja1110_pcs_mdio_read_c45(struct mii_bus *bus, int phy, int mmd, int reg);
drivers/net/dsa/sja1105/sja1105.h
316
int sja1110_pcs_mdio_write_c45(struct mii_bus *bus, int phy, int mmd, int reg,
drivers/net/dsa/sja1105/sja1105_mdio.c
10
int sja1105_pcs_mdio_read_c45(struct mii_bus *bus, int phy, int mmd, int reg)
drivers/net/dsa/sja1105/sja1105_mdio.c
108
if (regs->pcs_base[phy] == SJA1105_RSV_ADDR)
drivers/net/dsa/sja1105/sja1105_mdio.c
125
regs->pcs_base[phy] + SJA1110_PCS_BANK_REG,
drivers/net/dsa/sja1105/sja1105_mdio.c
132
return sja1105_xfer_u32(priv, SPI_WRITE, regs->pcs_base[phy] + offset,
drivers/net/dsa/sja1105/sja1105_mdio.c
144
int phy, enum sja1105_mdio_opcode op,
drivers/net/dsa/sja1105/sja1105_mdio.c
149
return regs->mdio_100base_t1 | (phy << 7) | (op << 5) | (xad << 0);
drivers/net/dsa/sja1105/sja1105_mdio.c
152
static int sja1105_base_t1_mdio_read_c22(struct mii_bus *bus, int phy, int reg)
drivers/net/dsa/sja1105/sja1105_mdio.c
160
addr = sja1105_base_t1_encode_addr(priv, phy, SJA1105_C22, reg & 0x1f);
drivers/net/dsa/sja1105/sja1105_mdio.c
169
static int sja1105_base_t1_mdio_read_c45(struct mii_bus *bus, int phy,
drivers/net/dsa/sja1105/sja1105_mdio.c
178
addr = sja1105_base_t1_encode_addr(priv, phy, SJA1105_C45_ADDR, mmd);
drivers/net/dsa/sja1105/sja1105_mdio.c
184
addr = sja1105_base_t1_encode_addr(priv, phy, SJA1105_C45_DATA, mmd);
drivers/net/dsa/sja1105/sja1105_mdio.c
193
static int sja1105_base_t1_mdio_write_c22(struct mii_bus *bus, int phy, int reg,
drivers/net/dsa/sja1105/sja1105_mdio.c
201
addr = sja1105_base_t1_encode_addr(priv, phy, SJA1105_C22, reg & 0x1f);
drivers/net/dsa/sja1105/sja1105_mdio.c
208
static int sja1105_base_t1_mdio_write_c45(struct mii_bus *bus, int phy,
drivers/net/dsa/sja1105/sja1105_mdio.c
217
addr = sja1105_base_t1_encode_addr(priv, phy, SJA1105_C45_ADDR, mmd);
drivers/net/dsa/sja1105/sja1105_mdio.c
223
addr = sja1105_base_t1_encode_addr(priv, phy, SJA1105_C45_DATA, mmd);
drivers/net/dsa/sja1105/sja1105_mdio.c
230
static int sja1105_base_tx_mdio_read(struct mii_bus *bus, int phy, int reg)
drivers/net/dsa/sja1105/sja1105_mdio.c
246
static int sja1105_base_tx_mdio_write(struct mii_bus *bus, int phy, int reg,
drivers/net/dsa/sja1105/sja1105_mdio.c
35
int sja1105_pcs_mdio_write_c45(struct mii_bus *bus, int phy, int mmd,
drivers/net/dsa/sja1105/sja1105_mdio.c
52
int sja1110_pcs_mdio_read_c45(struct mii_bus *bus, int phy, int mmd, int reg)
drivers/net/dsa/sja1105/sja1105_mdio.c
62
if (regs->pcs_base[phy] == SJA1105_RSV_ADDR)
drivers/net/dsa/sja1105/sja1105_mdio.c
84
regs->pcs_base[phy] + SJA1110_PCS_BANK_REG,
drivers/net/dsa/sja1105/sja1105_mdio.c
89
rc = sja1105_xfer_u32(priv, SPI_READ, regs->pcs_base[phy] + offset,
drivers/net/dsa/sja1105/sja1105_mdio.c
97
int sja1110_pcs_mdio_write_c45(struct mii_bus *bus, int phy, int mmd, int reg,
drivers/net/dsa/vitesse-vsc73xx-core.c
1108
struct phy_device *phy, unsigned int mode,
drivers/net/dsa/vitesse-vsc73xx-core.c
1431
struct phy_device *phy)
drivers/net/dsa/vitesse-vsc73xx-core.c
621
static int vsc73xx_phy_read(struct dsa_switch *ds, int phy, int regnum)
drivers/net/dsa/vitesse-vsc73xx-core.c
634
FIELD_PREP(VSC73XX_MII_CMD_PHY_ADDR, phy) |
drivers/net/dsa/vitesse-vsc73xx-core.c
651
regnum, phy);
drivers/net/dsa/vitesse-vsc73xx-core.c
657
regnum, phy, val);
drivers/net/dsa/vitesse-vsc73xx-core.c
662
static int vsc73xx_phy_write(struct dsa_switch *ds, int phy, int regnum,
drivers/net/dsa/vitesse-vsc73xx-core.c
673
cmd = FIELD_PREP(VSC73XX_MII_CMD_PHY_ADDR, phy) |
drivers/net/dsa/vitesse-vsc73xx-core.c
682
val, regnum, phy);
drivers/net/ethernet/3com/3c574_cs.c
1039
int phy = lp->phys & 0x1f;
drivers/net/ethernet/3com/3c574_cs.c
1047
data->phy_id = phy;
drivers/net/ethernet/3com/3c574_cs.c
382
int phy;
drivers/net/ethernet/3com/3c574_cs.c
394
for (phy = 1; phy <= 32; phy++) {
drivers/net/ethernet/3com/3c574_cs.c
397
mii_status = mdio_read(ioaddr, phy & 0x1f, 1);
drivers/net/ethernet/3com/3c574_cs.c
399
lp->phys = phy & 0x1f;
drivers/net/ethernet/3com/3c574_cs.c
402
phy, mii_status);
drivers/net/ethernet/3com/3c574_cs.c
408
if (phy > 32) {
drivers/net/ethernet/3com/3c59x.c
1389
int phy, phy_idx = 0;
drivers/net/ethernet/3com/3c59x.c
1395
for (phy = 0; phy < 32 && phy_idx < 1; phy++) {
drivers/net/ethernet/3com/3c59x.c
1402
if (phy == 0)
drivers/net/ethernet/3com/3c59x.c
1404
else if (phy <= 24)
drivers/net/ethernet/3com/3c59x.c
1405
phyx = phy - 1;
drivers/net/ethernet/3com/3c59x.c
1407
phyx = phy;
drivers/net/ethernet/actions/owl-emac.c
1357
struct phy_device *phy;
drivers/net/ethernet/actions/owl-emac.c
1359
phy = of_phy_get_and_connect(netdev, dev->of_node,
drivers/net/ethernet/actions/owl-emac.c
1361
if (!phy)
drivers/net/ethernet/actions/owl-emac.c
1364
phy_set_sym_pause(phy, true, true, true);
drivers/net/ethernet/actions/owl-emac.c
1367
phy_attached_info(phy);
drivers/net/ethernet/adaptec/starfire.c
780
int phy, phy_idx = 0;
drivers/net/ethernet/adaptec/starfire.c
782
for (phy = 0; phy < 32 && phy_idx < PHY_CNT; phy++) {
drivers/net/ethernet/adaptec/starfire.c
783
mdio_write(dev, phy, MII_BMCR, BMCR_RESET);
drivers/net/ethernet/adaptec/starfire.c
787
if ((mdio_read(dev, phy, MII_BMCR) & BMCR_RESET) == 0)
drivers/net/ethernet/adaptec/starfire.c
790
printk("%s: PHY#%d reset never completed!\n", dev->name, phy);
drivers/net/ethernet/adaptec/starfire.c
793
mii_status = mdio_read(dev, phy, MII_BMSR);
drivers/net/ethernet/adaptec/starfire.c
795
np->phys[phy_idx++] = phy;
drivers/net/ethernet/adaptec/starfire.c
796
np->mii_if.advertising = mdio_read(dev, phy, MII_ADVERTISE);
drivers/net/ethernet/adaptec/starfire.c
799
dev->name, phy, mii_status, np->mii_if.advertising);
drivers/net/ethernet/aeroflex/greth.c
1162
static int greth_mdio_read(struct mii_bus *bus, int phy, int reg)
drivers/net/ethernet/aeroflex/greth.c
1170
GRETH_REGSAVE(greth->regs->mdio, ((phy & 0x1F) << 11) | ((reg & 0x1F) << 6) | 2);
drivers/net/ethernet/aeroflex/greth.c
1184
static int greth_mdio_write(struct mii_bus *bus, int phy, int reg, u16 val)
drivers/net/ethernet/aeroflex/greth.c
1192
((val & 0xFFFF) << 16) | ((phy & 0x1F) << 11) | ((reg & 0x1F) << 6) | 1);
drivers/net/ethernet/aeroflex/greth.c
1256
struct phy_device *phy = NULL;
drivers/net/ethernet/aeroflex/greth.c
1260
phy = phy_find_first(greth->mdio);
drivers/net/ethernet/aeroflex/greth.c
1262
if (!phy) {
drivers/net/ethernet/aeroflex/greth.c
1268
ret = phy_connect_direct(dev, phy, &greth_link_change,
drivers/net/ethernet/aeroflex/greth.c
1277
phy_set_max_speed(phy, SPEED_1000);
drivers/net/ethernet/aeroflex/greth.c
1279
phy_set_max_speed(phy, SPEED_100);
drivers/net/ethernet/aeroflex/greth.c
1281
linkmode_copy(phy->advertising, phy->supported);
drivers/net/ethernet/agere/et131x.h
957
#define ET_MAC_MII_ADDR(phy, reg) ((phy) << 8 | (reg))
drivers/net/ethernet/altera/altera_tse_main.c
1052
struct phy_device *phy, unsigned int mode,
drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c
158
pause->autoneg = pdata->phy.pause_autoneg;
drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c
159
pause->tx_pause = pdata->phy.tx_pause;
drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c
160
pause->rx_pause = pdata->phy.rx_pause;
drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c
167
struct ethtool_link_ksettings *lks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c
170
if (pause->autoneg && (pdata->phy.autoneg != AUTONEG_ENABLE)) {
drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c
176
pdata->phy.pause_autoneg = pause->autoneg;
drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c
177
pdata->phy.tx_pause = pause->tx_pause;
drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c
178
pdata->phy.rx_pause = pause->rx_pause;
drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c
206
struct ethtool_link_ksettings *lks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c
208
cmd->base.phy_address = pdata->phy.address;
drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c
211
cmd->base.speed = pdata->phy.speed;
drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c
212
cmd->base.duplex = pdata->phy.duplex;
drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c
218
cmd->base.autoneg = pdata->phy.autoneg;
drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c
232
struct ethtool_link_ksettings *lks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c
239
if (cmd->base.phy_address != pdata->phy.address) {
drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c
281
pdata->phy.autoneg = cmd->base.autoneg;
drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c
282
pdata->phy.speed = speed;
drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c
283
pdata->phy.duplex = cmd->base.duplex;
drivers/net/ethernet/amd/xgbe/xgbe-hwtstamp.c
325
switch (pdata->phy.speed) {
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1011
if (pdata->phy.link)
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1014
xgbe_phy_speed_string(pdata->phy.speed),
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1015
pdata->phy.duplex == DUPLEX_FULL ? "Full" : "Half",
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1025
if (pdata->phy.link) {
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1027
pdata->pause_autoneg = pdata->phy.pause_autoneg;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1029
if (pdata->tx_pause != pdata->phy.tx_pause) {
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1031
pdata->tx_pause = pdata->phy.tx_pause;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1035
if (pdata->rx_pause != pdata->phy.rx_pause) {
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1037
pdata->rx_pause = pdata->phy.rx_pause;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1042
if (pdata->phy_speed != pdata->phy.speed) {
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1044
pdata->phy_speed = pdata->phy.speed;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1047
if (pdata->phy_link != pdata->phy.link) {
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1049
pdata->phy_link = pdata->phy.link;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1076
mode = pdata->phy_if.phy_impl.get_mode(pdata, pdata->phy.speed);
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1093
if (pdata->phy.duplex != DUPLEX_FULL)
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1126
if (pdata->phy.autoneg != AUTONEG_ENABLE) {
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1216
pdata->phy.autoneg == AUTONEG_ENABLE) {
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1246
struct ethtool_link_ksettings *lks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1251
if ((pdata->phy.autoneg != AUTONEG_ENABLE) || pdata->parallel_detect)
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1258
pdata->phy.speed = SPEED_10;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1261
pdata->phy.speed = SPEED_100;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1266
pdata->phy.speed = SPEED_1000;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1269
pdata->phy.speed = SPEED_2500;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1273
pdata->phy.speed = SPEED_10000;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1277
pdata->phy.speed = SPEED_UNKNOWN;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1280
pdata->phy.duplex = DUPLEX_FULL;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1299
pdata->phy.link = 0;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1303
link_aneg = (pdata->phy.autoneg == AUTONEG_ENABLE);
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1305
pdata->phy.link = pdata->phy_if.phy_impl.link_status(pdata,
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1308
if (pdata->phy.link < 0)
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1316
if (pdata->phy.link) {
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1366
pdata->phy.link = 0;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1495
struct ethtool_link_ksettings *lks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1524
struct ethtool_link_ksettings *lks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1546
pdata->phy.address = 0;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1549
pdata->phy.autoneg = AUTONEG_ENABLE;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1550
pdata->phy.speed = SPEED_UNKNOWN;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1551
pdata->phy.duplex = DUPLEX_UNKNOWN;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1553
pdata->phy.autoneg = AUTONEG_DISABLE;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1554
pdata->phy.speed = xgbe_phy_best_advertised_speed(pdata);
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1555
pdata->phy.duplex = DUPLEX_FULL;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1559
pdata->phy.link = 0;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1561
pdata->phy.pause_autoneg = pdata->pause_autoneg;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1562
pdata->phy.tx_pause = pdata->tx_pause;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
1563
pdata->phy.rx_pause = pdata->rx_pause;
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
517
struct ethtool_link_ksettings *lks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v1.c
125
struct ethtool_link_ksettings *lks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v1.c
141
if (pdata->phy.pause_autoneg) {
drivers/net/ethernet/amd/xgbe/xgbe-phy-v1.c
143
pdata->phy.tx_pause = 0;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v1.c
144
pdata->phy.rx_pause = 0;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v1.c
147
pdata->phy.tx_pause = 1;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v1.c
148
pdata->phy.rx_pause = 1;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v1.c
151
pdata->phy.rx_pause = 1;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v1.c
153
pdata->phy.tx_pause = 1;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v1.c
193
struct ethtool_link_ksettings *slks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v1.c
465
if (pdata->phy.autoneg == AUTONEG_ENABLE) {
drivers/net/ethernet/amd/xgbe/xgbe-phy-v1.c
470
cur_mode = xgbe_phy_get_mode(pdata, pdata->phy.speed);
drivers/net/ethernet/amd/xgbe/xgbe-phy-v1.c
480
struct ethtool_link_ksettings *lks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v1.c
571
struct ethtool_link_ksettings *lks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1447
struct ethtool_link_ksettings *lks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1452
pdata->phy.tx_pause = 0;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1453
pdata->phy.rx_pause = 0;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1471
pdata->phy.tx_pause = 1;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1473
pdata->phy.rx_pause = 1;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1478
struct ethtool_link_ksettings *lks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1485
if (pdata->phy.pause_autoneg)
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1528
struct ethtool_link_ksettings *lks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1543
if (pdata->phy.pause_autoneg) {
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1545
pdata->phy.tx_pause = 0;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1546
pdata->phy.rx_pause = 0;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1549
pdata->phy.tx_pause = 1;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1550
pdata->phy.rx_pause = 1;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1553
pdata->phy.rx_pause = 1;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1555
pdata->phy.tx_pause = 1;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1571
struct ethtool_link_ksettings *lks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1580
if (pdata->phy.pause_autoneg)
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1657
struct ethtool_link_ksettings *lks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1672
if (pdata->phy.pause_autoneg) {
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1674
pdata->phy.tx_pause = 0;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1675
pdata->phy.rx_pause = 0;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1678
pdata->phy.tx_pause = 1;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1679
pdata->phy.rx_pause = 1;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1682
pdata->phy.rx_pause = 1;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1684
pdata->phy.tx_pause = 1;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1732
struct ethtool_link_ksettings *slks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1796
struct ethtool_link_ksettings *lks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1807
phy_data->phydev->autoneg = pdata->phy.autoneg;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1812
if (pdata->phy.autoneg != AUTONEG_ENABLE) {
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1813
phy_data->phydev->speed = pdata->phy.speed;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1814
phy_data->phydev->duplex = pdata->phy.duplex;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
1975
if (!pdata->phy.link && !(reg & MDIO_STAT1_LSTATUS)) {
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
2086
if (pdata->phy.autoneg != AUTONEG_DISABLE)
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
2542
if (pdata->phy.autoneg == AUTONEG_ENABLE) {
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
2547
cur_mode = xgbe_phy_get_mode(pdata, pdata->phy.speed);
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
2558
struct ethtool_link_ksettings *lks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
2575
struct ethtool_link_ksettings *lks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
2601
struct ethtool_link_ksettings *lks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
2642
struct ethtool_link_ksettings *lks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
2656
struct ethtool_link_ksettings *lks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
2829
if ((pdata->phy.autoneg == AUTONEG_ENABLE) &&
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
2846
if (!pdata->phy.link && !(reg & MDIO_STAT1_LSTATUS)) {
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
2891
if (pdata->phy.autoneg == AUTONEG_ENABLE &&
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
3414
struct ethtool_link_ksettings *lks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
680
struct ethtool_link_ksettings *lks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
689
pdata->phy.speed = SPEED_UNKNOWN;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
690
pdata->phy.duplex = DUPLEX_UNKNOWN;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
691
pdata->phy.autoneg = AUTONEG_ENABLE;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
692
pdata->phy.pause_autoneg = AUTONEG_ENABLE;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
710
pdata->phy.speed = SPEED_UNKNOWN;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
711
pdata->phy.duplex = DUPLEX_UNKNOWN;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
712
pdata->phy.autoneg = AUTONEG_ENABLE;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
713
pdata->phy.pause_autoneg = AUTONEG_ENABLE;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
734
pdata->phy.speed = SPEED_10000;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
735
pdata->phy.duplex = DUPLEX_FULL;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
736
pdata->phy.autoneg = AUTONEG_DISABLE;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
737
pdata->phy.pause_autoneg = AUTONEG_DISABLE;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
761
pdata->phy.speed = SPEED_UNKNOWN;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
762
pdata->phy.duplex = DUPLEX_UNKNOWN;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
763
pdata->phy.autoneg = AUTONEG_DISABLE;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
764
pdata->phy.pause_autoneg = AUTONEG_DISABLE;
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
933
struct ethtool_link_ksettings *lks = &pdata->phy.lks;
drivers/net/ethernet/amd/xgbe/xgbe.h
1186
struct xgbe_phy phy;
drivers/net/ethernet/apm/xgene/xgene_enet_hw.c
893
struct phy_device *phy;
drivers/net/ethernet/apm/xgene/xgene_enet_hw.c
930
phy = xgene_enet_phy_register(mdio, phy_addr);
drivers/net/ethernet/apm/xgene/xgene_enet_hw.c
931
if (!phy)
drivers/net/ethernet/aquantia/atlantic/hw_atl2/hw_atl2_utils.h
241
} phy;
drivers/net/ethernet/atheros/ag71xx.c
1016
struct phy_device *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
4819
(bp->link_params.phy[EXT_PHY2].supported & SUPPORTED_FIBRE))
drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
1528
rc = bnx2x_read_sfp_module_eeprom(&bp->link_params.phy[phy_idx],
drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
1553
rc = bnx2x_read_sfp_module_eeprom(&bp->link_params.phy[phy_idx],
drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
1582
rc = bnx2x_read_sfp_module_eeprom(&bp->link_params.phy[phy_idx],
drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
1595
rc = bnx2x_read_sfp_module_eeprom(&bp->link_params.phy[phy_idx],
drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
1866
&bp->link_params.phy[EXT_PHY1]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
196
switch (bp->link_params.phy[phy_idx].media_type) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
277
media_type = bp->link_params.phy[bnx2x_get_cur_phy_idx(bp)].media_type;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
487
if (bp->link_params.phy[EXT_PHY1].type ==
drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c
646
(bp->link_params.phy[phy_idx].media_type !=
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10001
bnx2x_cl45_write(bp, phy, MDIO_CTL_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10009
bnx2x_cl45_write(bp, phy, MDIO_CTL_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10018
bnx2x_cl45_read(bp, phy, MDIO_CTL_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10036
bnx2x_cl45_read(bp, phy, MDIO_CTL_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10044
static int bnx2x_84833_cmd_hdlr(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10055
bnx2x_cl45_write(bp, phy, MDIO_CTL_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10061
bnx2x_cl45_read(bp, phy, MDIO_CTL_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10074
bnx2x_cl45_write(bp, phy, MDIO_CTL_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10084
bnx2x_cl45_write(bp, phy, MDIO_CTL_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10090
bnx2x_cl45_write(bp, phy, MDIO_CTL_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10093
bnx2x_cl45_read(bp, phy, MDIO_CTL_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10108
bnx2x_cl45_read(bp, phy, MDIO_CTL_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10115
bnx2x_cl45_write(bp, phy, MDIO_CTL_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10122
static int bnx2x_848xx_cmd_hdlr(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10130
if ((phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM84858) ||
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10135
return bnx2x_84858_cmd_hdlr(phy, params, fw_cmd, cmd_args,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10138
return bnx2x_84833_cmd_hdlr(phy, params, fw_cmd, cmd_args,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10143
static int bnx2x_848xx_pair_swap_cfg(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10164
status = bnx2x_848xx_cmd_hdlr(phy, params,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10211
static void bnx2x_84833_hw_reset_phy(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10223
bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10226
bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10242
static int bnx2x_8483x_disable_eee(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10253
rc = bnx2x_848xx_cmd_hdlr(phy, params, PHY848xx_CMD_SET_EEE_MODE,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10260
return bnx2x_eee_disable(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10263
static int bnx2x_8483x_enable_eee(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10271
rc = bnx2x_848xx_cmd_hdlr(phy, params, PHY848xx_CMD_SET_EEE_MODE,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10278
return bnx2x_eee_advertise(phy, params, vars, SHMEM_EEE_10G_ADV);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10282
static void bnx2x_848x3_config_init(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10300
if (phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM84823) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10306
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10311
bnx2x_wait_reset_complete(bp, phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10315
if (!bnx2x_is_8483x_8485x(phy)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10322
bnx2x_set_autoneg(&params->phy[INT_PHY], params, vars, 0);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10323
bnx2x_program_serdes(&params->phy[INT_PHY], params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10327
if (phy->type != PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM84858) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10330
bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10339
bnx2x_cl45_read(bp, phy, MDIO_CTL_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10375
if (params->phy[EXT_PHY2].req_line_speed == SPEED_1000)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10378
bnx2x_cl45_write(bp, phy, MDIO_CTL_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10383
if (bnx2x_is_8483x_8485x(phy)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10384
bnx2x_848xx_pair_swap_cfg(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10391
rc = bnx2x_848xx_cmd_hdlr(phy, params,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10398
rc = bnx2x_848xx_cmn_config_init(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10400
bnx2x_save_848xx_spirom_version(phy, bp, params->port);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10402
if (phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM84823) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10408
bnx2x_cl45_read(bp, phy, MDIO_CTL_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10414
bnx2x_cl45_write(bp, phy, MDIO_CTL_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10418
bnx2x_cl45_read(bp, phy, MDIO_CTL_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10428
bnx2x_8483x_disable_eee(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10432
if ((phy->req_duplex == DUPLEX_FULL) &&
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10436
rc = bnx2x_8483x_enable_eee(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10438
rc = bnx2x_8483x_disable_eee(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10447
if (phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM84833) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10450
bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10453
bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10456
bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10459
bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10463
bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10466
bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10469
bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10473
if (bnx2x_is_8483x_8485x(phy)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10475
bnx2x_cl45_read_and_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10482
static u8 bnx2x_848xx_read_status(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10493
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10495
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10505
bnx2x_ext_phy_10G_an_resolve(bp, phy, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10510
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10515
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10546
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10553
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10565
bnx2x_ext_phy_resolve_fc(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10568
bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10586
bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10596
bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10604
if (bnx2x_is_8483x_8485x(phy))
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10605
bnx2x_eee_an_resolve(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10628
static void bnx2x_8481_hw_reset(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10637
static void bnx2x_8481_link_reset(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10640
bnx2x_cl45_write(params->bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10642
bnx2x_cl45_write(params->bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10646
static void bnx2x_848x3_link_reset(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10658
if (phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM84823) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10663
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10667
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10673
static void bnx2x_848xx_set_link_led(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10694
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10699
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10704
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10709
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10716
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10721
if (phy->type ==
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10724
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10729
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10745
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10750
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10755
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10760
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10766
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10770
if (phy->type ==
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10787
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10792
if (phy->type ==
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10795
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10800
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10814
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10821
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10827
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10832
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10837
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10842
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10847
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10851
if (phy->type ==
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10869
if (phy->type ==
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10872
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10878
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10882
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10887
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10903
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10912
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10919
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10924
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10929
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10934
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10948
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10954
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10960
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10964
if (phy->type ==
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10966
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10970
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10975
if (phy->type ==
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10980
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
10999
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11007
static void bnx2x_54618se_specific_func(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11017
bnx2x_cl22_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11020
bnx2x_cl22_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11025
bnx2x_cl22_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11029
bnx2x_cl22_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11036
static void bnx2x_54618se_config_init(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11066
bnx2x_cl22_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11068
bnx2x_wait_reset_complete(bp, phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11074
bnx2x_54618se_specific_func(phy, params, PHY_INIT);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11076
bnx2x_cl22_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11079
bnx2x_cl22_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11083
bnx2x_cl22_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11089
bnx2x_calc_ieee_aneg_adv(phy, params, &vars->ieee_fc);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11100
bnx2x_cl22_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11104
bnx2x_cl22_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11108
bnx2x_cl22_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11117
if (((phy->req_line_speed == SPEED_AUTO_NEG) &&
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11118
(phy->speed_cap_mask &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11120
(phy->req_line_speed == SPEED_1000)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11123
if (phy->req_duplex == DUPLEX_FULL)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11129
bnx2x_cl22_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11132
bnx2x_cl22_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11137
if (phy->req_line_speed == SPEED_AUTO_NEG) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11138
if (phy->speed_cap_mask &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11144
if (phy->speed_cap_mask &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11150
if (phy->speed_cap_mask &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11156
if (phy->speed_cap_mask &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11165
if (phy->req_line_speed == SPEED_100) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11168
bnx2x_cl22_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11173
if (phy->req_line_speed == SPEED_10) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11175
bnx2x_cl22_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11181
if ((phy->flags & FLAGS_EEE) && bnx2x_eee_has_cap(params)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11184
bnx2x_cl22_write(bp, phy, MDIO_REG_GPHY_EXP_ACCESS,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11187
bnx2x_cl22_read(bp, phy, MDIO_REG_GPHY_EXP_ACCESS_GATE, &temp);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11189
bnx2x_cl22_write(bp, phy, MDIO_REG_GPHY_EXP_ACCESS_GATE, temp);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11194
bnx2x_eee_disable(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11196
(phy->req_duplex == DUPLEX_FULL) &&
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11204
bnx2x_eee_advertise(phy, params, vars,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11208
bnx2x_eee_disable(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11214
if (phy->flags & FLAGS_EEE) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11224
bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11229
bnx2x_cl22_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11233
if (phy->req_duplex == DUPLEX_FULL)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11236
bnx2x_cl22_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11241
static void bnx2x_5461x_set_link_led(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11247
bnx2x_cl22_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11250
bnx2x_cl22_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11270
bnx2x_cl22_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11277
static void bnx2x_54618se_link_reset(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11287
bnx2x_cl22_write(bp, phy, MDIO_PMA_REG_CTRL, 0x800);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11302
static u8 bnx2x_54618se_read_status(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11312
bnx2x_cl22_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11318
bnx2x_cl22_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11355
bnx2x_cl22_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11361
bnx2x_cl22_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11371
bnx2x_ext_phy_resolve_fc(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11375
bnx2x_cl22_read(bp, phy, 0x5, &val);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11393
bnx2x_cl22_read(bp, phy, 0xa, &val);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11401
if ((phy->flags & FLAGS_EEE) &&
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11403
bnx2x_eee_an_resolve(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11409
static void bnx2x_54618se_config_loopback(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11420
bnx2x_cl22_write(bp, phy, 0x09, 3<<11);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11427
bnx2x_cl22_read(bp, phy, 0x00, &val);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11430
bnx2x_cl22_write(bp, phy, 0x00, val);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11436
bnx2x_cl22_write(bp, phy, 0x18, 7);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11437
bnx2x_cl22_read(bp, phy, 0x18, &val);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11438
bnx2x_cl22_write(bp, phy, 0x18, val | (1<<10) | (1<<15));
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11452
static void bnx2x_7101_config_loopback(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11457
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11461
static void bnx2x_7101_config_init(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11474
bnx2x_wait_reset_complete(bp, phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11476
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11479
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11482
bnx2x_ext_phy_set_pause(params, phy, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11484
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11487
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11491
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11494
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11497
(u32)(fw_ver1<<16 | fw_ver2), phy->ver_addr);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11500
static u8 bnx2x_7101_read_status(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11507
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11509
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11513
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11515
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11522
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11529
bnx2x_ext_phy_10G_an_resolve(bp, phy, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11530
bnx2x_ext_phy_resolve_fc(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11553
void bnx2x_sfx7101_sp_sw_reset(struct bnx2x *bp, struct bnx2x_phy *phy)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11557
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11564
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11569
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11578
static void bnx2x_7101_hw_reset(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11588
static void bnx2x_7101_set_link_led(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
11605
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12147
struct bnx2x_phy *phy, u8 port,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12175
phy->rx_preemphasis[i << 1] = ((rx>>16) & 0xffff);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12176
phy->rx_preemphasis[(i << 1) + 1] = (rx & 0xffff);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12178
phy->tx_preemphasis[i << 1] = ((tx>>16) & 0xffff);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12179
phy->tx_preemphasis[(i << 1) + 1] = (tx & 0xffff);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12206
struct bnx2x_phy *phy)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12222
*phy = phy_warpcore;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12224
phy->flags |= FLAGS_4_PORT_MODE;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12226
phy->flags &= ~FLAGS_4_PORT_MODE;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12237
phy->supported &= (SUPPORTED_10baseT_Half |
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12246
phy->media_type = ETH_PHY_BASE_T;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12249
phy->supported &= (SUPPORTED_1000baseT_Full |
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12254
phy->media_type = ETH_PHY_XFP_FIBER;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12257
phy->supported &= (SUPPORTED_1000baseT_Full |
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12262
phy->media_type = ETH_PHY_SFPP_10G_FIBER;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12265
phy->media_type = ETH_PHY_KR;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12266
phy->supported &= (SUPPORTED_1000baseKX_Full |
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12274
phy->media_type = ETH_PHY_KR;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12275
phy->flags |= FLAGS_WC_DUAL_MODE;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12276
phy->supported &= (SUPPORTED_20000baseMLD2_Full |
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12282
phy->media_type = ETH_PHY_KR;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12283
phy->flags |= FLAGS_WC_DUAL_MODE;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12284
phy->supported &= (SUPPORTED_20000baseKR2_Full |
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12291
phy->flags &= ~FLAGS_TX_ERROR_CHECK;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12304
phy->flags |= FLAGS_MDC_MDIO_WA;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12306
phy->flags |= FLAGS_MDC_MDIO_WA_B0;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12313
*phy = phy_serdes;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12319
*phy = phy_xgxs;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12326
phy->addr = (u8)phy_addr;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12327
phy->mdio_ctrl = bnx2x_get_emac_base(bp,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12331
phy->def_md_devad = E2_DEFAULT_PHY_DEV_ADDR;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12333
phy->def_md_devad = DEFAULT_PHY_DEV_ADDR;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12336
port, phy->addr, phy->mdio_ctrl);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12338
bnx2x_populate_preemphasis(bp, shmem_base, phy, port, INT_PHY);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12347
struct bnx2x_phy *phy)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12358
*phy = phy_8073;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12361
*phy = phy_8705;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12364
*phy = phy_8706;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12368
*phy = phy_8726;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12373
*phy = phy_8727;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12374
phy->flags |= FLAGS_NOC;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12379
*phy = phy_8727;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12382
*phy = phy_8481;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12385
*phy = phy_84823;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12388
*phy = phy_84833;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12391
*phy = phy_84834;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12394
*phy = phy_84858;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12398
*phy = phy_54618se;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12400
phy->flags |= FLAGS_EEE;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12403
*phy = phy_7101;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12406
*phy = phy_null;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12409
*phy = phy_null;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12417
phy->addr = XGXS_EXT_PHY_ADDR(ext_phy_config);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12418
bnx2x_populate_preemphasis(bp, shmem_base, phy, port, phy_index);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12427
phy->ver_addr = shmem_base + offsetof(struct shmem_region,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12439
phy->ver_addr = shmem2_base +
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12450
phy->mdio_ctrl = bnx2x_get_emac_base(bp, mdc_mdio_access, port);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12452
if (bnx2x_is_8483x_8485x(phy) && (phy->ver_addr)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12456
u32 raw_ver = REG_RD(bp, phy->ver_addr);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12459
phy->supported &= ~(SUPPORTED_100baseT_Half |
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12466
phy->addr, phy->mdio_ctrl);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12471
u32 shmem2_base, u8 port, struct bnx2x_phy *phy)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12473
phy->type = PORT_HW_CFG_XGXS_EXT_PHY_TYPE_NOT_CONN;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12475
return bnx2x_populate_int_phy(bp, shmem_base, port, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12478
port, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12482
struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12492
phy->speed_cap_mask = REG_RD(bp, params->shmem_base +
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12500
phy->speed_cap_mask = REG_RD(bp, params->shmem_base +
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12507
phy_index, link_config, phy->speed_cap_mask);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12509
phy->req_duplex = DUPLEX_FULL;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12512
phy->req_duplex = DUPLEX_HALF;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12515
phy->req_line_speed = SPEED_10;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12518
phy->req_duplex = DUPLEX_HALF;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12521
phy->req_line_speed = SPEED_100;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12524
phy->req_line_speed = SPEED_1000;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12527
phy->req_line_speed = SPEED_2500;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12530
phy->req_line_speed = SPEED_10000;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12533
phy->req_line_speed = SPEED_AUTO_NEG;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12539
phy->req_flow_ctrl = BNX2X_FLOW_CTRL_AUTO;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12542
phy->req_flow_ctrl = BNX2X_FLOW_CTRL_TX;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12545
phy->req_flow_ctrl = BNX2X_FLOW_CTRL_RX;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12548
phy->req_flow_ctrl = BNX2X_FLOW_CTRL_BOTH;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12551
phy->req_flow_ctrl = BNX2X_FLOW_CTRL_NONE;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12593
struct bnx2x_phy *phy;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12611
phy = &params->phy[actual_phy_idx];
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12614
phy) != 0) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12621
*phy = phy_null;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12624
if (phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_NOT_CONN)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12629
phy->flags &= ~FLAGS_TX_ERROR_CHECK;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12633
phy->flags |= FLAGS_MDC_MDIO_WA_G;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12647
media_types |= ((phy->media_type &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12654
bnx2x_phy_def_cfg(params, phy, phy_index);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12717
bnx2x_set_aer_mmd(params, &params->phy[0]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12718
bnx2x_warpcore_reset_lane(bp, &params->phy[0], 0);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12719
params->phy[INT_PHY].config_loopback(
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12720
&params->phy[INT_PHY],
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12746
struct bnx2x_phy *int_phy = &params->phy[INT_PHY];
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12784
if (params->phy[phy_index].config_loopback)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12785
params->phy[phy_index].config_loopback(
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12786
&params->phy[phy_index],
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12829
struct bnx2x_phy *phy = &params->phy[phy_idx];
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12830
if (phy->phy_specific_func) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12832
phy->phy_specific_func(phy, params, PHY_INIT);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12834
if ((phy->media_type == ETH_PHY_SFPP_10G_FIBER) ||
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12835
(phy->media_type == ETH_PHY_SFP_1G_FIBER) ||
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12836
(phy->media_type == ETH_PHY_DA_TWINAX))
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
12837
bnx2x_verify_sfp_module(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13085
if (params->phy[phy_index].link_reset) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13087
&params->phy[phy_index]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13088
params->phy[phy_index].link_reset(
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13089
&params->phy[phy_index],
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13092
if (params->phy[phy_index].flags &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13104
if (params->phy[INT_PHY].link_reset)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13105
params->phy[INT_PHY].link_reset(
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13106
&params->phy[INT_PHY], params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13187
struct bnx2x_phy phy[PORT_MAX];
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13213
port_of_path, &phy[port]) !=
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13234
bnx2x_cl45_write(bp, &phy[port],
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13243
if (phy[PORT_0].addr & 0x1) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13244
phy_blk[PORT_0] = &(phy[PORT_1]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13245
phy_blk[PORT_1] = &(phy[PORT_0]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13247
phy_blk[PORT_0] = &(phy[PORT_0]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13248
phy_blk[PORT_1] = &(phy[PORT_1]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13315
struct bnx2x_phy phy;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13338
port, &phy) !=
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13345
bnx2x_cl45_write(bp, &phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13410
struct bnx2x_phy phy[PORT_MAX];
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13454
port_of_path, &phy[port]) !=
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13469
bnx2x_cl45_write(bp, &phy[port],
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13475
if (phy[PORT_0].addr & 0x1) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13476
phy_blk[PORT_0] = &(phy[PORT_1]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13477
phy_blk[PORT_1] = &(phy[PORT_0]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13479
phy_blk[PORT_0] = &(phy[PORT_0]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13480
phy_blk[PORT_1] = &(phy[PORT_1]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13784
static void bnx2x_sfp_tx_fault_detection(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13820
if (!(phy->flags & FLAGS_SFP_NOT_APPROVED)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13829
struct bnx2x_phy *phy)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13833
bnx2x_warpcore_enable_AN_KR2(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13834
bnx2x_warpcore_restart_AN_KR(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13839
struct bnx2x_phy *phy)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13855
sigdet = bnx2x_warpcore_get_sigdet(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13858
bnx2x_kr2_recovery(params, vars, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13864
lane = bnx2x_get_warpcore_lane(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13865
CL22_WR_OVER_CL45(bp, phy, MDIO_REG_BANK_AER_BLOCK,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13867
bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13869
bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13871
bnx2x_set_aer_mmd(params, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13876
bnx2x_kr2_recovery(params, vars, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13895
bnx2x_kr2_recovery(params, vars, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13903
bnx2x_disable_kr2(params, vars, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13905
bnx2x_warpcore_restart_AN_KR(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13915
if (params->phy[phy_idx].flags & FLAGS_TX_ERROR_CHECK) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13916
bnx2x_set_aer_mmd(params, &params->phy[phy_idx]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13925
struct bnx2x_phy *phy = &params->phy[INT_PHY];
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13926
bnx2x_set_aer_mmd(params, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13927
if (((phy->req_line_speed == SPEED_AUTO_NEG) &&
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13928
(phy->speed_cap_mask &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13930
(phy->req_line_speed == SPEED_20000))
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13931
bnx2x_check_kr2_wa(params, vars, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13934
bnx2x_warpcore_config_runtime(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13941
if (bnx2x_is_sfp_module_plugged(phy, params)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13942
bnx2x_sfp_tx_fault_detection(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13961
struct bnx2x_phy phy;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13965
port, &phy)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13970
fan_failure_det_req |= (phy.flags &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13989
if (params->phy[phy_index].hw_reset) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13990
params->phy[phy_index].hw_reset(
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13991
&params->phy[phy_index],
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
13993
params->phy[phy_index] = phy_null;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
14013
struct bnx2x_phy phy;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
14017
shmem2_base, port, &phy)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
14022
if (phy.type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM8726) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
1451
params->phy[phy_index].mdio_ctrl);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
1757
if (!(params->phy[INT_PHY].flags & FLAGS_TX_ERROR_CHECK)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
1788
(params->phy[INT_PHY].supported &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
217
static int bnx2x_sfp_module_detection(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2589
struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2596
mode = REG_RD(bp, phy->mdio_ctrl + EMAC_REG_EMAC_MDIO_MODE);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2597
REG_WR(bp, phy->mdio_ctrl + EMAC_REG_EMAC_MDIO_MODE,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2601
tmp = ((phy->addr << 21) | (reg << 16) | val |
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2604
REG_WR(bp, phy->mdio_ctrl + EMAC_REG_EMAC_MDIO_COMM, tmp);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2609
tmp = REG_RD(bp, phy->mdio_ctrl + EMAC_REG_EMAC_MDIO_COMM);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2619
REG_WR(bp, phy->mdio_ctrl + EMAC_REG_EMAC_MDIO_MODE, mode);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2624
struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2632
mode = REG_RD(bp, phy->mdio_ctrl + EMAC_REG_EMAC_MDIO_MODE);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2633
REG_WR(bp, phy->mdio_ctrl + EMAC_REG_EMAC_MDIO_MODE,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2637
val = ((phy->addr << 21) | (reg << 16) |
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2640
REG_WR(bp, phy->mdio_ctrl + EMAC_REG_EMAC_MDIO_COMM, val);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2645
val = REG_RD(bp, phy->mdio_ctrl + EMAC_REG_EMAC_MDIO_COMM);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2658
REG_WR(bp, phy->mdio_ctrl + EMAC_REG_EMAC_MDIO_MODE, mode);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2665
static int bnx2x_cl45_read(struct bnx2x *bp, struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2672
if (phy->flags & FLAGS_MDC_MDIO_WA_G) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2675
bnx2x_set_mdio_clk(bp, chip_id, phy->mdio_ctrl);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2678
if (phy->flags & FLAGS_MDC_MDIO_WA_B0)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2679
bnx2x_bits_en(bp, phy->mdio_ctrl + EMAC_REG_EMAC_MDIO_STATUS,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2682
val = ((phy->addr << 21) | (devad << 16) | reg |
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2685
REG_WR(bp, phy->mdio_ctrl + EMAC_REG_EMAC_MDIO_COMM, val);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2690
val = REG_RD(bp, phy->mdio_ctrl + EMAC_REG_EMAC_MDIO_COMM);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2703
val = ((phy->addr << 21) | (devad << 16) |
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2706
REG_WR(bp, phy->mdio_ctrl + EMAC_REG_EMAC_MDIO_COMM, val);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2711
val = REG_RD(bp, phy->mdio_ctrl +
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2726
if (phy->flags & FLAGS_MDC_MDIO_WA) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2727
phy->flags ^= FLAGS_DUMMY_READ;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2728
if (phy->flags & FLAGS_DUMMY_READ) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2730
bnx2x_cl45_read(bp, phy, devad, 0xf, &temp_val);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2734
if (phy->flags & FLAGS_MDC_MDIO_WA_B0)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2735
bnx2x_bits_dis(bp, phy->mdio_ctrl + EMAC_REG_EMAC_MDIO_STATUS,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2740
static int bnx2x_cl45_write(struct bnx2x *bp, struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2747
if (phy->flags & FLAGS_MDC_MDIO_WA_G) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2750
bnx2x_set_mdio_clk(bp, chip_id, phy->mdio_ctrl);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2753
if (phy->flags & FLAGS_MDC_MDIO_WA_B0)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2754
bnx2x_bits_en(bp, phy->mdio_ctrl + EMAC_REG_EMAC_MDIO_STATUS,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2758
tmp = ((phy->addr << 21) | (devad << 16) | reg |
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2761
REG_WR(bp, phy->mdio_ctrl + EMAC_REG_EMAC_MDIO_COMM, tmp);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2766
tmp = REG_RD(bp, phy->mdio_ctrl + EMAC_REG_EMAC_MDIO_COMM);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2778
tmp = ((phy->addr << 21) | (devad << 16) | val |
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2781
REG_WR(bp, phy->mdio_ctrl + EMAC_REG_EMAC_MDIO_COMM, tmp);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2786
tmp = REG_RD(bp, phy->mdio_ctrl +
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2800
if (phy->flags & FLAGS_MDC_MDIO_WA) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2801
phy->flags ^= FLAGS_DUMMY_READ;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2802
if (phy->flags & FLAGS_DUMMY_READ) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2804
bnx2x_cl45_read(bp, phy, devad, 0xf, &temp_val);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2807
if (phy->flags & FLAGS_MDC_MDIO_WA_B0)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2808
bnx2x_bits_dis(bp, phy->mdio_ctrl + EMAC_REG_EMAC_MDIO_STATUS,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2951
static int bnx2x_eee_disable(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2960
bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD, MDIO_AN_REG_EEE_ADV, 0x0);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2967
static int bnx2x_eee_advertise(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
2986
bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD, MDIO_AN_REG_EEE_ADV, val);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3004
static void bnx2x_eee_an_resolve(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3013
bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD, MDIO_AN_REG_EEE_ADV, &adv);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3014
bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD, MDIO_AN_REG_LP_EEE_ADV, &lp);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3171
static void bnx2x_cl45_read_or_write(struct bnx2x *bp, struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3175
bnx2x_cl45_read(bp, phy, devad, reg, &val);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3176
bnx2x_cl45_write(bp, phy, devad, reg, val | or_val);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3180
struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3184
bnx2x_cl45_read(bp, phy, devad, reg, &val);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3185
bnx2x_cl45_write(bp, phy, devad, reg, val & and_val);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3196
if (params->phy[phy_index].addr == phy_addr) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3198
&params->phy[phy_index], devad,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
32
typedef int (*read_sfp_module_eeprom_func_p)(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3213
if (params->phy[phy_index].addr == phy_addr) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3215
&params->phy[phy_index], devad,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3221
static u8 bnx2x_get_warpcore_lane(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3276
struct bnx2x_phy *phy)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3285
offset = (phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_DIRECT) ?
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3286
(phy->addr + ser_lane) : 0;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3289
aer_val = bnx2x_get_warpcore_lane(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3296
if (phy->flags & FLAGS_WC_DUAL_MODE)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3303
CL22_WR_OVER_CL45(bp, phy, MDIO_REG_BANK_AER_BLOCK,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3345
static void bnx2x_xgxs_specific_func(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3355
phy->def_md_devad);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3374
bnx2x_xgxs_specific_func(&params->phy[INT_PHY], params,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3378
static void bnx2x_calc_ieee_aneg_adv(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3387
switch (phy->req_flow_ctrl) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3436
params->phy[actual_phy_idx].req_flow_ctrl =
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3439
params->phy[actual_phy_idx].req_line_speed =
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3442
params->phy[actual_phy_idx].speed_cap_mask =
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3445
params->phy[actual_phy_idx].req_duplex =
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3454
params->phy[actual_phy_idx].req_flow_ctrl,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3455
params->phy[actual_phy_idx].req_line_speed,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3456
params->phy[actual_phy_idx].speed_cap_mask);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3461
struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3467
bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD, MDIO_AN_REG_ADV_PAUSE, &val);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3472
bnx2x_calc_ieee_aneg_adv(phy, params, &vars->ieee_fc);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3484
bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD, MDIO_AN_REG_ADV_PAUSE, val);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3487
static void bnx2x_pause_resolve(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3534
static void bnx2x_ext_phy_update_adv_fc(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3542
if (phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM54618SE) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3543
bnx2x_cl22_read(bp, phy, 0x4, &ld_pause);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3544
bnx2x_cl22_read(bp, phy, 0x5, &lp_pause);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3547
u8 lane = bnx2x_get_warpcore_lane(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3549
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3556
bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3558
bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3561
bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3563
bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3573
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3576
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3585
bnx2x_pause_resolve(phy, params, vars, pause_result);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3589
static u8 bnx2x_ext_phy_resolve_fc(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3595
if (phy->req_flow_ctrl != BNX2X_FLOW_CTRL_AUTO) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3597
if (phy->req_line_speed == SPEED_AUTO_NEG)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3598
bnx2x_ext_phy_update_adv_fc(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3600
vars->flow_ctrl = phy->req_flow_ctrl;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3601
} else if (phy->req_line_speed != SPEED_AUTO_NEG)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3605
bnx2x_ext_phy_update_adv_fc(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3628
static void bnx2x_warpcore_enable_AN_KR2(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3655
bnx2x_cl45_read_or_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3659
bnx2x_cl45_write(bp, phy, reg_set[i].devad, reg_set[i].reg,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3669
struct bnx2x_phy *phy)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3694
bnx2x_cl45_write(bp, phy, reg_set[i].devad, reg_set[i].reg,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3702
static void bnx2x_warpcore_set_lpi_passthrough(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3708
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3710
bnx2x_cl45_read_or_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3714
static void bnx2x_warpcore_restart_AN_KR(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3719
u16 lane = bnx2x_get_warpcore_lane(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3720
CL22_WR_OVER_CL45(bp, phy, MDIO_REG_BANK_AER_BLOCK,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3722
bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3726
bnx2x_set_aer_mmd(params, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3729
static void bnx2x_warpcore_enable_AN_KR(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3748
bnx2x_cl45_write(bp, phy, reg_set[i].devad, reg_set[i].reg,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3751
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3755
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3760
(phy->speed_cap_mask & PORT_HW_CFG_SPEED_CAPABILITY_D0_1G)) ||
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3766
bnx2x_cl45_read_or_write(bp, phy, MDIO_WC_DEVAD, addr, 0x1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3770
(phy->speed_cap_mask & PORT_HW_CFG_SPEED_CAPABILITY_D0_10G)) ||
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3775
CL22_WR_OVER_CL45(bp, phy, MDIO_REG_BANK_AER_BLOCK,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3778
bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3780
bnx2x_set_aer_mmd(params, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3785
lane = bnx2x_get_warpcore_lane(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3786
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3790
if (phy->flags & FLAGS_WC_DUAL_MODE)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3791
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3794
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3797
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3802
bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3806
bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3816
bnx2x_cl45_read_or_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3823
bnx2x_ext_phy_set_pause(params, phy, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3825
bnx2x_cl45_read_or_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3829
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3832
if (((phy->req_line_speed == SPEED_AUTO_NEG) &&
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3833
(phy->speed_cap_mask & PORT_HW_CFG_SPEED_CAPABILITY_D0_20G)) ||
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3834
(phy->req_line_speed == SPEED_20000)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3836
CL22_WR_OVER_CL45(bp, phy, MDIO_REG_BANK_AER_BLOCK,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3839
bnx2x_cl45_read_or_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3843
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3845
bnx2x_set_aer_mmd(params, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3847
bnx2x_warpcore_enable_AN_KR2(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3850
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3855
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3870
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3874
bnx2x_disable_kr2(params, vars, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3878
bnx2x_warpcore_restart_AN_KR(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3881
static void bnx2x_warpcore_set_10G_KR(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3901
bnx2x_cl45_write(bp, phy, reg_set[i].devad, reg_set[i].reg,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3904
lane = bnx2x_get_warpcore_lane(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3906
CL22_WR_OVER_CL45(bp, phy, MDIO_REG_BANK_AER_BLOCK,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3909
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3912
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3915
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3918
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3921
bnx2x_set_aer_mmd(params, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3923
bnx2x_cl45_write(bp, phy, MDIO_PMA_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3926
bnx2x_cl45_write(bp, phy, MDIO_PMA_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3930
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3934
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3938
bnx2x_cl45_read_or_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3942
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3944
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3949
static void bnx2x_warpcore_set_10G_XFI(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3959
bnx2x_cl45_read_or_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3963
bnx2x_cl45_read_or_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3967
bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD, MDIO_AN_REG_CTRL, 0);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3970
bnx2x_cl45_read_and_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3974
bnx2x_cl45_read_or_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3978
bnx2x_cl45_read_and_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3982
bnx2x_cl45_read_and_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3987
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3989
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
3994
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4050
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4054
lane = bnx2x_get_warpcore_lane(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4055
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4058
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4063
bnx2x_cl45_read_or_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4067
bnx2x_cl45_read_or_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4070
bnx2x_warpcore_set_lpi_passthrough(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4073
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4077
bnx2x_cl45_read_and_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4081
bnx2x_cl45_read_and_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4085
static void bnx2x_warpcore_set_20G_force_KR2(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4091
CL22_WR_OVER_CL45(bp, phy, MDIO_REG_BANK_AER_BLOCK,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4095
bnx2x_cl45_read_and_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4098
bnx2x_set_aer_mmd(params, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4100
bnx2x_cl45_read_and_write(bp, phy, MDIO_PMA_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4102
bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4105
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4109
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4113
bnx2x_cl45_read_or_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4116
bnx2x_cl45_read_or_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4119
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4123
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4125
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4129
CL22_WR_OVER_CL45(bp, phy, MDIO_REG_BANK_AER_BLOCK,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4132
bnx2x_cl45_read_or_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4135
bnx2x_set_aer_mmd(params, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4139
struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4143
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4147
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4150
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4153
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4156
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4159
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4162
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4165
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4168
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4171
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4175
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4179
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4183
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4187
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4192
static void bnx2x_warpcore_set_sgmii_speed(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4201
bnx2x_cl45_read_and_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4204
bnx2x_warpcore_set_lpi_passthrough(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4206
if (always_autoneg || phy->req_line_speed == SPEED_AUTO_NEG) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4208
bnx2x_cl45_read_or_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4213
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4216
switch (phy->req_line_speed) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4227
"Speed not supported: 0x%x\n", phy->req_line_speed);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4231
if (phy->req_duplex == DUPLEX_FULL)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4234
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4238
phy->req_line_speed);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4239
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4245
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4252
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4257
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4259
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4264
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4269
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4275
struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4280
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4286
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4288
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4292
static void bnx2x_warpcore_clear_regs(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4315
bnx2x_cl45_read_or_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4319
bnx2x_cl45_write(bp, phy, wc_regs[i].devad, wc_regs[i].reg,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4322
lane = bnx2x_get_warpcore_lane(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4323
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4367
static int bnx2x_is_sfp_module_plugged(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4385
static int bnx2x_warpcore_get_sigdet(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4391
lane = bnx2x_get_warpcore_lane(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4393
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD, MDIO_WC_REG_GP2_STATUS_GP_2_0,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4399
static void bnx2x_warpcore_config_runtime(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4413
u16 lane = bnx2x_get_warpcore_lane(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4422
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD, 0x81d1,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4432
bnx2x_warpcore_reset_lane(bp, phy, 1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4433
bnx2x_warpcore_reset_lane(bp, phy, 0);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4436
bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4452
static void bnx2x_warpcore_config_sfi(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4455
u16 lane = bnx2x_get_warpcore_lane(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4457
bnx2x_warpcore_clear_regs(phy, params, lane);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4460
(phy->media_type != ETH_PHY_SFP_1G_FIBER)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4462
bnx2x_warpcore_set_10G_XFI(phy, params, 0);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4465
bnx2x_warpcore_set_sgmii_speed(phy, params, 1, 0);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4470
struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4486
if (phy->speed_cap_mask & PORT_HW_CFG_SPEED_CAPABILITY_D0_20G)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4490
static void bnx2x_warpcore_config_init(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4497
u16 lane = bnx2x_get_warpcore_lane(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4505
bnx2x_set_aer_mmd(params, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4506
bnx2x_warpcore_reset_lane(bp, phy, 1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4509
(phy->req_line_speed &&
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4510
((phy->req_line_speed == SPEED_100) ||
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4511
(phy->req_line_speed == SPEED_10)))) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4514
bnx2x_warpcore_clear_regs(phy, params, lane);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4515
bnx2x_warpcore_set_sgmii_speed(phy, params, 0, 1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4521
bnx2x_warpcore_enable_AN_KR(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4524
bnx2x_warpcore_set_10G_KR(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4529
bnx2x_warpcore_clear_regs(phy, params, lane);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4532
bnx2x_warpcore_set_10G_XFI(phy, params, 1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4541
bnx2x_warpcore_set_sgmii_speed(phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4556
if (bnx2x_is_sfp_module_plugged(phy, params))
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4557
bnx2x_sfp_module_detection(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4560
phy, 1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4563
bnx2x_warpcore_config_sfi(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4572
bnx2x_warpcore_set_20G_DXGXS(bp, phy, lane);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4575
bnx2x_sfp_module_detection(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4579
bnx2x_warpcore_enable_AN_KR(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4582
bnx2x_warpcore_set_20G_force_KR2(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4594
bnx2x_warpcore_reset_lane(bp, phy, 0);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4598
static void bnx2x_warpcore_link_reset(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4603
bnx2x_sfp_e3_set_transmitter(params, phy, 0);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4605
bnx2x_set_aer_mmd(params, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4607
bnx2x_warpcore_reset_lane(bp, phy, 1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4611
bnx2x_cl45_read_and_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4614
bnx2x_cl45_read_and_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4618
CL22_WR_OVER_CL45(bp, phy, MDIO_REG_BANK_AER_BLOCK,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4621
bnx2x_cl45_read_and_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4625
bnx2x_cl45_read_and_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4627
lane = bnx2x_get_warpcore_lane(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4629
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4632
if (phy->flags & FLAGS_WC_DUAL_MODE)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4634
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4637
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4641
if (phy->flags & FLAGS_WC_DUAL_MODE) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4646
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4649
bnx2x_set_aer_mmd(params, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4653
static void bnx2x_set_warpcore_loopback(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4660
params->loopback_mode, phy->req_line_speed);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4662
if (phy->req_line_speed < SPEED_10000 ||
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4663
phy->supported & SUPPORTED_20000baseKR2_Full) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4667
CL22_WR_OVER_CL45(bp, phy, MDIO_REG_BANK_AER_BLOCK,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4670
bnx2x_cl45_read_or_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4674
lane = bnx2x_get_warpcore_lane(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4675
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4678
if (phy->flags & FLAGS_WC_DUAL_MODE)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4680
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4685
bnx2x_set_aer_mmd(params, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4688
bnx2x_cl45_read_or_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4691
bnx2x_cl45_read_or_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4835
params->phy[INT_PHY].media_type =
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4838
params->phy[EXT_PHY1].media_type =
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4841
params->phy[EXT_PHY2].media_type =
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4872
struct bnx2x_phy *phy)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4881
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4886
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4893
struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4899
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4904
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4917
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4937
struct bnx2x_phy *phy)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4953
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4960
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4966
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4972
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4978
static void bnx2x_set_parallel_detection(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4983
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4987
if (phy->speed_cap_mask & PORT_HW_CFG_SPEED_CAPABILITY_D0_1G)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4992
phy->speed_cap_mask, control2);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4993
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4998
if ((phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_DIRECT) &&
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
4999
(phy->speed_cap_mask &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5003
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5008
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5017
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5023
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5031
static void bnx2x_set_autoneg(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5040
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5051
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5057
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5068
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5073
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5086
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5093
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5099
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5107
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5111
if (phy->speed_cap_mask &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5114
if (phy->speed_cap_mask &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5118
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5129
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5135
static void bnx2x_program_serdes(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5143
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5149
if (phy->req_duplex == DUPLEX_FULL)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5151
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5158
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5178
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5184
static void bnx2x_set_brcm_cl37_advertisement(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5191
if (phy->speed_cap_mask & PORT_HW_CFG_SPEED_CAPABILITY_D0_2_5G)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5193
if (phy->speed_cap_mask & PORT_HW_CFG_SPEED_CAPABILITY_D0_10G)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5195
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5199
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5204
static void bnx2x_set_ieee_aneg_advertisement(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5212
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5215
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5220
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5225
static void bnx2x_restart_autoneg(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5236
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5241
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5249
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5256
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5265
static void bnx2x_initialize_sgmii_process(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5274
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5283
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5293
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5321
if (phy->req_duplex == DUPLEX_FULL)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5324
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5331
bnx2x_restart_autoneg(phy, params, 0);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5337
static int bnx2x_direct_parallel_detect_used(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5342
if (phy->req_line_speed != SPEED_AUTO_NEG)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5344
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5348
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5358
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5371
static void bnx2x_update_adv_fc(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5386
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5390
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5400
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5404
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5414
bnx2x_pause_resolve(phy, params, vars, pause_result);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5418
static void bnx2x_flow_ctrl_resolve(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5427
if (phy->req_flow_ctrl != BNX2X_FLOW_CTRL_AUTO) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5429
if (phy->req_line_speed == SPEED_AUTO_NEG)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5430
bnx2x_update_adv_fc(phy, params, vars, gp_status);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5432
vars->flow_ctrl = phy->req_flow_ctrl;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5433
} else if (phy->req_line_speed != SPEED_AUTO_NEG)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5437
if (bnx2x_direct_parallel_detect_used(phy, params)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5441
bnx2x_update_adv_fc(phy, params, vars, gp_status);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5446
static void bnx2x_check_fallback_to_cl37(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5453
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5461
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5468
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5484
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5505
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5510
bnx2x_restart_autoneg(phy, params, 0);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5514
static void bnx2x_xgxs_an_resolve(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5523
if (bnx2x_direct_parallel_detect_used(phy, params))
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5527
static int bnx2x_get_link_speed_duplex(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5535
if (phy->req_line_speed == SPEED_AUTO_NEG)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5618
static u8 bnx2x_link_settings_status(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5628
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5639
rc = bnx2x_get_link_speed_duplex(phy, params, vars, link_up, speed_mask,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5647
bnx2x_flow_ctrl_resolve(phy, params, vars, gp_status);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5648
if (phy->req_line_speed == SPEED_AUTO_NEG)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5649
bnx2x_xgxs_an_resolve(phy, params, vars,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5653
if ((phy->req_line_speed == SPEED_AUTO_NEG) &&
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5656
bnx2x_check_fallback_to_cl37(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5665
CL22_RD_OVER_CL45(bp, phy, MDIO_REG_BANK_CL73_IEEEB1,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5676
CL22_RD_OVER_CL45(bp, phy, MDIO_REG_BANK_OVER_1G,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5692
static u8 bnx2x_warpcore_read_status(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5700
lane = bnx2x_get_warpcore_lane(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5703
(phy->flags & FLAGS_WC_DUAL_MODE)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5704
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5706
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5709
} else if ((phy->req_line_speed > SPEED_10000) &&
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5710
(phy->supported & SUPPORTED_20000baseMLD2_Full)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5712
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5714
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5720
bnx2x_ext_phy_resolve_fc(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5722
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5731
if (phy->supported & SUPPORTED_20000baseKR2_Full) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5733
bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5735
bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5741
if (phy->req_line_speed == SPEED_AUTO_NEG) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5743
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5751
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5758
bnx2x_ext_phy_resolve_fc(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5767
bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5778
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5792
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5795
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5805
rc = bnx2x_get_link_speed_duplex(phy, params, vars, link_up, gp_speed,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5809
if ((!link_up) && (phy->media_type == ETH_PHY_KR) &&
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5810
(!(phy->flags & FLAGS_WC_DUAL_MODE)))
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5820
struct bnx2x_phy *phy = &params->phy[INT_PHY];
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5826
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5840
CL22_RD_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5849
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5903
static void bnx2x_set_preemphasis(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5912
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5915
phy->rx_preemphasis[i]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5920
CL22_WR_OVER_CL45(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5923
phy->tx_preemphasis[i]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5927
static void bnx2x_xgxs_config_init(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5938
bnx2x_set_preemphasis(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5947
bnx2x_set_autoneg(phy, params, vars, 0);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5950
bnx2x_program_serdes(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5956
bnx2x_set_brcm_cl37_advertisement(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5959
bnx2x_set_ieee_aneg_advertisement(phy, params,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5963
bnx2x_set_autoneg(phy, params, vars, enable_cl73);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5966
bnx2x_restart_autoneg(phy, params, enable_cl73);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5972
bnx2x_initialize_sgmii_process(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5976
static int bnx2x_prepare_xgxs(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5982
if ((phy->req_line_speed &&
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5983
((phy->req_line_speed == SPEED_100) ||
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5984
(phy->req_line_speed == SPEED_10))) ||
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5985
(!phy->req_line_speed &&
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5986
(phy->speed_cap_mask >=
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5988
(phy->speed_cap_mask <
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5990
(phy->type == PORT_HW_CFG_SERDES_EXT_PHY_TYPE_DIRECT_SD))
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5995
bnx2x_calc_ieee_aneg_adv(phy, params, &vars->ieee_fc);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5996
bnx2x_set_aer_mmd(params, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5997
if (phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_DIRECT)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
5998
bnx2x_set_master_ln(params, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6000
rc = bnx2x_reset_unicore(params, phy, 0);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6005
bnx2x_set_aer_mmd(params, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6007
if (phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_DIRECT) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6008
bnx2x_set_master_ln(params, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6009
bnx2x_set_swap_lanes(params, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6016
struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6022
if (phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM54618SE)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6023
bnx2x_cl22_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6026
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6058
params->phy[INT_PHY].type !=
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6068
params->phy[INT_PHY].type !=
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6217
spirom_ver = REG_RD(bp, params->phy[EXT_PHY1].ver_addr);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6219
if (params->phy[EXT_PHY1].format_fw_ver) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6220
status |= params->phy[EXT_PHY1].format_fw_ver(spirom_ver,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6226
(params->phy[EXT_PHY2].ver_addr != 0)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6227
spirom_ver = REG_RD(bp, params->phy[EXT_PHY2].ver_addr);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6228
if (params->phy[EXT_PHY2].format_fw_ver) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6232
status |= params->phy[EXT_PHY2].format_fw_ver(
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6243
static void bnx2x_set_xgxs_loopback(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6249
if (phy->req_line_speed != SPEED_1000) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6263
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6269
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6276
bnx2x_set_aer_mmd(params, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6286
bnx2x_cl45_read(bp, phy, 5,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6290
bnx2x_cl45_write(bp, phy, 5,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6313
if (params->phy[phy_idx].set_link_led) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6314
params->phy[phy_idx].set_link_led(
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6315
&params->phy[phy_idx], params, mode);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6327
if (params->phy[EXT_PHY1].type ==
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6346
if (((params->phy[EXT_PHY1].type ==
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6348
(params->phy[EXT_PHY1].type ==
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6384
} else if ((params->phy[EXT_PHY1].type ==
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6454
struct bnx2x_phy *int_phy = &params->phy[INT_PHY];
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6496
ext_phy_link_up = params->phy[EXT_PHY1].read_status(
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6497
&params->phy[EXT_PHY1],
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6503
serdes_phy_type = ((params->phy[phy_index].media_type ==
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6505
(params->phy[phy_index].media_type ==
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6507
(params->phy[phy_index].media_type ==
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6509
(params->phy[phy_index].media_type ==
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6514
if (params->phy[phy_index].read_status) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6516
params->phy[phy_index].read_status(
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6517
&params->phy[phy_index],
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6538
vars->line_speed = params->phy[INT_PHY].req_line_speed;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6545
bnx2x_prepare_xgxs(&params->phy[INT_PHY], params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6551
(params->phy[EXT_PHY1].flags & FLAGS_INIT_XGXS_FIRST) ||
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6553
struct bnx2x_phy *phy = &params->phy[INT_PHY];
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6557
bnx2x_set_parallel_detection(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6558
if (params->phy[INT_PHY].config_init)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6559
params->phy[INT_PHY].config_init(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6565
vars->line_speed = params->phy[INT_PHY].req_line_speed;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6569
if (params->phy[INT_PHY].supported &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6580
if (params->phy[phy_index].supported &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6591
params->phy[phy_index].config_init(
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6592
&params->phy[phy_index],
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6606
static void bnx2x_int_link_reset(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6614
static void bnx2x_common_ext_link_reset(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6762
if (params->phy[phy_idx].flags & FLAGS_TX_ERROR_CHECK) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6829
bnx2x_set_aer_mmd(params, &params->phy[INT_PHY]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6859
struct bnx2x_phy *phy = &params->phy[phy_index];
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6860
if (!phy->read_status)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6863
cur_link_up = phy->read_status(phy, params,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6918
if (params->phy[INT_PHY].read_status)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6919
params->phy[INT_PHY].read_status(
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6920
&params->phy[INT_PHY],
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6940
if (params->phy[EXT_PHY2].phy_specific_func) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6943
params->phy[EXT_PHY2].phy_specific_func(
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6944
&params->phy[EXT_PHY2],
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6951
if (params->phy[active_external_phy].supported &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
6965
if (params->phy[phy_index].flags &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7012
params->phy[EXT_PHY1].flags &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7014
if (!(params->phy[EXT_PHY1].flags &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7023
if (params->phy[INT_PHY].config_init)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7024
params->phy[INT_PHY].config_init(
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7025
&params->phy[INT_PHY], params,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7081
struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7086
bnx2x_cl45_read(bp, phy, MDIO_PMA_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7088
bnx2x_cl45_read(bp, phy, MDIO_PMA_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7091
phy->ver_addr);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7095
struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7099
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7102
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7114
static void bnx2x_8073_resolve_fc(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7119
if (phy->req_line_speed == SPEED_10 ||
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7120
phy->req_line_speed == SPEED_100) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7121
vars->flow_ctrl = phy->req_flow_ctrl;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7125
if (bnx2x_ext_phy_resolve_fc(phy, params, vars) &&
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7130
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7134
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7142
bnx2x_pause_resolve(phy, params, vars, pause_result);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7148
struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7157
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7163
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7168
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7173
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7179
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7199
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7202
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7208
((fw_msgout & 0xff) != 0x03 && (phy->type ==
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7212
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7215
bnx2x_save_bcm_spirom_ver(bp, phy, port);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7228
static int bnx2x_8073_is_snr_needed(struct bnx2x *bp, struct bnx2x_phy *phy)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7234
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7243
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7254
static int bnx2x_8073_xaui_wa(struct bnx2x *bp, struct bnx2x_phy *phy)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7258
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7273
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7292
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7310
static void bnx2x_807x_force_10G(struct bnx2x *bp, struct bnx2x_phy *phy)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7313
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7315
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7317
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7319
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7324
struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7329
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7334
bnx2x_calc_ieee_aneg_adv(phy, params, &vars->ieee_fc);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7353
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7358
static void bnx2x_8073_specific_func(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7366
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7368
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7374
static void bnx2x_8073_config_init(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7394
bnx2x_8073_specific_func(phy, params, PHY_INIT);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7395
bnx2x_8073_set_pause_cl37(params, phy, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7397
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7400
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7410
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7413
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7426
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7429
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7435
bnx2x_807x_force_10G(bp, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7439
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7442
if (phy->req_line_speed != SPEED_AUTO_NEG) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7443
if (phy->req_line_speed == SPEED_10000) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7445
} else if (phy->req_line_speed == SPEED_2500) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7454
if (phy->speed_cap_mask &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7459
if (phy->speed_cap_mask &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7466
bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD, MDIO_AN_REG_ADV, val);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7467
bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD, MDIO_AN_REG_8073_2_5G, &tmp1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7469
if (((phy->speed_cap_mask & PORT_HW_CFG_SPEED_CAPABILITY_D0_2_5G) &&
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7470
(phy->req_line_speed == SPEED_AUTO_NEG)) ||
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7471
(phy->req_line_speed == SPEED_2500)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7474
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7487
bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD, MDIO_AN_REG_8073_2_5G, tmp1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7490
bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD, MDIO_AN_REG_CL37_FC_LD, &tmp1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7491
bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD, MDIO_AN_REG_CL37_FC_LD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7492
(tmp1 | ((phy->req_duplex == DUPLEX_FULL) ?
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7496
bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD, MDIO_AN_REG_CL37_AN, 0x1000);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7502
if (bnx2x_8073_is_snr_needed(bp, phy))
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7503
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7508
bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD, MDIO_AN_REG_ADV2, &tmp1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7510
bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD, MDIO_AN_REG_ADV2, tmp1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7512
bnx2x_ext_phy_set_pause(params, phy, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7516
bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD, MDIO_AN_REG_CTRL, 0x1200);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7521
static u8 bnx2x_8073_read_status(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7531
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7537
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7539
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7543
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7547
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7553
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7557
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7559
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7565
((phy->req_line_speed != SPEED_10000))) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7566
if (bnx2x_8073_xaui_wa(bp, phy) != 0)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7569
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7571
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7575
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7577
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7583
if (link_up && bnx2x_8073_is_snr_needed(bp, phy)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7588
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7593
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7597
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7628
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7641
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7646
bnx2x_ext_phy_10G_an_resolve(bp, phy, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7647
bnx2x_8073_resolve_fc(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7652
bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7666
static void bnx2x_8073_link_reset(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7685
static void bnx2x_8705_config_init(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7696
bnx2x_cl45_write(bp, phy, MDIO_PMA_DEVAD, MDIO_PMA_REG_CTRL, 0xa040);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7697
bnx2x_wait_reset_complete(bp, phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7699
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7701
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7703
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7705
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7711
static u8 bnx2x_8705_read_status(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7719
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7723
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7727
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7730
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7732
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7739
bnx2x_ext_phy_resolve_fc(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7748
struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7765
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7785
struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7803
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7813
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7842
struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7848
bnx2x_sfp_e3_set_transmitter(params, phy, tx_en);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7850
bnx2x_sfp_e1e2_set_transmitter(params, phy, tx_en);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7853
static int bnx2x_8726_read_sfp_module_eeprom(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7867
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7872
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7877
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7883
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7902
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7909
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7941
static int bnx2x_warpcore_read_sfp_module_eeprom(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
7982
static int bnx2x_8727_read_sfp_module_eeprom(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8000
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8006
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8012
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8018
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8023
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8029
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8040
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8059
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8066
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8077
int bnx2x_read_sfp_module_eeprom(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8092
switch (phy->type) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8110
rc = read_func(phy, params, dev_addr, addr, xfer_size,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8119
static int bnx2x_get_edc_mode(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8127
phy->media_type = ETH_PHY_UNSPECIFIED;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8129
if (bnx2x_read_sfp_module_eeprom(phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8146
phy->media_type = ETH_PHY_DA_TWINAX;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8155
if (phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_DIRECT)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8186
phy->media_type = ETH_PHY_SFP_1G_FIBER;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8187
if (phy->req_line_speed != SPEED_1000) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8189
phy->req_line_speed = SPEED_1000;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8200
bnx2x_sfp_set_transmitter(params, phy, 0);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8202
bnx2x_sfp_set_transmitter(params, phy, 1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8208
if (params->phy[idx].type == phy->type) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8213
phy->media_type = ETH_PHY_SFPP_10G_FIBER;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8214
phy->req_line_speed = params->req_line_speed[cfg_idx];
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8228
if (&(params->phy[phy_idx]) == phy) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8231
media_types |= ((phy->media_type &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8240
if (bnx2x_read_sfp_module_eeprom(phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8261
static int bnx2x_verify_sfp_module(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8269
phy->flags &= ~FLAGS_SFP_NOT_APPROVED;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8299
fw_cmd_param = FW_PARAM_SET(phy->addr, phy->type, phy->mdio_ctrl);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8307
if (bnx2x_read_sfp_module_eeprom(phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8316
if (bnx2x_read_sfp_module_eeprom(phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8331
phy->flags |= FLAGS_SFP_NOT_APPROVED;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8335
static int bnx2x_wait_for_sfp_module_initialized(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8348
if (phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_DIRECT)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8350
phy, params, I2C_DEV_ADDR_A0, 1, 1, &val,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8353
rc = bnx2x_read_sfp_module_eeprom(phy, params,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8364
rc = bnx2x_read_sfp_module_eeprom(phy, params, I2C_DEV_ADDR_A0,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8370
struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8385
if (phy->flags & FLAGS_NOC)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8395
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8402
struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8407
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8416
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8430
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8434
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8438
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8442
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8451
struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8456
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8461
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8466
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8471
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8476
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8484
static void bnx2x_8727_specific_func(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8492
bnx2x_sfp_set_transmitter(params, phy, 0);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8495
if (!(phy->flags & FLAGS_SFP_NOT_APPROVED))
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8496
bnx2x_sfp_set_transmitter(params, phy, 1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8499
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8502
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8505
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8508
bnx2x_cl45_read(bp, phy, MDIO_PMA_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8512
if (phy->flags & FLAGS_NOC)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8517
if (!(phy->flags & FLAGS_NOC))
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8519
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8592
static void bnx2x_warpcore_hw_reset(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8607
struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8613
switch (phy->type) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8616
bnx2x_8727_power_module(params->bp, phy, power);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8626
struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8633
u8 lane = bnx2x_get_warpcore_lane(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8635
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8653
bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8656
bnx2x_cl45_read(bp, phy, MDIO_WC_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8660
bnx2x_warpcore_reset_lane(bp, phy, 1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8661
bnx2x_warpcore_reset_lane(bp, phy, 0);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8666
struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8669
switch (phy->type) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8671
bnx2x_8726_set_limiting_mode(params->bp, phy, edc_mode);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8675
bnx2x_8727_set_limiting_mode(params->bp, phy, edc_mode);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8678
bnx2x_warpcore_set_limiting_mode(params, phy, edc_mode);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8683
static int bnx2x_sfp_module_detection(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8694
bnx2x_sfp_set_transmitter(params, phy, 1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8698
bnx2x_power_sfp_module(params, phy, 1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8699
if (bnx2x_get_edc_mode(phy, params, &edc_mode) != 0) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8702
} else if (bnx2x_verify_sfp_module(phy, params) != 0) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8714
bnx2x_power_sfp_module(params, phy, 0);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8725
bnx2x_set_limiting_mode(params, phy, edc_mode);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8733
bnx2x_sfp_set_transmitter(params, phy, 0);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8741
struct bnx2x_phy *phy;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8745
phy = &params->phy[INT_PHY];
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8747
bnx2x_sfp_set_transmitter(params, phy, 1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8749
phy = &params->phy[EXT_PHY1];
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8767
bnx2x_set_aer_mmd(params, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8769
bnx2x_power_sfp_module(params, phy, 1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8773
if (bnx2x_wait_for_sfp_module_initialized(phy, params) == 0) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8774
bnx2x_sfp_module_detection(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8781
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8788
bnx2x_warpcore_reset_lane(bp, phy, 1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8789
bnx2x_warpcore_config_sfi(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8790
bnx2x_warpcore_reset_lane(bp, phy, 0);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8803
phy->media_type = ETH_PHY_NOT_PRESENT;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8811
struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8816
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8819
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8823
bnx2x_cl45_read(bp, phy, MDIO_PMA_DEVAD, alarm_ctrl_offset, &val);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8828
bnx2x_cl45_write(bp, phy, MDIO_PMA_DEVAD, alarm_ctrl_offset, val);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8833
static u8 bnx2x_8706_8726_read_status(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8842
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8845
bnx2x_sfp_mask_fault(bp, phy, MDIO_PMA_LASI_TXSTAT,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8849
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8851
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8855
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8857
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8859
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8861
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8875
bnx2x_ext_phy_resolve_fc(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8881
bnx2x_cl45_read(bp, phy, MDIO_PMA_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8883
bnx2x_cl45_read(bp, phy, MDIO_PMA_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8895
static void bnx2x_8706_config_init(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8907
bnx2x_cl45_write(bp, phy, MDIO_PMA_DEVAD, MDIO_PMA_REG_CTRL, 0xa040);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8908
bnx2x_wait_reset_complete(bp, phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8912
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8927
bnx2x_cl45_read(bp, phy, MDIO_XS_DEVAD, reg, &val);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8931
val |= (phy->rx_preemphasis[i] & 0x7);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8934
bnx2x_cl45_write(bp, phy, MDIO_XS_DEVAD, reg, val);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8938
if (phy->req_line_speed == SPEED_10000) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8941
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8944
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8948
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8955
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8959
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8962
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8965
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8969
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8971
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8974
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8978
bnx2x_save_bcm_spirom_ver(bp, phy, params->port);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8991
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8994
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
8999
static u8 bnx2x_8706_read_status(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9003
return bnx2x_8706_8726_read_status(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9009
static void bnx2x_8726_config_loopback(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9014
bnx2x_cl45_write(bp, phy, MDIO_PMA_DEVAD, MDIO_PMA_REG_CTRL, 0x0001);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9017
static void bnx2x_8726_external_rom_boot(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9025
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9029
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9034
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9038
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9047
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9052
bnx2x_save_bcm_spirom_ver(bp, phy, params->port);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9055
static u8 bnx2x_8726_read_status(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9061
u8 link_up = bnx2x_8706_8726_read_status(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9063
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9076
static void bnx2x_8726_config_init(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9083
bnx2x_cl45_write(bp, phy, MDIO_PMA_DEVAD, MDIO_PMA_REG_CTRL, 1<<15);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9084
bnx2x_wait_reset_complete(bp, phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9086
bnx2x_8726_external_rom_boot(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9093
bnx2x_sfp_module_detection(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9095
if (phy->req_line_speed == SPEED_1000) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9097
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9099
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9101
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9103
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9106
} else if ((phy->req_line_speed == SPEED_AUTO_NEG) &&
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9107
(phy->speed_cap_mask &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9109
((phy->speed_cap_mask &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9114
bnx2x_ext_phy_set_pause(params, phy, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9115
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9117
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9119
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9121
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9123
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9128
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9130
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9135
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9144
phy->tx_preemphasis[0],
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9145
phy->tx_preemphasis[1]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9146
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9149
phy->tx_preemphasis[0]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9151
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9154
phy->tx_preemphasis[1]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9158
static void bnx2x_8726_link_reset(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9164
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9173
static void bnx2x_8727_set_link_led(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9181
if (!(phy->flags & FLAGS_NOC))
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9198
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9204
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9208
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9214
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9219
static void bnx2x_8727_hw_reset(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9234
static void bnx2x_8727_config_speed(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9240
if ((phy->req_line_speed == SPEED_1000) ||
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9241
(phy->media_type == ETH_PHY_SFP_1G_FIBER)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9243
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9245
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9247
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9254
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9258
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9262
} else if ((phy->req_line_speed == SPEED_AUTO_NEG) &&
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9263
((phy->speed_cap_mask &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9265
((phy->speed_cap_mask &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9270
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9272
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9278
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9281
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9283
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9285
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9291
static void bnx2x_8727_config_init(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9300
bnx2x_wait_reset_complete(bp, phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9304
bnx2x_8727_specific_func(phy, params, PHY_INIT);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9308
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9315
if (!(phy->flags & FLAGS_NOC))
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9317
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9321
bnx2x_set_disable_pmd_transmit(params, phy, 0);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9323
bnx2x_8727_power_module(bp, phy, 1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9325
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9328
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9331
bnx2x_8727_config_speed(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9338
phy->tx_preemphasis[0],
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9339
phy->tx_preemphasis[1]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9340
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9342
phy->tx_preemphasis[0]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9344
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9346
phy->tx_preemphasis[1]);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9360
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9364
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9366
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9369
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9375
static void bnx2x_8727_handle_mod_abs(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9384
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9392
phy->media_type = ETH_PHY_NOT_PRESENT;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9401
if (!(phy->flags & FLAGS_NOC))
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9403
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9410
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9426
if (!(phy->flags & FLAGS_NOC))
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9428
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9437
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9444
bnx2x_sfp_set_transmitter(params, phy, 0);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9446
if (bnx2x_wait_for_sfp_module_initialized(phy, params) == 0)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9447
bnx2x_sfp_module_detection(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9452
bnx2x_8727_config_speed(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9460
static u8 bnx2x_8727_read_status(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9471
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9478
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9484
bnx2x_sfp_mask_fault(bp, phy, MDIO_PMA_LASI_TXSTAT,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9487
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9493
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9499
if (!(phy->flags & FLAGS_NOC) && !(rx_alarm_status & (1<<5))) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9501
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9520
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9524
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9529
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9533
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9536
bnx2x_8727_power_module(params->bp, phy, 0);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9543
bnx2x_8727_handle_mod_abs(phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9545
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9550
if (!(phy->flags & FLAGS_SFP_NOT_APPROVED)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9552
bnx2x_sfp_set_transmitter(params, phy, 1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9558
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9583
bnx2x_cl45_read(bp, phy, MDIO_PMA_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9586
bnx2x_cl45_read(bp, phy, MDIO_PMA_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9595
bnx2x_ext_phy_resolve_fc(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9601
(phy->req_line_speed == SPEED_1000)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9602
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9612
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9619
static void bnx2x_8727_link_reset(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9625
bnx2x_set_disable_pmd_transmit(params, phy, 1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9628
bnx2x_sfp_set_transmitter(params, phy, 0);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9630
bnx2x_cl45_write(bp, phy, MDIO_PMA_DEVAD, MDIO_PMA_LASI_CTRL, 0);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9637
static int bnx2x_is_8483x_8485x(struct bnx2x_phy *phy)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9639
return ((phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM84833) ||
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9640
(phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM84834) ||
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9641
(phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM84858));
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9644
static void bnx2x_save_848xx_spirom_version(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9658
if (bnx2x_is_8483x_8485x(phy)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9659
bnx2x_cl45_read(bp, phy, MDIO_CTL_DEVAD, 0x400f, &fw_ver1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9660
if (phy->type != PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM84858)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9662
bnx2x_save_spirom_version(bp, port, fw_ver1, phy->ver_addr);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9667
bnx2x_cl45_write(bp, phy, reg_set[i].devad,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9671
bnx2x_cl45_read(bp, phy, MDIO_PMA_DEVAD, 0xA818, &val);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9680
phy->ver_addr);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9686
bnx2x_cl45_write(bp, phy, MDIO_PMA_DEVAD, 0xA819, 0x0000);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9687
bnx2x_cl45_write(bp, phy, MDIO_PMA_DEVAD, 0xA81A, 0xc200);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9688
bnx2x_cl45_write(bp, phy, MDIO_PMA_DEVAD, 0xA817, 0x000A);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9690
bnx2x_cl45_read(bp, phy, MDIO_PMA_DEVAD, 0xA818, &val);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9699
phy->ver_addr);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9704
bnx2x_cl45_read(bp, phy, MDIO_PMA_DEVAD, 0xA81B, &fw_ver1);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9706
bnx2x_cl45_read(bp, phy, MDIO_PMA_DEVAD, 0xA81C, &fw_ver2);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9709
phy->ver_addr);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9714
struct bnx2x_phy *phy)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9726
if (phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM84858) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9728
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9737
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9743
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9749
if (phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM84858)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9752
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9757
bnx2x_cl45_write(bp, phy, reg_set[i].devad, reg_set[i].reg,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9760
if (bnx2x_is_8483x_8485x(phy))
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9765
if (phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM84858)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9772
bnx2x_cl45_read_or_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9778
static void bnx2x_848xx_specific_func(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9785
if (bnx2x_is_8483x_8485x(phy)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9787
bnx2x_save_848xx_spirom_version(phy, bp, params->port);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9796
bnx2x_848xx_set_led(bp, phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9801
static int bnx2x_848xx_cmn_config_init(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9808
bnx2x_848xx_specific_func(phy, params, PHY_INIT);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9809
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9813
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9817
bnx2x_ext_phy_set_pause(params, phy, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9818
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9822
bnx2x_cl45_read(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9829
if (((phy->req_line_speed == SPEED_AUTO_NEG) &&
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9830
(phy->speed_cap_mask &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9832
(phy->req_line_speed == SPEED_1000)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9835
if (phy->req_duplex == DUPLEX_FULL)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9841
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9846
if (phy->req_line_speed == SPEED_AUTO_NEG) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9847
if (phy->speed_cap_mask &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9856
if (phy->speed_cap_mask &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9865
if ((phy->speed_cap_mask &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9867
(phy->supported & SUPPORTED_10baseT_Full)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9873
if ((phy->speed_cap_mask &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9875
(phy->supported & SUPPORTED_10baseT_Half)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9883
if ((phy->req_line_speed == SPEED_100) &&
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9884
(phy->supported &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9889
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9896
if ((phy->req_line_speed == SPEED_10) &&
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9897
(phy->supported &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9901
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9907
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9911
if (phy->req_duplex == DUPLEX_FULL)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9917
if (!bnx2x_is_8483x_8485x(phy) ||
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9919
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9923
if (((phy->req_line_speed == SPEED_AUTO_NEG) &&
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9924
(phy->speed_cap_mask &
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9926
(phy->req_line_speed == SPEED_10000)) {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9931
bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9935
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9939
bnx2x_cl45_write(bp, phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9947
static void bnx2x_8481_config_init(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9958
bnx2x_wait_reset_complete(bp, phy, params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9960
bnx2x_cl45_write(bp, phy, MDIO_PMA_DEVAD, MDIO_PMA_REG_CTRL, 1<<15);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9961
bnx2x_848xx_cmn_config_init(phy, params, vars);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9967
static int bnx2x_84858_cmd_hdlr(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
9984
bnx2x_cl45_read(bp, phy, MDIO_CTL_DEVAD,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.h
130
typedef void (*config_init_t)(struct bnx2x_phy *phy, struct link_params *params,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.h
132
typedef u8 (*read_status_t)(struct bnx2x_phy *phy, struct link_params *params,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.h
134
typedef void (*link_reset_t)(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.h
136
typedef void (*config_loopback_t)(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.h
139
typedef void (*hw_reset_t)(struct bnx2x_phy *phy, struct link_params *params);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.h
140
typedef void (*set_link_led_t)(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.h
142
typedef void (*phy_specific_func_t)(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.h
288
struct bnx2x_phy phy[MAX_PHYS];
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.h
435
void bnx2x_sfx7101_sp_sw_reset(struct bnx2x *bp, struct bnx2x_phy *phy);
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.h
438
int bnx2x_read_sfp_module_eeprom(struct bnx2x_phy *phy,
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
11195
bp->port.supported[0] = bp->link_params.phy[INT_PHY].supported;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
11199
bp->port.supported[0] = bp->link_params.phy[EXT_PHY1].supported;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
11206
bp->link_params.phy[EXT_PHY1].supported;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
11208
bp->link_params.phy[EXT_PHY2].supported;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
11211
bp->link_params.phy[EXT_PHY1].supported;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
11213
bp->link_params.phy[EXT_PHY2].supported;
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
11311
if (bp->link_params.phy[EXT_PHY1].type ==
drivers/net/ethernet/broadcom/tg3.c
2204
u32 phy;
drivers/net/ethernet/broadcom/tg3.c
2208
if (!tg3_readphy(tp, MII_TG3_FET_SHDW_AUXSTAT2, &phy)) {
drivers/net/ethernet/broadcom/tg3.c
2210
phy |= MII_TG3_FET_SHDW_AUXSTAT2_APD;
drivers/net/ethernet/broadcom/tg3.c
2212
phy &= ~MII_TG3_FET_SHDW_AUXSTAT2_APD;
drivers/net/ethernet/broadcom/tg3.c
2213
tg3_writephy(tp, MII_TG3_FET_SHDW_AUXSTAT2, phy);
drivers/net/ethernet/broadcom/tg3.c
2252
u32 phy;
drivers/net/ethernet/broadcom/tg3.c
2266
if (!tg3_readphy(tp, reg, &phy)) {
drivers/net/ethernet/broadcom/tg3.c
2268
phy |= MII_TG3_FET_SHDW_MISCCTRL_MDIX;
drivers/net/ethernet/broadcom/tg3.c
2270
phy &= ~MII_TG3_FET_SHDW_MISCCTRL_MDIX;
drivers/net/ethernet/broadcom/tg3.c
2271
tg3_writephy(tp, reg, phy);
drivers/net/ethernet/broadcom/tg3.c
2279
MII_TG3_AUXCTL_SHDWSEL_MISC, &phy);
drivers/net/ethernet/broadcom/tg3.c
2282
phy |= MII_TG3_AUXCTL_MISC_FORCE_AMDIX;
drivers/net/ethernet/broadcom/tg3.c
2284
phy &= ~MII_TG3_AUXCTL_MISC_FORCE_AMDIX;
drivers/net/ethernet/broadcom/tg3.c
2286
MII_TG3_AUXCTL_SHDWSEL_MISC, phy);
drivers/net/ethernet/broadcom/tg3.c
2307
u32 otp, phy;
drivers/net/ethernet/broadcom/tg3.c
2317
phy = ((otp & TG3_OTP_AGCTGT_MASK) >> TG3_OTP_AGCTGT_SHIFT);
drivers/net/ethernet/broadcom/tg3.c
2318
phy |= MII_TG3_DSP_TAP1_AGCTGT_DFLT;
drivers/net/ethernet/broadcom/tg3.c
2319
tg3_phydsp_write(tp, MII_TG3_DSP_TAP1, phy);
drivers/net/ethernet/broadcom/tg3.c
2321
phy = ((otp & TG3_OTP_HPFFLTR_MASK) >> TG3_OTP_HPFFLTR_SHIFT) |
drivers/net/ethernet/broadcom/tg3.c
2323
tg3_phydsp_write(tp, MII_TG3_DSP_AADJ1CH0, phy);
drivers/net/ethernet/broadcom/tg3.c
2325
phy = ((otp & TG3_OTP_LPFDIS_MASK) >> TG3_OTP_LPFDIS_SHIFT);
drivers/net/ethernet/broadcom/tg3.c
2326
phy |= MII_TG3_DSP_AADJ1CH3_ADCCKADJ;
drivers/net/ethernet/broadcom/tg3.c
2327
tg3_phydsp_write(tp, MII_TG3_DSP_AADJ1CH3, phy);
drivers/net/ethernet/broadcom/tg3.c
2329
phy = ((otp & TG3_OTP_VDAC_MASK) >> TG3_OTP_VDAC_SHIFT);
drivers/net/ethernet/broadcom/tg3.c
2330
tg3_phydsp_write(tp, MII_TG3_DSP_EXP75, phy);
drivers/net/ethernet/broadcom/tg3.c
2332
phy = ((otp & TG3_OTP_10BTAMP_MASK) >> TG3_OTP_10BTAMP_SHIFT);
drivers/net/ethernet/broadcom/tg3.c
2333
tg3_phydsp_write(tp, MII_TG3_DSP_EXP96, phy);
drivers/net/ethernet/broadcom/tg3.c
2335
phy = ((otp & TG3_OTP_ROFF_MASK) >> TG3_OTP_ROFF_SHIFT) |
drivers/net/ethernet/broadcom/tg3.c
2337
tg3_phydsp_write(tp, MII_TG3_DSP_EXP97, phy);
drivers/net/ethernet/broadcom/tg3.c
3085
u32 phy;
drivers/net/ethernet/broadcom/tg3.c
3093
if (!tg3_readphy(tp, MII_TG3_FET_SHDW_AUXMODE4, &phy)) {
drivers/net/ethernet/broadcom/tg3.c
3094
phy |= MII_TG3_FET_SHDW_AUXMODE4_SBPD;
drivers/net/ethernet/broadcom/tg3.c
3097
phy);
drivers/net/ethernet/cadence/macb.h
1344
struct phy *phy;
drivers/net/ethernet/cadence/macb_main.c
3061
err = phy_set_mode_ext(bp->phy, PHY_MODE_ETHERNET, bp->phy_interface);
drivers/net/ethernet/cadence/macb_main.c
3065
err = phy_power_on(bp->phy);
drivers/net/ethernet/cadence/macb_main.c
3081
phy_power_off(bp->phy);
drivers/net/ethernet/cadence/macb_main.c
3113
phy_power_off(bp->phy);
drivers/net/ethernet/cadence/macb_main.c
5251
bp->phy = devm_phy_optional_get(&pdev->dev, NULL);
drivers/net/ethernet/cadence/macb_main.c
5253
if (IS_ERR(bp->phy))
drivers/net/ethernet/cadence/macb_main.c
5254
return dev_err_probe(&pdev->dev, PTR_ERR(bp->phy),
drivers/net/ethernet/cadence/macb_main.c
5257
ret = phy_init(bp->phy);
drivers/net/ethernet/cadence/macb_main.c
5286
phy_exit(bp->phy);
drivers/net/ethernet/cadence/macb_main.c
5294
phy_exit(bp->phy);
drivers/net/ethernet/cadence/macb_main.c
5306
bp->phy = devm_phy_get(dev, NULL);
drivers/net/ethernet/cadence/macb_main.c
5307
if (IS_ERR(bp->phy))
drivers/net/ethernet/cadence/macb_main.c
5308
return dev_err_probe(dev, PTR_ERR(bp->phy),
drivers/net/ethernet/cadence/macb_main.c
5311
ret = phy_init(bp->phy);
drivers/net/ethernet/cadence/macb_main.c
5317
phy_exit(bp->phy);
drivers/net/ethernet/cadence/macb_main.c
5733
phy_exit(bp->phy);
drivers/net/ethernet/cadence/macb_main.c
5757
phy_exit(bp->phy);
drivers/net/ethernet/cadence/macb_main.c
5784
phy_exit(bp->phy);
drivers/net/ethernet/cadence/macb_main.c
5922
phy_init(bp->phy);
drivers/net/ethernet/cadence/macb_main.c
764
struct phy_device *phy,
drivers/net/ethernet/chelsio/cxgb/common.h
214
struct cphy *phy;
drivers/net/ethernet/chelsio/cxgb/common.h
330
int t1_link_start(struct cphy *phy, struct cmac *mac, struct link_config *lc);
drivers/net/ethernet/chelsio/cxgb/cphy.h
130
static inline void cphy_init(struct cphy *phy, struct net_device *dev,
drivers/net/ethernet/chelsio/cxgb/cphy.h
135
phy->adapter = adapter;
drivers/net/ethernet/chelsio/cxgb/cphy.h
136
phy->ops = phy_ops;
drivers/net/ethernet/chelsio/cxgb/cphy.h
138
phy->mdio.prtad = phy_addr;
drivers/net/ethernet/chelsio/cxgb/cphy.h
139
phy->mdio.mmds = phy_ops->mmds;
drivers/net/ethernet/chelsio/cxgb/cphy.h
140
phy->mdio.mode_support = mdio_ops->mode_support;
drivers/net/ethernet/chelsio/cxgb/cphy.h
141
phy->mdio.mdio_read = mdio_ops->read;
drivers/net/ethernet/chelsio/cxgb/cphy.h
142
phy->mdio.mdio_write = mdio_ops->write;
drivers/net/ethernet/chelsio/cxgb/cphy.h
144
phy->mdio.dev = dev;
drivers/net/ethernet/chelsio/cxgb/cphy.h
72
int (*advertise)(struct cphy *phy, unsigned int advertise_map);
drivers/net/ethernet/chelsio/cxgb/cphy.h
74
int (*set_speed_duplex)(struct cphy *phy, int speed, int duplex);
drivers/net/ethernet/chelsio/cxgb/cphy.h
75
int (*get_link_status)(struct cphy *phy, int *link_ok, int *speed,
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
183
t1_link_start(p->phy, mac, &p->link_config);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
586
cmd->base.phy_address = p->phy->mdio.prtad;
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
668
t1_link_start(p->phy, p->mac, lc);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
703
t1_link_start(p->phy, p->mac, lc);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c
832
struct mdio_if_info *mdio = &adapter->port[dev->if_port].phy->mdio;
drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c
125
static int mv88e1xxx_set_speed_duplex(struct cphy *phy, int speed, int duplex)
drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c
129
(void) simple_mdio_read(phy, MII_BMCR, &ctl);
drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c
144
(void) simple_mdio_write(phy, MII_BMCR, ctl);
drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c
200
static int mv88e1xxx_advertise(struct cphy *phy, unsigned int advertise_map)
drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c
206
(void) simple_mdio_read(phy, MII_GBCR, &val);
drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c
213
(void) simple_mdio_write(phy, MII_GBCR, val);
drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c
228
(void) simple_mdio_write(phy, MII_ADVERTISE, val);
drivers/net/ethernet/chelsio/cxgb/subr.c
1031
struct cphy *phy = adapter->port[i].phy;
drivers/net/ethernet/chelsio/cxgb/subr.c
1035
if (phy)
drivers/net/ethernet/chelsio/cxgb/subr.c
1036
phy->ops->destroy(phy);
drivers/net/ethernet/chelsio/cxgb/subr.c
1108
adapter->port[i].phy = bi->gphy->create(adapter->port[i].dev,
drivers/net/ethernet/chelsio/cxgb/subr.c
1110
if (!adapter->port[i].phy) {
drivers/net/ethernet/chelsio/cxgb/subr.c
144
struct cphy *phy = adapter->port[port_id].phy;
drivers/net/ethernet/chelsio/cxgb/subr.c
147
phy->ops->get_link_status(phy, &link_ok, &speed, &duplex, &fc);
drivers/net/ethernet/chelsio/cxgb/subr.c
195
struct cphy *phy = adapter->port[p].phy;
drivers/net/ethernet/chelsio/cxgb/subr.c
196
int phy_cause = phy->ops->interrupt_handler(phy);
drivers/net/ethernet/chelsio/cxgb/subr.c
626
int t1_link_start(struct cphy *phy, struct cmac *mac, struct link_config *lc)
drivers/net/ethernet/chelsio/cxgb/subr.c
642
phy->ops->advertise(phy, lc->advertising);
drivers/net/ethernet/chelsio/cxgb/subr.c
651
phy->state = PHY_AUTONEG_RDY;
drivers/net/ethernet/chelsio/cxgb/subr.c
652
phy->ops->set_speed_duplex(phy, lc->speed, lc->duplex);
drivers/net/ethernet/chelsio/cxgb/subr.c
653
phy->ops->reset(phy, 0);
drivers/net/ethernet/chelsio/cxgb/subr.c
655
phy->state = PHY_AUTONEG_EN;
drivers/net/ethernet/chelsio/cxgb/subr.c
656
phy->ops->autoneg_enable(phy); /* also resets PHY */
drivers/net/ethernet/chelsio/cxgb/subr.c
659
phy->state = PHY_AUTONEG_RDY;
drivers/net/ethernet/chelsio/cxgb/subr.c
662
phy->ops->reset(phy, 0);
drivers/net/ethernet/chelsio/cxgb/subr.c
672
struct cphy *phy;
drivers/net/ethernet/chelsio/cxgb/subr.c
690
phy = adapter->port[i].phy;
drivers/net/ethernet/chelsio/cxgb/subr.c
691
phy_cause = phy->ops->interrupt_handler(phy);
drivers/net/ethernet/chelsio/cxgb/subr.c
699
phy = adapter->port[0].phy;
drivers/net/ethernet/chelsio/cxgb/subr.c
700
phy_cause = phy->ops->interrupt_handler(phy);
drivers/net/ethernet/chelsio/cxgb/subr.c
714
phy = adapter->port[p].phy;
drivers/net/ethernet/chelsio/cxgb/subr.c
715
phy_cause = phy->ops->interrupt_handler(phy);
drivers/net/ethernet/chelsio/cxgb/subr.c
726
phy = adapter->port[0].phy;
drivers/net/ethernet/chelsio/cxgb/subr.c
727
phy_cause = phy->ops->interrupt_handler(phy);
drivers/net/ethernet/chelsio/cxgb/subr.c
774
adapter->port[i].phy->ops->interrupt_enable(adapter->port[i].phy);
drivers/net/ethernet/chelsio/cxgb/subr.c
804
adapter->port[i].phy->ops->interrupt_disable(adapter->port[i].phy);
drivers/net/ethernet/chelsio/cxgb/subr.c
830
adapter->port[i].phy->ops->interrupt_clear(adapter->port[i].phy);
drivers/net/ethernet/chelsio/cxgb3/adapter.h
289
static inline int phy2portid(struct cphy *phy)
drivers/net/ethernet/chelsio/cxgb3/adapter.h
291
struct adapter *adap = phy->adapter;
drivers/net/ethernet/chelsio/cxgb3/adapter.h
294
return &port0->phy == phy ? 0 : 1;
drivers/net/ethernet/chelsio/cxgb3/adapter.h
332
int t3_get_edc_fw(struct cphy *phy, int edc_idx, int size);
drivers/net/ethernet/chelsio/cxgb3/adapter.h
72
struct cphy phy;
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
100
static void ael100x_txon(struct cphy *phy)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
103
phy->mdio.prtad == 0 ? F_GPIO7_OUT_VAL : F_GPIO2_OUT_VAL;
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
106
t3_set_reg_field(phy->adapter, A_T3DBG_GPIO_EN, 0, tx_on_gpio);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
113
static int ael_i2c_rd(struct cphy *phy, int dev_addr, int word_addr)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
118
err = t3_mdio_write(phy, MDIO_MMD_PMAPMD, AEL_I2C_CTRL,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
125
err = t3_mdio_read(phy, MDIO_MMD_PMAPMD, AEL_I2C_STAT, &stat);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
129
err = t3_mdio_read(phy, MDIO_MMD_PMAPMD, AEL_I2C_DATA,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
136
CH_WARN(phy->adapter, "PHY %u i2c read of dev.addr %#x.%#x timed out\n",
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
137
phy->mdio.prtad, dev_addr, word_addr);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
141
static int ael1002_power_down(struct cphy *phy, int enable)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
145
err = t3_mdio_write(phy, MDIO_MMD_PMAPMD, MDIO_PMA_TXDIS, !!enable);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
147
err = mdio_set_flag(&phy->mdio, phy->mdio.prtad,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
153
static int ael1002_reset(struct cphy *phy, int wait)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
157
if ((err = ael1002_power_down(phy, 0)) ||
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
158
(err = t3_mdio_write(phy, MDIO_MMD_PMAPMD, AEL100X_TX_CONFIG1, 1)) ||
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
159
(err = t3_mdio_write(phy, MDIO_MMD_PMAPMD, AEL1002_PWR_DOWN_HI, 0)) ||
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
160
(err = t3_mdio_write(phy, MDIO_MMD_PMAPMD, AEL1002_PWR_DOWN_LO, 0)) ||
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
161
(err = t3_mdio_write(phy, MDIO_MMD_PMAPMD, AEL1002_XFI_EQL, 0x18)) ||
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
162
(err = t3_mdio_change_bits(phy, MDIO_MMD_PMAPMD, AEL1002_LB_EN,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
168
static int ael1002_intr_noop(struct cphy *phy)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
176
static int get_link_status_r(struct cphy *phy, int *link_ok, int *speed,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
181
int err = t3_mdio_read(phy, MDIO_MMD_PMAPMD,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
185
err = t3_mdio_read(phy, MDIO_MMD_PCS,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
188
err = t3_mdio_read(phy, MDIO_MMD_PHYXS,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
212
int t3_ael1002_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
215
cphy_init(phy, adapter, phy_addr, &ael1002_ops, mdio_ops,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
218
ael100x_txon(phy);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
222
static int ael1006_reset(struct cphy *phy, int wait)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
224
return t3_phy_reset(phy, MDIO_MMD_PMAPMD, wait);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
238
int t3_ael1006_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
241
cphy_init(phy, adapter, phy_addr, &ael1006_ops, mdio_ops,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
244
ael100x_txon(phy);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
251
static int ael2xxx_get_module_type(struct cphy *phy, int delay_ms)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
259
v = ael_i2c_rd(phy, MODULE_DEV_ADDR, 3);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
270
v = ael_i2c_rd(phy, MODULE_DEV_ADDR, 6);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
276
v = ael_i2c_rd(phy, MODULE_DEV_ADDR, 10);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
281
v = ael_i2c_rd(phy, MODULE_DEV_ADDR, 0x12);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
293
static int ael2005_setup_sr_edc(struct cphy *phy)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
304
err = set_phy_regs(phy, regs);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
310
if (phy->priv != edc_sr)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
311
err = t3_get_edc_fw(phy, EDC_OPT_AEL2005,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
317
err = t3_mdio_write(phy, MDIO_MMD_PMAPMD,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
318
phy->phy_cache[i],
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
319
phy->phy_cache[i + 1]);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
321
phy->priv = edc_sr;
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
325
static int ael2005_setup_twinax_edc(struct cphy *phy, int modtype)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
338
err = set_phy_regs(phy, regs);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
340
err = set_phy_regs(phy, preemphasis);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
346
if (phy->priv != edc_twinax)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
347
err = t3_get_edc_fw(phy, EDC_TWX_AEL2005,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
353
err = t3_mdio_write(phy, MDIO_MMD_PMAPMD,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
354
phy->phy_cache[i],
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
355
phy->phy_cache[i + 1]);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
357
phy->priv = edc_twinax;
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
361
static int ael2005_get_module_type(struct cphy *phy, int delay_ms)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
366
v = t3_mdio_read(phy, MDIO_MMD_PMAPMD, AEL2005_GPIO_CTRL, &stat);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
373
return ael2xxx_get_module_type(phy, delay_ms);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
376
static int ael2005_intr_enable(struct cphy *phy)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
378
int err = t3_mdio_write(phy, MDIO_MMD_PMAPMD, AEL2005_GPIO_CTRL, 0x200);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
379
return err ? err : t3_phy_lasi_intr_enable(phy);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
382
static int ael2005_intr_disable(struct cphy *phy)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
384
int err = t3_mdio_write(phy, MDIO_MMD_PMAPMD, AEL2005_GPIO_CTRL, 0x100);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
385
return err ? err : t3_phy_lasi_intr_disable(phy);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
388
static int ael2005_intr_clear(struct cphy *phy)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
390
int err = t3_mdio_write(phy, MDIO_MMD_PMAPMD, AEL2005_GPIO_CTRL, 0xd00);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
391
return err ? err : t3_phy_lasi_intr_clear(phy);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
394
static int ael2005_reset(struct cphy *phy, int wait)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
415
err = t3_mdio_read(phy, MDIO_MMD_PMAPMD, MDIO_PMA_LASI_CTRL,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
420
err = t3_phy_reset(phy, MDIO_MMD_PMAPMD, 0);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
425
phy->priv = edc_none;
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
426
err = set_phy_regs(phy, regs0);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
432
err = ael2005_get_module_type(phy, 0);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
435
phy->modtype = err;
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
438
err = ael2005_setup_twinax_edc(phy, err);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
440
err = ael2005_setup_sr_edc(phy);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
444
err = set_phy_regs(phy, regs1);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
450
err = ael2005_intr_enable(phy);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
454
static int ael2005_intr_handler(struct cphy *phy)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
459
ret = t3_mdio_read(phy, MDIO_MMD_PMAPMD, AEL2005_GPIO_STAT, &stat);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
464
ret = t3_mdio_write(phy, MDIO_MMD_PMAPMD, AEL2005_GPIO_CTRL,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
470
ret = ael2005_get_module_type(phy, 300);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
474
phy->modtype = ret;
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
476
edc_needed = phy->priv; /* on unplug retain EDC */
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
483
if (edc_needed != phy->priv) {
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
484
ret = ael2005_reset(phy, 0);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
490
ret = t3_phy_lasi_intr_handler(phy);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
509
int t3_ael2005_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
512
cphy_init(phy, adapter, phy_addr, &ael2005_ops, mdio_ops,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
516
return t3_mdio_change_bits(phy, MDIO_MMD_PMAPMD, AEL_OPT_SETTINGS, 0,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
523
static int ael2020_setup_sr_edc(struct cphy *phy)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
539
err = set_phy_regs(phy, regs);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
544
phy->priv = edc_sr;
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
551
static int ael2020_setup_twinax_edc(struct cphy *phy, int modtype)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
575
err = set_phy_regs(phy, uCclock40MHz);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
579
err = set_phy_regs(phy, uCclockActivate);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
584
if (phy->priv != edc_twinax)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
585
err = t3_get_edc_fw(phy, EDC_TWX_AEL2020,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
591
err = t3_mdio_write(phy, MDIO_MMD_PMAPMD,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
592
phy->phy_cache[i],
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
593
phy->phy_cache[i + 1]);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
595
err = set_phy_regs(phy, uCactivate);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
597
phy->priv = edc_twinax;
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
604
static int ael2020_get_module_type(struct cphy *phy, int delay_ms)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
609
v = t3_mdio_read(phy, MDIO_MMD_PMAPMD, AEL2020_GPIO_STAT, &stat);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
618
return ael2xxx_get_module_type(phy, delay_ms);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
625
static int ael2020_intr_enable(struct cphy *phy)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
644
err = set_phy_regs(phy, regs);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
648
err = get_link_status_r(phy, &link_ok, NULL, NULL, NULL);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
652
t3_link_changed(phy->adapter,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
653
phy2portid(phy));
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
655
err = t3_phy_lasi_intr_enable(phy);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
665
static int ael2020_intr_disable(struct cphy *phy)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
682
err = set_phy_regs(phy, regs);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
686
return t3_phy_lasi_intr_disable(phy);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
692
static int ael2020_intr_clear(struct cphy *phy)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
700
int err = t3_mdio_read(phy, MDIO_MMD_PMAPMD, AEL2020_GPIO_INTR, &stat);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
701
return err ? err : t3_phy_lasi_intr_clear(phy);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
722
static int ael2020_reset(struct cphy *phy, int wait)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
728
err = t3_mdio_read(phy, MDIO_MMD_PMAPMD, MDIO_PMA_LASI_CTRL,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
733
err = t3_phy_reset(phy, MDIO_MMD_PMAPMD, 125);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
739
phy->priv = edc_none;
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
740
err = set_phy_regs(phy, ael2020_reset_regs);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
745
err = ael2020_get_module_type(phy, 0);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
748
phy->modtype = (u8)err;
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
750
err = ael2020_setup_twinax_edc(phy, err);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
752
err = ael2020_setup_sr_edc(phy);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
758
err = ael2005_intr_enable(phy);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
765
static int ael2020_intr_handler(struct cphy *phy)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
770
ret = t3_mdio_read(phy, MDIO_MMD_PMAPMD, AEL2020_GPIO_INTR, &stat);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
776
ret = ael2020_get_module_type(phy, 300);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
780
phy->modtype = (u8)ret;
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
782
edc_needed = phy->priv; /* on unplug retain EDC */
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
789
if (edc_needed != phy->priv) {
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
790
ret = ael2020_reset(phy, 0);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
796
ret = t3_phy_lasi_intr_handler(phy);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
815
int t3_ael2020_phy_prep(struct cphy *phy, struct adapter *adapter, int phy_addr,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
818
cphy_init(phy, adapter, phy_addr, &ael2020_ops, mdio_ops,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
823
return set_phy_regs(phy, ael2020_reset_regs);
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
829
static int get_link_status_x(struct cphy *phy, int *link_ok, int *speed,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
834
int err = t3_mdio_read(phy, MDIO_MMD_PMAPMD,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
838
err = t3_mdio_read(phy, MDIO_MMD_PCS,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
84
static int set_phy_regs(struct cphy *phy, const struct reg_val *rv)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
841
err = t3_mdio_read(phy, MDIO_MMD_PHYXS,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
865
int t3_qt2045_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
870
cphy_init(phy, adapter, phy_addr, &qt2045_ops, mdio_ops,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
879
!t3_mdio_read(phy, MDIO_MMD_PMAPMD, MDIO_STAT1, &stat) &&
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
881
phy->mdio.prtad = 1;
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
885
static int xaui_direct_reset(struct cphy *phy, int wait)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
890
static int xaui_direct_get_link_status(struct cphy *phy, int *link_ok,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
895
int prtad = phy->mdio.prtad;
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
897
status = t3_read_reg(phy->adapter,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
899
t3_read_reg(phy->adapter,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
90
err = t3_mdio_write(phy, rv->mmd_addr, rv->reg_addr,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
901
t3_read_reg(phy->adapter,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
903
t3_read_reg(phy->adapter,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
914
static int xaui_direct_power_down(struct cphy *phy, int enable)
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
929
int t3_xaui_direct_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
93
err = t3_mdio_change_bits(phy, rv->mmd_addr,
drivers/net/ethernet/chelsio/cxgb3/ael1002.c
932
cphy_init(phy, adapter, phy_addr, &xaui_direct_ops, mdio_ops,
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
100
t3_mdio_read(phy, MDIO_MMD_PMAPMD, MDIO_STAT1, &v);
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
105
static int aq100x_intr_handler(struct cphy *phy)
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
110
err = t3_mdio_read(phy, MDIO_MMD_VEND1, AQ_IFLAG_GLOBAL, &cause);
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
115
t3_mdio_read(phy, MDIO_MMD_PMAPMD, MDIO_STAT1, &v);
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
120
static int aq100x_power_down(struct cphy *phy, int off)
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
122
return mdio_set_flag(&phy->mdio, phy->mdio.prtad,
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
127
static int aq100x_autoneg_enable(struct cphy *phy)
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
131
err = aq100x_power_down(phy, 0);
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
133
err = mdio_set_flag(&phy->mdio, phy->mdio.prtad,
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
140
static int aq100x_autoneg_restart(struct cphy *phy)
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
144
err = aq100x_power_down(phy, 0);
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
146
err = mdio_set_flag(&phy->mdio, phy->mdio.prtad,
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
153
static int aq100x_advertise(struct cphy *phy, unsigned int advertise_map)
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
162
err = t3_mdio_change_bits(phy, MDIO_MMD_AN, MDIO_AN_10GBT_CTRL,
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
173
err = t3_mdio_change_bits(phy, MDIO_MMD_AN, AQ_1G_CTRL,
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
188
err = t3_mdio_change_bits(phy, MDIO_MMD_AN, MDIO_AN_ADVERTISE,
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
194
static int aq100x_set_loopback(struct cphy *phy, int mmd, int dir, int enable)
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
196
return mdio_set_flag(&phy->mdio, phy->mdio.prtad,
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
201
static int aq100x_set_speed_duplex(struct cphy *phy, int speed, int duplex)
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
207
static int aq100x_get_link_status(struct cphy *phy, int *link_ok,
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
214
err = t3_mdio_read(phy, MDIO_MMD_PMAPMD, AQ_LINK_STAT, &v);
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
223
err = t3_mdio_read(phy, MDIO_MMD_AN, AQ_ANEG_STAT, &v);
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
266
int t3_aq100x_phy_prep(struct cphy *phy, struct adapter *adapter, int phy_addr,
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
272
cphy_init(phy, adapter, phy_addr, &aq100x_ops, mdio_ops,
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
292
err = t3_mdio_read(phy, MDIO_MMD_VEND1, MDIO_CTRL1, &v);
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
319
t3_mdio_read(phy, MDIO_MMD_VEND1, AQ_FW_VERSION, &v);
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
328
err = t3_mdio_read(phy, MDIO_MMD_VEND1, MDIO_CTRL1, &v);
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
332
err = t3_mdio_change_bits(phy, MDIO_MMD_VEND1, MDIO_CTRL1,
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
345
t3_mdio_read(phy, MDIO_MMD_PHYXS, AQ_XAUI_RX_CFG, &v);
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
346
t3_mdio_read(phy, MDIO_MMD_PHYXS, AQ_XAUI_TX_CFG, &v2);
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
65
static int aq100x_reset(struct cphy *phy, int wait)
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
71
int err = t3_phy_reset(phy, MDIO_MMD_VEND1, 3000);
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
74
CH_WARN(phy->adapter, "PHY%d: reset failed (0x%x).\n",
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
75
phy->mdio.prtad, err);
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
80
static int aq100x_intr_enable(struct cphy *phy)
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
82
int err = t3_mdio_write(phy, MDIO_MMD_PMAPMD, AQ_IMASK_PMA, IMASK_PMA);
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
86
err = t3_mdio_write(phy, MDIO_MMD_VEND1, AQ_IMASK_GLOBAL, IMASK_GLOBAL);
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
90
static int aq100x_intr_disable(struct cphy *phy)
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
92
return t3_mdio_write(phy, MDIO_MMD_VEND1, AQ_IMASK_GLOBAL, 0);
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
95
static int aq100x_intr_clear(struct cphy *phy)
drivers/net/ethernet/chelsio/cxgb3/aq100x.c
99
t3_mdio_read(phy, MDIO_MMD_VEND1, AQ_IFLAG_GLOBAL, &v);
drivers/net/ethernet/chelsio/cxgb3/common.h
519
int (*reset)(struct cphy *phy, int wait);
drivers/net/ethernet/chelsio/cxgb3/common.h
521
int (*intr_enable)(struct cphy *phy);
drivers/net/ethernet/chelsio/cxgb3/common.h
522
int (*intr_disable)(struct cphy *phy);
drivers/net/ethernet/chelsio/cxgb3/common.h
523
int (*intr_clear)(struct cphy *phy);
drivers/net/ethernet/chelsio/cxgb3/common.h
524
int (*intr_handler)(struct cphy *phy);
drivers/net/ethernet/chelsio/cxgb3/common.h
526
int (*autoneg_enable)(struct cphy *phy);
drivers/net/ethernet/chelsio/cxgb3/common.h
527
int (*autoneg_restart)(struct cphy *phy);
drivers/net/ethernet/chelsio/cxgb3/common.h
529
int (*advertise)(struct cphy *phy, unsigned int advertise_map);
drivers/net/ethernet/chelsio/cxgb3/common.h
530
int (*set_loopback)(struct cphy *phy, int mmd, int dir, int enable);
drivers/net/ethernet/chelsio/cxgb3/common.h
531
int (*set_speed_duplex)(struct cphy *phy, int speed, int duplex);
drivers/net/ethernet/chelsio/cxgb3/common.h
532
int (*get_link_status)(struct cphy *phy, int *link_ok, int *speed,
drivers/net/ethernet/chelsio/cxgb3/common.h
534
int (*power_down)(struct cphy *phy, int enable);
drivers/net/ethernet/chelsio/cxgb3/common.h
562
static inline int t3_mdio_read(struct cphy *phy, int mmd, int reg,
drivers/net/ethernet/chelsio/cxgb3/common.h
565
int rc = phy->mdio.mdio_read(phy->mdio.dev, phy->mdio.prtad, mmd, reg);
drivers/net/ethernet/chelsio/cxgb3/common.h
570
static inline int t3_mdio_write(struct cphy *phy, int mmd, int reg,
drivers/net/ethernet/chelsio/cxgb3/common.h
573
return phy->mdio.mdio_write(phy->mdio.dev, phy->mdio.prtad, mmd,
drivers/net/ethernet/chelsio/cxgb3/common.h
578
static inline void cphy_init(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/common.h
583
phy->caps = caps;
drivers/net/ethernet/chelsio/cxgb3/common.h
584
phy->adapter = adapter;
drivers/net/ethernet/chelsio/cxgb3/common.h
585
phy->desc = desc;
drivers/net/ethernet/chelsio/cxgb3/common.h
586
phy->ops = phy_ops;
drivers/net/ethernet/chelsio/cxgb3/common.h
588
phy->mdio.prtad = phy_addr;
drivers/net/ethernet/chelsio/cxgb3/common.h
589
phy->mdio.mmds = phy_ops->mmds;
drivers/net/ethernet/chelsio/cxgb3/common.h
590
phy->mdio.mode_support = mdio_ops->mode_support;
drivers/net/ethernet/chelsio/cxgb3/common.h
591
phy->mdio.mdio_read = mdio_ops->read;
drivers/net/ethernet/chelsio/cxgb3/common.h
592
phy->mdio.mdio_write = mdio_ops->write;
drivers/net/ethernet/chelsio/cxgb3/common.h
655
int t3_mdio_change_bits(struct cphy *phy, int mmd, int reg, unsigned int clear,
drivers/net/ethernet/chelsio/cxgb3/common.h
657
int t3_phy_reset(struct cphy *phy, int mmd, int wait);
drivers/net/ethernet/chelsio/cxgb3/common.h
658
int t3_phy_advertise(struct cphy *phy, unsigned int advert);
drivers/net/ethernet/chelsio/cxgb3/common.h
659
int t3_phy_advertise_fiber(struct cphy *phy, unsigned int advert);
drivers/net/ethernet/chelsio/cxgb3/common.h
660
int t3_set_phy_speed_duplex(struct cphy *phy, int speed, int duplex);
drivers/net/ethernet/chelsio/cxgb3/common.h
661
int t3_phy_lasi_intr_enable(struct cphy *phy);
drivers/net/ethernet/chelsio/cxgb3/common.h
662
int t3_phy_lasi_intr_disable(struct cphy *phy);
drivers/net/ethernet/chelsio/cxgb3/common.h
663
int t3_phy_lasi_intr_clear(struct cphy *phy);
drivers/net/ethernet/chelsio/cxgb3/common.h
664
int t3_phy_lasi_intr_handler(struct cphy *phy);
drivers/net/ethernet/chelsio/cxgb3/common.h
678
int t3_link_start(struct cphy *phy, struct cmac *mac, struct link_config *lc);
drivers/net/ethernet/chelsio/cxgb3/common.h
756
int t3_vsc8211_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/common.h
758
int t3_ael1002_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/common.h
760
int t3_ael1006_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/common.h
762
int t3_ael2005_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/common.h
764
int t3_ael2020_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/common.h
766
int t3_qt2045_phy_prep(struct cphy *phy, struct adapter *adapter, int phy_addr,
drivers/net/ethernet/chelsio/cxgb3/common.h
768
int t3_xaui_direct_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/common.h
770
int t3_aq100x_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1024
int t3_get_edc_fw(struct cphy *phy, int edc_idx, int size)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1026
struct adapter *adapter = phy->adapter;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1031
u16 *cache = phy->phy_cache;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1463
pi->phy.ops->power_down(&pi->phy, 1);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1708
*data++ = pi->phy.fifo_errors;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1774
p->phy.ops->autoneg_restart(&p->phy);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1824
cmd->base.phy_address = p->phy.mdio.prtad;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1908
t3_link_start(&p->phy, &p->mac, lc);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1941
t3_link_start(&p->phy, &p->mac, lc);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2548
return mdio_mii_ioctl(&pi->phy.mdio, data, cmd);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2670
if (!(p->phy.caps & SUPPORTED_IRQ) && netif_running(dev)) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
2706
t3_link_start(&p->phy, mac, &p->link_config);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
291
pi->phy.ops->power_down(&pi->phy, 1);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
295
t3_link_start(&pi->phy, mac, &pi->link_config);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
3161
ai->desc, pi->phy.desc,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
323
if (pi->phy.modtype == phy_modtype_none)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
327
mod_str[pi->phy.modtype]);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
354
t3_link_start(&pi->phy, mac, &pi->link_config);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1179
struct cphy *phy = &pi->phy;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1183
phy->ops->get_link_status(phy, &link_ok, &speed, &duplex, &fc);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1236
struct cphy *phy = &pi->phy;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1260
phy->ops->get_link_status(phy, &link_ok, &speed, &duplex, &fc);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1298
int t3_link_start(struct cphy *phy, struct cmac *mac, struct link_config *lc)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1310
phy->ops->advertise(phy, lc->advertising);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1319
phy->ops->set_speed_duplex(phy, lc->speed, lc->duplex);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1321
phy->ops->autoneg_enable(phy);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1325
phy->ops->reset(phy, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1835
if (!(p->phy.caps & SUPPORTED_IRQ))
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1839
int phy_cause = p->phy.ops->intr_handler(&p->phy);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1844
p->phy.fifo_errors++;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
1914
if ((adap2pinfo(adap, i)->phy.caps & SUPPORTED_IRQ) &&
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2053
struct cphy *phy = &adap2pinfo(adapter, idx)->phy;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2057
phy->ops->intr_enable(phy);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2070
struct cphy *phy = &adap2pinfo(adapter, idx)->phy;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2074
phy->ops->intr_disable(phy);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2087
struct cphy *phy = &adap2pinfo(adapter, idx)->phy;
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
2091
phy->ops->intr_clear(phy);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
329
int t3_mdio_change_bits(struct cphy *phy, int mmd, int reg, unsigned int clear,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
335
ret = t3_mdio_read(phy, mmd, reg, &val);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
338
ret = t3_mdio_write(phy, mmd, reg, val | set);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
353
int t3_phy_reset(struct cphy *phy, int mmd, int wait)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
358
err = t3_mdio_change_bits(phy, mmd, MDIO_CTRL1, MDIO_CTRL1_LPOWER,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
364
err = t3_mdio_read(phy, mmd, MDIO_CTRL1, &ctl);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3683
p->phy.mdio.dev = adapter->port[i];
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3684
ret = pti->phy_prep(&p->phy, adapter, ai->phy_base_addr + j,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3699
init_link_config(&p->link_config, p->phy.caps);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3700
p->phy.ops->power_down(&p->phy, 1);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3707
if (!(p->phy.caps & SUPPORTED_IRQ) &&
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3740
ret = pti->phy_prep(&p->phy, adapter, p->phy.mdio.prtad, NULL);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
3743
p->phy.ops->power_down(&p->phy, 1);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
383
int t3_phy_advertise(struct cphy *phy, unsigned int advert)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
388
err = t3_mdio_read(phy, MDIO_DEVAD_NONE, MII_CTRL1000, &val);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
398
err = t3_mdio_write(phy, MDIO_DEVAD_NONE, MII_CTRL1000, val);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
415
return t3_mdio_write(phy, MDIO_DEVAD_NONE, MII_ADVERTISE, val);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
426
int t3_phy_advertise_fiber(struct cphy *phy, unsigned int advert)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
438
return t3_mdio_write(phy, MDIO_DEVAD_NONE, MII_ADVERTISE, val);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
450
int t3_set_phy_speed_duplex(struct cphy *phy, int speed, int duplex)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
455
err = t3_mdio_read(phy, MDIO_DEVAD_NONE, MII_BMCR, &ctl);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
473
return t3_mdio_write(phy, MDIO_DEVAD_NONE, MII_BMCR, ctl);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
476
int t3_phy_lasi_intr_enable(struct cphy *phy)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
478
return t3_mdio_write(phy, MDIO_MMD_PMAPMD, MDIO_PMA_LASI_CTRL,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
482
int t3_phy_lasi_intr_disable(struct cphy *phy)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
484
return t3_mdio_write(phy, MDIO_MMD_PMAPMD, MDIO_PMA_LASI_CTRL, 0);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
487
int t3_phy_lasi_intr_clear(struct cphy *phy)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
491
return t3_mdio_read(phy, MDIO_MMD_PMAPMD, MDIO_PMA_LASI_STAT, &val);
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
494
int t3_phy_lasi_intr_handler(struct cphy *phy)
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
497
int err = t3_mdio_read(phy, MDIO_MMD_PMAPMD, MDIO_PMA_LASI_STAT,
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
549
int (*phy_prep)(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/vsc8211.c
278
static int vsc8211_set_automdi(struct cphy *phy, int enable)
drivers/net/ethernet/chelsio/cxgb3/vsc8211.c
282
err = t3_mdio_write(phy, MDIO_DEVAD_NONE, VSC8211_EXT_PAGE_AXS, 0x52b5);
drivers/net/ethernet/chelsio/cxgb3/vsc8211.c
286
err = t3_mdio_write(phy, MDIO_DEVAD_NONE, 18, 0x12);
drivers/net/ethernet/chelsio/cxgb3/vsc8211.c
290
err = t3_mdio_write(phy, MDIO_DEVAD_NONE, 17, enable ? 0x2803 : 0x3003);
drivers/net/ethernet/chelsio/cxgb3/vsc8211.c
294
err = t3_mdio_write(phy, MDIO_DEVAD_NONE, 16, 0x87fa);
drivers/net/ethernet/chelsio/cxgb3/vsc8211.c
298
err = t3_mdio_write(phy, MDIO_DEVAD_NONE, VSC8211_EXT_PAGE_AXS, 0);
drivers/net/ethernet/chelsio/cxgb3/vsc8211.c
305
int vsc8211_set_speed_duplex(struct cphy *phy, int speed, int duplex)
drivers/net/ethernet/chelsio/cxgb3/vsc8211.c
309
err = t3_set_phy_speed_duplex(phy, speed, duplex);
drivers/net/ethernet/chelsio/cxgb3/vsc8211.c
311
err = vsc8211_set_automdi(phy, 1);
drivers/net/ethernet/chelsio/cxgb3/vsc8211.c
367
int t3_vsc8211_phy_prep(struct cphy *phy, struct adapter *adapter,
drivers/net/ethernet/chelsio/cxgb3/vsc8211.c
373
cphy_init(phy, adapter, phy_addr, &vsc8211_ops, mdio_ops,
drivers/net/ethernet/chelsio/cxgb3/vsc8211.c
379
err = t3_mdio_read(phy, MDIO_DEVAD_NONE, VSC8211_EXT_CTRL, &val);
drivers/net/ethernet/chelsio/cxgb3/vsc8211.c
384
return t3_mdio_write(phy, MDIO_DEVAD_NONE, VSC8211_LED_CTRL,
drivers/net/ethernet/chelsio/cxgb3/vsc8211.c
388
phy->caps = SUPPORTED_1000baseT_Full | SUPPORTED_Autoneg |
drivers/net/ethernet/chelsio/cxgb3/vsc8211.c
390
phy->desc = "1000BASE-X";
drivers/net/ethernet/chelsio/cxgb3/vsc8211.c
391
phy->ops = &vsc8211_fiber_ops;
drivers/net/ethernet/chelsio/cxgb3/vsc8211.c
393
err = t3_mdio_write(phy, MDIO_DEVAD_NONE, VSC8211_EXT_PAGE_AXS, 1);
drivers/net/ethernet/chelsio/cxgb3/vsc8211.c
397
err = t3_mdio_write(phy, MDIO_DEVAD_NONE, VSC8211_SIGDET_CTRL, 1);
drivers/net/ethernet/chelsio/cxgb3/vsc8211.c
401
err = t3_mdio_write(phy, MDIO_DEVAD_NONE, VSC8211_EXT_PAGE_AXS, 0);
drivers/net/ethernet/chelsio/cxgb3/vsc8211.c
405
err = t3_mdio_write(phy, MDIO_DEVAD_NONE, VSC8211_EXT_CTRL,
drivers/net/ethernet/chelsio/cxgb3/vsc8211.c
410
err = vsc8211_reset(phy, 0);
drivers/net/ethernet/cortina/gemini.c
362
struct phy_device *phy;
drivers/net/ethernet/cortina/gemini.c
364
phy = of_phy_get_and_connect(netdev,
drivers/net/ethernet/cortina/gemini.c
367
if (!phy)
drivers/net/ethernet/cortina/gemini.c
369
netdev->phydev = phy;
drivers/net/ethernet/cortina/gemini.c
371
phy_set_max_speed(phy, SPEED_1000);
drivers/net/ethernet/cortina/gemini.c
372
phy_support_asym_pause(phy);
drivers/net/ethernet/cortina/gemini.c
375
switch (phy->interface) {
drivers/net/ethernet/cortina/gemini.c
396
phy_disconnect(phy);
drivers/net/ethernet/cortina/gemini.c
403
phy_attached_info(phy);
drivers/net/ethernet/dec/tulip/media.c
456
int phy = phyn & 0x1f;
drivers/net/ethernet/dec/tulip/media.c
457
int mii_status = tulip_mdio_read (dev, phy, MII_BMSR);
drivers/net/ethernet/dec/tulip/media.c
466
mii_reg0 = tulip_mdio_read (dev, phy, MII_BMCR);
drivers/net/ethernet/dec/tulip/media.c
467
mii_advert = tulip_mdio_read (dev, phy, MII_ADVERTISE);
drivers/net/ethernet/dec/tulip/media.c
475
unsigned int tmpadv = tulip_mdio_read (dev, phy, MII_BMSR);
drivers/net/ethernet/dec/tulip/media.c
490
tp->phys[phy_idx++] = phy;
drivers/net/ethernet/dec/tulip/media.c
493
board_idx, phy, mii_reg0, mii_status, mii_advert);
drivers/net/ethernet/dec/tulip/media.c
498
board_idx, to_advert, phy, mii_advert);
drivers/net/ethernet/dec/tulip/media.c
499
tulip_mdio_write (dev, phy, 4, to_advert);
drivers/net/ethernet/dec/tulip/media.c
535
tulip_mdio_write (dev, phy, MII_BMCR, new_bmcr);
drivers/net/ethernet/dec/tulip/media.c
538
tulip_mdio_write (dev, phy, MII_BMCR, new_bmcr);
drivers/net/ethernet/dec/tulip/tulip_core.c
903
int phy = tp->phys[phy_idx] & 0x1f;
drivers/net/ethernet/dec/tulip/tulip_core.c
909
data->phy_id = phy;
drivers/net/ethernet/dec/tulip/tulip_core.c
956
if (data->phy_id == phy) {
drivers/net/ethernet/dec/tulip/uli526x.c
1019
struct uli_phy_ops *phy = &db->phy;
drivers/net/ethernet/dec/tulip/uli526x.c
1061
if ((phy->read(db, db->phy_addr, 5) & 0x01e0)!=0)
drivers/net/ethernet/dec/tulip/uli526x.c
1074
phy->write(db, db->phy_addr, 0, 0x1000);
drivers/net/ethernet/dec/tulip/uli526x.c
122
} phy;
drivers/net/ethernet/dec/tulip/uli526x.c
1477
struct uli_phy_ops *phy = &db->phy;
drivers/net/ethernet/dec/tulip/uli526x.c
1481
phy_mode = phy->read(db, db->phy_addr, 1);
drivers/net/ethernet/dec/tulip/uli526x.c
1482
phy_mode = phy->read(db, db->phy_addr, 1);
drivers/net/ethernet/dec/tulip/uli526x.c
1486
phy_mode = ((phy->read(db, db->phy_addr, 5) & 0x01e0)<<7);
drivers/net/ethernet/dec/tulip/uli526x.c
1521
struct uli_phy_ops *phy = &db->phy;
drivers/net/ethernet/dec/tulip/uli526x.c
1525
phy_reg = phy->read(db, db->phy_addr, 4) & ~0x01e0;
drivers/net/ethernet/dec/tulip/uli526x.c
1546
phy->write(db, db->phy_addr, 4, phy_reg);
drivers/net/ethernet/dec/tulip/uli526x.c
1549
phy->write(db, db->phy_addr, 0, 0x1200);
drivers/net/ethernet/dec/tulip/uli526x.c
1563
struct uli_phy_ops *phy = &db->phy;
drivers/net/ethernet/dec/tulip/uli526x.c
1577
phy_reg = phy->read(db, db->phy_addr, 6);
drivers/net/ethernet/dec/tulip/uli526x.c
1587
phy->write(db, db->phy_addr, 0, phy_reg);
drivers/net/ethernet/dec/tulip/uli526x.c
340
db->phy.write = phy_writeby_cr10;
drivers/net/ethernet/dec/tulip/uli526x.c
341
db->phy.read = phy_readby_cr10;
drivers/net/ethernet/dec/tulip/uli526x.c
344
db->phy.write = phy_writeby_cr9;
drivers/net/ethernet/dec/tulip/uli526x.c
345
db->phy.read = phy_readby_cr9;
drivers/net/ethernet/dec/tulip/uli526x.c
503
struct uli_phy_ops *phy = &db->phy;
drivers/net/ethernet/dec/tulip/uli526x.c
523
phy_value = phy->read(db, phy_tmp, 3); //peer add
drivers/net/ethernet/dec/tulip/uli526x.c
536
phy_reg_reset = phy->read(db, db->phy_addr, 0);
drivers/net/ethernet/dec/tulip/uli526x.c
538
phy->write(db, db->phy_addr, 0, phy_reg_reset);
drivers/net/ethernet/dec/tulip/uli526x.c
545
while (timeout-- && phy->read(db, db->phy_addr, 0) & 0x8000)
drivers/net/ethernet/dec/tulip/uli526x.c
664
db->phy.write(db, db->phy_addr, 0, 0x8000);
drivers/net/ethernet/dec/tulip/winbond-840.c
436
int phy, phy_idx = 0;
drivers/net/ethernet/dec/tulip/winbond-840.c
437
for (phy = 1; phy < 32 && phy_idx < MII_CNT; phy++) {
drivers/net/ethernet/dec/tulip/winbond-840.c
438
int mii_status = mdio_read(dev, phy, MII_BMSR);
drivers/net/ethernet/dec/tulip/winbond-840.c
440
np->phys[phy_idx++] = phy;
drivers/net/ethernet/dec/tulip/winbond-840.c
441
np->mii_if.advertising = mdio_read(dev, phy, MII_ADVERTISE);
drivers/net/ethernet/dec/tulip/winbond-840.c
442
np->mii = (mdio_read(dev, phy, MII_PHYSID1) << 16)+
drivers/net/ethernet/dec/tulip/winbond-840.c
443
mdio_read(dev, phy, MII_PHYSID2);
drivers/net/ethernet/dec/tulip/winbond-840.c
446
np->mii, phy, mii_status,
drivers/net/ethernet/dlink/sundance.c
510
int phy, phy_end, phy_idx = 0;
drivers/net/ethernet/dlink/sundance.c
594
phy = 0;
drivers/net/ethernet/dlink/sundance.c
597
phy = 1;
drivers/net/ethernet/dlink/sundance.c
600
for (; phy <= phy_end && phy_idx < MII_CNT; phy++) {
drivers/net/ethernet/dlink/sundance.c
601
int phyx = phy & 0x1f;
drivers/net/ethernet/emulex/benet/be.h
656
struct phy_info phy;
drivers/net/ethernet/emulex/benet/be_cmds.c
2421
switch (adapter->phy.interface_type) {
drivers/net/ethernet/emulex/benet/be_cmds.c
2423
adapter->phy.cable_type =
drivers/net/ethernet/emulex/benet/be_cmds.c
2427
adapter->phy.cable_type =
drivers/net/ethernet/emulex/benet/be_cmds.c
2431
adapter->phy.cable_type = 0;
drivers/net/ethernet/emulex/benet/be_cmds.c
2446
strscpy(adapter->phy.vendor_name, page_data +
drivers/net/ethernet/emulex/benet/be_cmds.c
2448
strscpy(adapter->phy.vendor_pn,
drivers/net/ethernet/emulex/benet/be_cmds.c
2626
return (adapter->phy.phy_type == PHY_TYPE_TN_8022 &&
drivers/net/ethernet/emulex/benet/be_cmds.c
2627
adapter->phy.interface_type == PHY_TYPE_BASET_10GB);
drivers/net/ethernet/emulex/benet/be_cmds.c
291
adapter->phy.link_speed = -1;
drivers/net/ethernet/emulex/benet/be_cmds.c
3458
adapter->phy.phy_type = le16_to_cpu(resp_phy_info->phy_type);
drivers/net/ethernet/emulex/benet/be_cmds.c
3459
adapter->phy.interface_type =
drivers/net/ethernet/emulex/benet/be_cmds.c
3461
adapter->phy.auto_speeds_supported =
drivers/net/ethernet/emulex/benet/be_cmds.c
3463
adapter->phy.fixed_speeds_supported =
drivers/net/ethernet/emulex/benet/be_cmds.c
3465
adapter->phy.misc_params =
drivers/net/ethernet/emulex/benet/be_cmds.c
3469
adapter->phy.fixed_speeds_supported =
drivers/net/ethernet/emulex/benet/be_cmds.c
388
if (adapter->phy.link_speed >= 0 &&
drivers/net/ethernet/emulex/benet/be_cmds.c
390
adapter->phy.link_speed = le16_to_cpu(evt->qos_link_speed) * 10;
drivers/net/ethernet/emulex/benet/be_ethtool.c
491
switch (adapter->phy.interface_type) {
drivers/net/ethernet/emulex/benet/be_ethtool.c
498
if (adapter->phy.cable_type & SFP_PLUS_COPPER_CABLE)
drivers/net/ethernet/emulex/benet/be_ethtool.c
504
if (adapter->phy.cable_type & QSFP_PLUS_CR4_CABLE)
drivers/net/ethernet/emulex/benet/be_ethtool.c
527
switch (adapter->phy.interface_type) {
drivers/net/ethernet/emulex/benet/be_ethtool.c
566
switch (adapter->phy.cable_type) {
drivers/net/ethernet/emulex/benet/be_ethtool.c
606
return (adapter->phy.interface_type == PHY_TYPE_SFP_PLUS_10GB ||
drivers/net/ethernet/emulex/benet/be_ethtool.c
607
adapter->phy.interface_type == PHY_TYPE_XFP_10GB) ?
drivers/net/ethernet/emulex/benet/be_ethtool.c
622
if (adapter->phy.link_speed < 0) {
drivers/net/ethernet/emulex/benet/be_ethtool.c
631
auto_speeds = adapter->phy.auto_speeds_supported;
drivers/net/ethernet/emulex/benet/be_ethtool.c
632
fixed_speeds = adapter->phy.fixed_speeds_supported;
drivers/net/ethernet/emulex/benet/be_ethtool.c
645
if (adapter->phy.auto_speeds_supported) {
drivers/net/ethernet/emulex/benet/be_ethtool.c
660
adapter->phy.link_speed = cmd->base.speed;
drivers/net/ethernet/emulex/benet/be_ethtool.c
661
adapter->phy.port_type = cmd->base.port;
drivers/net/ethernet/emulex/benet/be_ethtool.c
662
adapter->phy.autoneg = cmd->base.autoneg;
drivers/net/ethernet/emulex/benet/be_ethtool.c
663
adapter->phy.advertising = advertising;
drivers/net/ethernet/emulex/benet/be_ethtool.c
664
adapter->phy.supported = supported;
drivers/net/ethernet/emulex/benet/be_ethtool.c
666
cmd->base.speed = adapter->phy.link_speed;
drivers/net/ethernet/emulex/benet/be_ethtool.c
667
cmd->base.port = adapter->phy.port_type;
drivers/net/ethernet/emulex/benet/be_ethtool.c
668
cmd->base.autoneg = adapter->phy.autoneg;
drivers/net/ethernet/emulex/benet/be_ethtool.c
669
advertising = adapter->phy.advertising;
drivers/net/ethernet/emulex/benet/be_ethtool.c
670
supported = adapter->phy.supported;
drivers/net/ethernet/emulex/benet/be_ethtool.c
704
ecmd->autoneg = adapter->phy.fc_autoneg;
drivers/net/ethernet/emulex/benet/be_ethtool.c
713
if (ecmd->autoneg != adapter->phy.fc_autoneg)
drivers/net/ethernet/emulex/benet/be_main.c
4405
adapter->phy.link_speed = -1;
drivers/net/ethernet/emulex/benet/be_main.c
4911
adapter->phy.fc_autoneg = 1;
drivers/net/ethernet/emulex/benet/be_main.c
5477
adapter->phy.vendor_name,
drivers/net/ethernet/emulex/benet/be_main.c
5478
adapter->phy.vendor_pn);
drivers/net/ethernet/ethoc.c
119
#define MIIADDRESS_ADDR(phy, reg) (MIIADDRESS_FIAD(phy) | \
drivers/net/ethernet/ethoc.c
625
static int ethoc_mdio_read(struct mii_bus *bus, int phy, int reg)
drivers/net/ethernet/ethoc.c
630
ethoc_write(priv, MIIADDRESS, MIIADDRESS_ADDR(phy, reg));
drivers/net/ethernet/ethoc.c
647
static int ethoc_mdio_write(struct mii_bus *bus, int phy, int reg, u16 val)
drivers/net/ethernet/ethoc.c
652
ethoc_write(priv, MIIADDRESS, MIIADDRESS_ADDR(phy, reg));
drivers/net/ethernet/ethoc.c
702
struct phy_device *phy;
drivers/net/ethernet/ethoc.c
706
phy = mdiobus_get_phy(priv->mdio, priv->phy_id);
drivers/net/ethernet/ethoc.c
708
phy = phy_find_first(priv->mdio);
drivers/net/ethernet/ethoc.c
710
if (!phy)
drivers/net/ethernet/ethoc.c
716
err = phy_connect_direct(dev, phy, ethoc_mdio_poll,
drivers/net/ethernet/ethoc.c
721
phy_set_max_speed(phy, SPEED_100);
drivers/net/ethernet/ethoc.c
784
struct phy_device *phy = NULL;
drivers/net/ethernet/ethoc.c
793
phy = mdiobus_get_phy(priv->mdio, mdio->phy_id);
drivers/net/ethernet/ethoc.c
794
if (!phy)
drivers/net/ethernet/ethoc.c
797
phy = dev->phydev;
drivers/net/ethernet/ethoc.c
800
return phy_mii_ioctl(phy, ifr, cmd);
drivers/net/ethernet/faraday/ftgmac100.c
1895
struct phy_device *phy;
drivers/net/ethernet/faraday/ftgmac100.c
1909
phy = of_phy_get_and_connect(priv->netdev, np,
drivers/net/ethernet/faraday/ftgmac100.c
1911
if (!phy) {
drivers/net/ethernet/faraday/ftgmac100.c
1919
phy_support_asym_pause(phy);
drivers/net/ethernet/faraday/ftgmac100.c
1922
phy_attached_info(phy);
drivers/net/ethernet/fealnx.c
568
int phy, phy_idx = 0;
drivers/net/ethernet/fealnx.c
570
for (phy = 1; phy < 32 && phy_idx < ARRAY_SIZE(np->phys);
drivers/net/ethernet/fealnx.c
571
phy++) {
drivers/net/ethernet/fealnx.c
572
int mii_status = mdio_read(dev, phy, 1);
drivers/net/ethernet/fealnx.c
575
np->phys[phy_idx++] = phy;
drivers/net/ethernet/fealnx.c
578
"0x%4.4x.\n", phy, mii_status);
drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c
194
struct phy_device *phy,
drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c
366
struct phy *serdes_phy = NULL;
drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.h
30
struct phy *serdes_phy;
drivers/net/ethernet/freescale/enetc/enetc4_pf.c
905
struct phy_device *phy, unsigned int mode,
drivers/net/ethernet/freescale/enetc/enetc_pf.c
684
struct phy_device *phy, unsigned int mode,
drivers/net/ethernet/freescale/fec_main.c
5292
fep->phy_interface = pdata->phy;
drivers/net/ethernet/freescale/fman/fman_dtsec.c
929
static void dtsec_link_up(struct phylink_config *config, struct phy_device *phy,
drivers/net/ethernet/freescale/fman/fman_memac.c
292
struct phy *serdes;
drivers/net/ethernet/freescale/fman/fman_memac.c
714
static void memac_link_up(struct phylink_config *config, struct phy_device *phy,
drivers/net/ethernet/freescale/fman/fman_tgec.c
439
static void tgec_link_up(struct phylink_config *config, struct phy_device *phy,
drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
624
struct phy_device *phy,
drivers/net/ethernet/freescale/ucc_geth.c
1486
static void ugeth_mac_link_up(struct phylink_config *config, struct phy_device *phy,
drivers/net/ethernet/hisilicon/hip04_eth.c
1029
if (priv->phy)
drivers/net/ethernet/hisilicon/hip04_eth.c
1030
phy_disconnect(priv->phy);
drivers/net/ethernet/hisilicon/hip04_eth.c
243
struct phy_device *phy;
drivers/net/ethernet/hisilicon/hip04_eth.c
715
struct phy_device *phy = priv->phy;
drivers/net/ethernet/hisilicon/hip04_eth.c
717
if ((priv->speed != phy->speed) || (priv->duplex != phy->duplex)) {
drivers/net/ethernet/hisilicon/hip04_eth.c
718
hip04_config_port(ndev, phy->speed, phy->duplex);
drivers/net/ethernet/hisilicon/hip04_eth.c
719
phy_print_status(phy);
drivers/net/ethernet/hisilicon/hip04_eth.c
746
if (priv->phy)
drivers/net/ethernet/hisilicon/hip04_eth.c
747
phy_start(priv->phy);
drivers/net/ethernet/hisilicon/hip04_eth.c
768
if (priv->phy)
drivers/net/ethernet/hisilicon/hip04_eth.c
769
phy_stop(priv->phy);
drivers/net/ethernet/hisilicon/hip04_eth.c
976
priv->phy = of_phy_connect(ndev, priv->phy_node,
drivers/net/ethernet/hisilicon/hip04_eth.c
979
if (!priv->phy) {
drivers/net/ethernet/hisilicon/hisi_femac.c
192
struct phy_device *phy = dev->phydev;
drivers/net/ethernet/hisilicon/hisi_femac.c
195
if (phy->link)
drivers/net/ethernet/hisilicon/hisi_femac.c
197
if (phy->duplex == DUPLEX_FULL)
drivers/net/ethernet/hisilicon/hisi_femac.c
199
if (phy->speed == SPEED_100)
drivers/net/ethernet/hisilicon/hisi_femac.c
206
phy_print_status(phy);
drivers/net/ethernet/hisilicon/hisi_femac.c
774
struct phy_device *phy;
drivers/net/ethernet/hisilicon/hisi_femac.c
833
phy = of_phy_get_and_connect(ndev, node, hisi_femac_adjust_link);
drivers/net/ethernet/hisilicon/hisi_femac.c
834
if (!phy) {
drivers/net/ethernet/hisilicon/hisi_femac.c
840
phy_attached_print(phy, "phy_id=0x%.8lx, phy_mode=%s\n",
drivers/net/ethernet/hisilicon/hisi_femac.c
841
(unsigned long)phy->phy_id,
drivers/net/ethernet/hisilicon/hisi_femac.c
842
phy_modes(phy->interface));
drivers/net/ethernet/hisilicon/hisi_femac.c
887
phy_disconnect(phy);
drivers/net/ethernet/hisilicon/hix5hd2_gmac.c
457
struct phy_device *phy = dev->phydev;
drivers/net/ethernet/hisilicon/hix5hd2_gmac.c
459
if ((priv->speed != phy->speed) || (priv->duplex != phy->duplex)) {
drivers/net/ethernet/hisilicon/hix5hd2_gmac.c
460
hix5hd2_config_port(dev, phy->speed, phy->duplex);
drivers/net/ethernet/hisilicon/hix5hd2_gmac.c
461
phy_print_status(phy);
drivers/net/ethernet/hisilicon/hix5hd2_gmac.c
829
struct phy_device *phy;
drivers/net/ethernet/hisilicon/hix5hd2_gmac.c
845
phy = of_phy_connect(dev, priv->phy_node,
drivers/net/ethernet/hisilicon/hix5hd2_gmac.c
847
if (!phy) {
drivers/net/ethernet/hisilicon/hix5hd2_gmac.c
853
phy_start(phy);
drivers/net/ethernet/hisilicon/hix5hd2_gmac.c
933
static int hix5hd2_mdio_read(struct mii_bus *bus, int phy, int reg)
drivers/net/ethernet/hisilicon/hix5hd2_gmac.c
943
writel_relaxed(MDIO_READ | phy << 8 | reg, base + MDIO_SINGLE_CMD);
drivers/net/ethernet/hisilicon/hix5hd2_gmac.c
961
static int hix5hd2_mdio_write(struct mii_bus *bus, int phy, int reg, u16 val)
drivers/net/ethernet/hisilicon/hix5hd2_gmac.c
972
writel_relaxed(MDIO_WRITE | phy << 8 | reg, base + MDIO_SINGLE_CMD);
drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c
719
struct phy_device *phy;
drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c
736
phy = get_phy_device(mdio, addr, is_c45);
drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c
737
if (IS_ERR_OR_NULL(phy))
drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c
740
phy->irq = mdio->irq[addr];
drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c
745
rc = phy_device_register(phy);
drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c
747
phy_device_free(phy);
drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c
753
mac_cb->phy_dev = phy;
drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
1141
struct phy_device *phy = netdev->phydev;
drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
1146
if (!phy)
drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
1149
if (phy->autoneg != AUTONEG_ENABLE)
drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
1152
return genphy_restart_aneg(phy);
drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
1321
struct phy_device *phy = netdev->phydev;
drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
1343
"nway reset (using %s)\n", phy ? "phy" : "mac");
drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
1345
if (phy)
drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
1346
return genphy_restart_aneg(phy);
drivers/net/ethernet/ibm/emac/core.c
1208
dev->ndev->name, dev->phy.speed,
drivers/net/ethernet/ibm/emac/core.c
1209
dev->phy.duplex == DUPLEX_FULL ? "FDX" : "HDX",
drivers/net/ethernet/ibm/emac/core.c
1210
dev->phy.pause ? ", pause enabled" :
drivers/net/ethernet/ibm/emac/core.c
1211
dev->phy.asym_pause ? ", asymmetric pause enabled" : "");
drivers/net/ethernet/ibm/emac/core.c
1241
if (dev->phy.address >= 0) {
drivers/net/ethernet/ibm/emac/core.c
1243
if (dev->phy.def->ops->poll_link(&dev->phy)) {
drivers/net/ethernet/ibm/emac/core.c
1244
dev->phy.def->ops->read_link(&dev->phy);
drivers/net/ethernet/ibm/emac/core.c
1308
return speed != dev->phy.speed || duplex != dev->phy.duplex ||
drivers/net/ethernet/ibm/emac/core.c
1309
pause != dev->phy.pause || asym_pause != dev->phy.asym_pause;
drivers/net/ethernet/ibm/emac/core.c
1326
if (dev->phy.def->ops->poll_link(&dev->phy)) {
drivers/net/ethernet/ibm/emac/core.c
1330
dev->phy.def->ops->read_link(&dev->phy);
drivers/net/ethernet/ibm/emac/core.c
1372
if (dev->phy.address >= 0) {
drivers/net/ethernet/ibm/emac/core.c
2024
supported = dev->phy.features;
drivers/net/ethernet/ibm/emac/core.c
2026
cmd->base.phy_address = dev->phy.address;
drivers/net/ethernet/ibm/emac/core.c
2029
advertising = dev->phy.advertising;
drivers/net/ethernet/ibm/emac/core.c
2030
cmd->base.autoneg = dev->phy.autoneg;
drivers/net/ethernet/ibm/emac/core.c
2031
cmd->base.speed = dev->phy.speed;
drivers/net/ethernet/ibm/emac/core.c
2032
cmd->base.duplex = dev->phy.duplex;
drivers/net/ethernet/ibm/emac/core.c
2048
u32 f = dev->phy.features;
drivers/net/ethernet/ibm/emac/core.c
2058
if (dev->phy.address < 0)
drivers/net/ethernet/ibm/emac/core.c
2099
dev->phy.def->ops->setup_forced(&dev->phy, cmd->base.speed,
drivers/net/ethernet/ibm/emac/core.c
2108
dev->phy.def->ops->setup_aneg(&dev->phy,
drivers/net/ethernet/ibm/emac/core.c
2110
(dev->phy.advertising &
drivers/net/ethernet/ibm/emac/core.c
2136
if ((dev->phy.features & SUPPORTED_Autoneg) &&
drivers/net/ethernet/ibm/emac/core.c
2137
(dev->phy.advertising & (ADVERTISED_Pause | ADVERTISED_Asym_Pause)))
drivers/net/ethernet/ibm/emac/core.c
2140
if (dev->phy.duplex == DUPLEX_FULL) {
drivers/net/ethernet/ibm/emac/core.c
2141
if (dev->phy.pause)
drivers/net/ethernet/ibm/emac/core.c
2143
else if (dev->phy.asym_pause)
drivers/net/ethernet/ibm/emac/core.c
2220
if (dev->phy.address < 0)
drivers/net/ethernet/ibm/emac/core.c
2224
if (!dev->phy.autoneg) {
drivers/net/ethernet/ibm/emac/core.c
2229
dev->phy.def->ops->setup_aneg(&dev->phy, dev->phy.advertising);
drivers/net/ethernet/ibm/emac/core.c
2300
if (dev->phy.address < 0)
drivers/net/ethernet/ibm/emac/core.c
2305
data->phy_id = dev->phy.address;
drivers/net/ethernet/ibm/emac/core.c
2308
data->val_out = emac_mdio_read(ndev, dev->phy.address,
drivers/net/ethernet/ibm/emac/core.c
2313
emac_mdio_write(ndev, dev->phy.address, data->reg_num,
drivers/net/ethernet/ibm/emac/core.c
2436
struct phy_device *phy = ndev->phydev;
drivers/net/ethernet/ibm/emac/core.c
2438
dev->phy.autoneg = phy->autoneg;
drivers/net/ethernet/ibm/emac/core.c
2439
dev->phy.speed = phy->speed;
drivers/net/ethernet/ibm/emac/core.c
2440
dev->phy.duplex = phy->duplex;
drivers/net/ethernet/ibm/emac/core.c
2441
dev->phy.pause = phy->pause;
drivers/net/ethernet/ibm/emac/core.c
2442
dev->phy.asym_pause = phy->asym_pause;
drivers/net/ethernet/ibm/emac/core.c
2443
ethtool_convert_link_mode_to_legacy_u32(&dev->phy.advertising,
drivers/net/ethernet/ibm/emac/core.c
2444
phy->advertising);
drivers/net/ethernet/ibm/emac/core.c
2473
static int emac_mdio_phy_start_aneg(struct mii_phy *phy,
drivers/net/ethernet/ibm/emac/core.c
2476
phy_dev->autoneg = phy->autoneg;
drivers/net/ethernet/ibm/emac/core.c
2477
phy_dev->speed = phy->speed;
drivers/net/ethernet/ibm/emac/core.c
2478
phy_dev->duplex = phy->duplex;
drivers/net/ethernet/ibm/emac/core.c
2480
phy->advertising);
drivers/net/ethernet/ibm/emac/core.c
2484
static int emac_mdio_setup_aneg(struct mii_phy *phy, u32 advertise)
drivers/net/ethernet/ibm/emac/core.c
2486
struct net_device *ndev = phy->dev;
drivers/net/ethernet/ibm/emac/core.c
2488
phy->autoneg = AUTONEG_ENABLE;
drivers/net/ethernet/ibm/emac/core.c
2489
phy->advertising = advertise;
drivers/net/ethernet/ibm/emac/core.c
2490
return emac_mdio_phy_start_aneg(phy, ndev->phydev);
drivers/net/ethernet/ibm/emac/core.c
2493
static int emac_mdio_setup_forced(struct mii_phy *phy, int speed, int fd)
drivers/net/ethernet/ibm/emac/core.c
2495
struct net_device *ndev = phy->dev;
drivers/net/ethernet/ibm/emac/core.c
2497
phy->autoneg = AUTONEG_DISABLE;
drivers/net/ethernet/ibm/emac/core.c
2498
phy->speed = speed;
drivers/net/ethernet/ibm/emac/core.c
2499
phy->duplex = fd;
drivers/net/ethernet/ibm/emac/core.c
2500
return emac_mdio_phy_start_aneg(phy, ndev->phydev);
drivers/net/ethernet/ibm/emac/core.c
2503
static int emac_mdio_poll_link(struct mii_phy *phy)
drivers/net/ethernet/ibm/emac/core.c
2505
struct net_device *ndev = phy->dev;
drivers/net/ethernet/ibm/emac/core.c
2518
static int emac_mdio_read_link(struct mii_phy *phy)
drivers/net/ethernet/ibm/emac/core.c
2520
struct net_device *ndev = phy->dev;
drivers/net/ethernet/ibm/emac/core.c
2528
phy->speed = phy_dev->speed;
drivers/net/ethernet/ibm/emac/core.c
2529
phy->duplex = phy_dev->duplex;
drivers/net/ethernet/ibm/emac/core.c
2530
phy->pause = phy_dev->pause;
drivers/net/ethernet/ibm/emac/core.c
2531
phy->asym_pause = phy_dev->asym_pause;
drivers/net/ethernet/ibm/emac/core.c
2535
static int emac_mdio_init_phy(struct mii_phy *phy)
drivers/net/ethernet/ibm/emac/core.c
2537
struct net_device *ndev = phy->dev;
drivers/net/ethernet/ibm/emac/core.c
2592
dev->phy.def = devm_kzalloc(&dev->ofdev->dev, sizeof(*dev->phy.def),
drivers/net/ethernet/ibm/emac/core.c
2594
if (!dev->phy.def)
drivers/net/ethernet/ibm/emac/core.c
2604
dev->phy.def->phy_id = phy_dev->drv->phy_id;
drivers/net/ethernet/ibm/emac/core.c
2605
dev->phy.def->phy_id_mask = phy_dev->drv->phy_id_mask;
drivers/net/ethernet/ibm/emac/core.c
2606
dev->phy.def->name = phy_dev->drv->name;
drivers/net/ethernet/ibm/emac/core.c
2607
dev->phy.def->ops = &emac_dt_mdio_phy_ops;
drivers/net/ethernet/ibm/emac/core.c
2608
ethtool_convert_link_mode_to_legacy_u32(&dev->phy.features,
drivers/net/ethernet/ibm/emac/core.c
2610
dev->phy.address = phy_dev->mdio.addr;
drivers/net/ethernet/ibm/emac/core.c
2611
dev->phy.mode = phy_dev->interface;
drivers/net/ethernet/ibm/emac/core.c
2641
dev->phy.dev = ndev;
drivers/net/ethernet/ibm/emac/core.c
2642
dev->phy.mode = dev->phy_mode;
drivers/net/ethernet/ibm/emac/core.c
2650
dev->phy.address = -1;
drivers/net/ethernet/ibm/emac/core.c
2651
dev->phy.features = SUPPORTED_MII;
drivers/net/ethernet/ibm/emac/core.c
2653
dev->phy.features |= SUPPORTED_1000baseT_Full;
drivers/net/ethernet/ibm/emac/core.c
2655
dev->phy.features |= SUPPORTED_100baseT_Full;
drivers/net/ethernet/ibm/emac/core.c
2656
dev->phy.pause = 1;
drivers/net/ethernet/ibm/emac/core.c
2679
dev->phy.mdio_read = emac_mdio_read;
drivers/net/ethernet/ibm/emac/core.c
2680
dev->phy.mdio_write = emac_mdio_write;
drivers/net/ethernet/ibm/emac/core.c
2698
if (emac_phy_gpcs(dev->phy.mode)) {
drivers/net/ethernet/ibm/emac/core.c
2707
dev->phy.gpcs_address = dev->gpcs_address;
drivers/net/ethernet/ibm/emac/core.c
2708
if (dev->phy.gpcs_address == 0xffffffff)
drivers/net/ethernet/ibm/emac/core.c
2709
dev->phy.address = dev->cell_index;
drivers/net/ethernet/ibm/emac/core.c
2749
if (!emac_mii_phy_probe(&dev->phy, i))
drivers/net/ethernet/ibm/emac/core.c
2766
if (dev->phy.def->ops->init)
drivers/net/ethernet/ibm/emac/core.c
2767
dev->phy.def->ops->init(&dev->phy);
drivers/net/ethernet/ibm/emac/core.c
2770
dev->phy.def->features &= ~dev->phy_feat_exc;
drivers/net/ethernet/ibm/emac/core.c
2771
dev->phy.features &= ~dev->phy_feat_exc;
drivers/net/ethernet/ibm/emac/core.c
2774
if (dev->phy.features & SUPPORTED_Autoneg) {
drivers/net/ethernet/ibm/emac/core.c
2775
adv = dev->phy.features;
drivers/net/ethernet/ibm/emac/core.c
2779
dev->phy.def->ops->setup_aneg(&dev->phy, adv);
drivers/net/ethernet/ibm/emac/core.c
2781
u32 f = dev->phy.def->features;
drivers/net/ethernet/ibm/emac/core.c
2799
dev->phy.def->ops->setup_forced(&dev->phy, speed, fd);
drivers/net/ethernet/ibm/emac/core.c
3110
dev->phy.speed = SPEED_100;
drivers/net/ethernet/ibm/emac/core.c
3111
dev->phy.duplex = DUPLEX_FULL;
drivers/net/ethernet/ibm/emac/core.c
3112
dev->phy.autoneg = AUTONEG_DISABLE;
drivers/net/ethernet/ibm/emac/core.c
3113
dev->phy.pause = dev->phy.asym_pause = 0;
drivers/net/ethernet/ibm/emac/core.c
3166
if (dev->phy.address >= 0)
drivers/net/ethernet/ibm/emac/core.c
3168
dev->phy.def->name, dev->phy.address);
drivers/net/ethernet/ibm/emac/core.c
3209
busy_phy_map &= ~(1 << dev->phy.address);
drivers/net/ethernet/ibm/emac/core.c
586
link, dev->phy.duplex, dev->phy.pause, dev->phy.asym_pause);
drivers/net/ethernet/ibm/emac/core.c
597
else if (dev->phy.duplex == DUPLEX_FULL)
drivers/net/ethernet/ibm/emac/core.c
602
switch (dev->phy.speed) {
drivers/net/ethernet/ibm/emac/core.c
604
if (emac_phy_gpcs(dev->phy.mode)) {
drivers/net/ethernet/ibm/emac/core.c
606
(dev->phy.gpcs_address != 0xffffffff) ?
drivers/net/ethernet/ibm/emac/core.c
607
dev->phy.gpcs_address : dev->phy.address);
drivers/net/ethernet/ibm/emac/core.c
639
dev->phy.speed);
drivers/net/ethernet/ibm/emac/core.c
641
zmii_set_speed(dev->zmii_dev, dev->zmii_port, dev->phy.speed);
drivers/net/ethernet/ibm/emac/core.c
647
dev->phy.duplex == DUPLEX_FULL) {
drivers/net/ethernet/ibm/emac/core.c
648
if (dev->phy.pause)
drivers/net/ethernet/ibm/emac/core.c
650
else if (dev->phy.asym_pause)
drivers/net/ethernet/ibm/emac/core.c
719
if (emac_phy_gpcs(dev->phy.mode)) {
drivers/net/ethernet/ibm/emac/core.c
720
if (dev->phy.gpcs_address != 0xffffffff)
drivers/net/ethernet/ibm/emac/core.c
721
emac_mii_reset_gpcs(&dev->phy);
drivers/net/ethernet/ibm/emac/core.c
723
emac_mii_reset_phy(&dev->phy);
drivers/net/ethernet/ibm/emac/core.c
929
dev->phy.gpcs_address != id) ?
drivers/net/ethernet/ibm/emac/core.c
940
dev->phy.gpcs_address != id) ?
drivers/net/ethernet/ibm/emac/core.h
177
struct mii_phy phy;
drivers/net/ethernet/ibm/emac/phy.c
100
if (limit > 0 && phy->mode == PHY_INTERFACE_MODE_SGMII) {
drivers/net/ethernet/ibm/emac/phy.c
102
gpcs_phy_write(phy, 0x04, 0x8120); /* AsymPause, FDX */
drivers/net/ethernet/ibm/emac/phy.c
103
gpcs_phy_write(phy, 0x07, 0x2801); /* msg_pg, toggle */
drivers/net/ethernet/ibm/emac/phy.c
104
gpcs_phy_write(phy, 0x00, 0x0140); /* 1Gbps, FDX */
drivers/net/ethernet/ibm/emac/phy.c
110
static int genmii_setup_aneg(struct mii_phy *phy, u32 advertise)
drivers/net/ethernet/ibm/emac/phy.c
114
phy->autoneg = AUTONEG_ENABLE;
drivers/net/ethernet/ibm/emac/phy.c
115
phy->speed = SPEED_10;
drivers/net/ethernet/ibm/emac/phy.c
116
phy->duplex = DUPLEX_HALF;
drivers/net/ethernet/ibm/emac/phy.c
117
phy->pause = phy->asym_pause = 0;
drivers/net/ethernet/ibm/emac/phy.c
118
phy->advertising = advertise;
drivers/net/ethernet/ibm/emac/phy.c
120
ctl = phy_read(phy, MII_BMCR);
drivers/net/ethernet/ibm/emac/phy.c
126
phy_write(phy, MII_BMCR, ctl);
drivers/net/ethernet/ibm/emac/phy.c
129
adv = phy_read(phy, MII_ADVERTISE);
drivers/net/ethernet/ibm/emac/phy.c
146
phy_write(phy, MII_ADVERTISE, adv);
drivers/net/ethernet/ibm/emac/phy.c
148
if (phy->features &
drivers/net/ethernet/ibm/emac/phy.c
150
adv = phy_read(phy, MII_CTRL1000);
drivers/net/ethernet/ibm/emac/phy.c
158
phy_write(phy, MII_CTRL1000, adv);
drivers/net/ethernet/ibm/emac/phy.c
162
ctl = phy_read(phy, MII_BMCR);
drivers/net/ethernet/ibm/emac/phy.c
164
phy_write(phy, MII_BMCR, ctl);
drivers/net/ethernet/ibm/emac/phy.c
169
static int genmii_setup_forced(struct mii_phy *phy, int speed, int fd)
drivers/net/ethernet/ibm/emac/phy.c
173
phy->autoneg = AUTONEG_DISABLE;
drivers/net/ethernet/ibm/emac/phy.c
174
phy->speed = speed;
drivers/net/ethernet/ibm/emac/phy.c
175
phy->duplex = fd;
drivers/net/ethernet/ibm/emac/phy.c
176
phy->pause = phy->asym_pause = 0;
drivers/net/ethernet/ibm/emac/phy.c
178
ctl = phy_read(phy, MII_BMCR);
drivers/net/ethernet/ibm/emac/phy.c
184
phy_write(phy, MII_BMCR, ctl | BMCR_RESET);
drivers/net/ethernet/ibm/emac/phy.c
201
phy_write(phy, MII_BMCR, ctl);
drivers/net/ethernet/ibm/emac/phy.c
206
static int genmii_poll_link(struct mii_phy *phy)
drivers/net/ethernet/ibm/emac/phy.c
211
phy_read(phy, MII_BMSR);
drivers/net/ethernet/ibm/emac/phy.c
212
status = phy_read(phy, MII_BMSR);
drivers/net/ethernet/ibm/emac/phy.c
215
if (phy->autoneg == AUTONEG_ENABLE && !(status & BMSR_ANEGCOMPLETE))
drivers/net/ethernet/ibm/emac/phy.c
220
static int genmii_read_link(struct mii_phy *phy)
drivers/net/ethernet/ibm/emac/phy.c
222
if (phy->autoneg == AUTONEG_ENABLE) {
drivers/net/ethernet/ibm/emac/phy.c
224
int lpa = phy_read(phy, MII_LPA) & phy_read(phy, MII_ADVERTISE);
drivers/net/ethernet/ibm/emac/phy.c
228
if (phy->features &
drivers/net/ethernet/ibm/emac/phy.c
230
int adv = phy_read(phy, MII_CTRL1000);
drivers/net/ethernet/ibm/emac/phy.c
231
glpa = phy_read(phy, MII_STAT1000);
drivers/net/ethernet/ibm/emac/phy.c
239
phy->speed = SPEED_10;
drivers/net/ethernet/ibm/emac/phy.c
240
phy->duplex = DUPLEX_HALF;
drivers/net/ethernet/ibm/emac/phy.c
241
phy->pause = phy->asym_pause = 0;
drivers/net/ethernet/ibm/emac/phy.c
244
phy->speed = SPEED_1000;
drivers/net/ethernet/ibm/emac/phy.c
246
phy->duplex = DUPLEX_FULL;
drivers/net/ethernet/ibm/emac/phy.c
248
phy->speed = SPEED_100;
drivers/net/ethernet/ibm/emac/phy.c
250
phy->duplex = DUPLEX_FULL;
drivers/net/ethernet/ibm/emac/phy.c
252
phy->duplex = DUPLEX_FULL;
drivers/net/ethernet/ibm/emac/phy.c
254
if (phy->duplex == DUPLEX_FULL) {
drivers/net/ethernet/ibm/emac/phy.c
255
phy->pause = lpa & LPA_PAUSE_CAP ? 1 : 0;
drivers/net/ethernet/ibm/emac/phy.c
256
phy->asym_pause = lpa & LPA_PAUSE_ASYM ? 1 : 0;
drivers/net/ethernet/ibm/emac/phy.c
259
int bmcr = phy_read(phy, MII_BMCR);
drivers/net/ethernet/ibm/emac/phy.c
264
phy->duplex = DUPLEX_FULL;
drivers/net/ethernet/ibm/emac/phy.c
266
phy->duplex = DUPLEX_HALF;
drivers/net/ethernet/ibm/emac/phy.c
268
phy->speed = SPEED_1000;
drivers/net/ethernet/ibm/emac/phy.c
270
phy->speed = SPEED_100;
drivers/net/ethernet/ibm/emac/phy.c
272
phy->speed = SPEED_10;
drivers/net/ethernet/ibm/emac/phy.c
274
phy->pause = phy->asym_pause = 0;
drivers/net/ethernet/ibm/emac/phy.c
306
static int cis8201_init(struct mii_phy *phy)
drivers/net/ethernet/ibm/emac/phy.c
310
epcr = phy_read(phy, MII_CIS8201_EPCR);
drivers/net/ethernet/ibm/emac/phy.c
316
switch (phy->mode) {
drivers/net/ethernet/ibm/emac/phy.c
331
phy_write(phy, MII_CIS8201_EPCR, epcr);
drivers/net/ethernet/ibm/emac/phy.c
334
phy_write(phy, MII_CIS8201_ACSR,
drivers/net/ethernet/ibm/emac/phy.c
335
phy_read(phy, MII_CIS8201_ACSR) | ACSR_PIN_PRIO_SELECT);
drivers/net/ethernet/ibm/emac/phy.c
338
phy_write(phy, MII_CIS8201_10BTCSR,
drivers/net/ethernet/ibm/emac/phy.c
339
phy_read(phy, MII_CIS8201_10BTCSR) | TENBTCSR_ECHO_DISABLE);
drivers/net/ethernet/ibm/emac/phy.c
35
static inline int _phy_read(struct mii_phy *phy, int reg)
drivers/net/ethernet/ibm/emac/phy.c
367
static int m88e1111_init(struct mii_phy *phy)
drivers/net/ethernet/ibm/emac/phy.c
37
return phy->mdio_read(phy->dev, phy->address, reg);
drivers/net/ethernet/ibm/emac/phy.c
370
phy_write(phy, 0x14, 0x0ce3);
drivers/net/ethernet/ibm/emac/phy.c
371
phy_write(phy, 0x18, 0x4101);
drivers/net/ethernet/ibm/emac/phy.c
372
phy_write(phy, 0x09, 0x0e00);
drivers/net/ethernet/ibm/emac/phy.c
373
phy_write(phy, 0x04, 0x01e1);
drivers/net/ethernet/ibm/emac/phy.c
374
phy_write(phy, 0x00, 0x9140);
drivers/net/ethernet/ibm/emac/phy.c
375
phy_write(phy, 0x00, 0x1140);
drivers/net/ethernet/ibm/emac/phy.c
380
static int m88e1112_init(struct mii_phy *phy)
drivers/net/ethernet/ibm/emac/phy.c
393
phy_write(phy, 0x16, 0x0002);
drivers/net/ethernet/ibm/emac/phy.c
395
phy_write(phy, 0x00, 0x0040); /* 1Gbps */
drivers/net/ethernet/ibm/emac/phy.c
396
reg_short = (u16)(phy_read(phy, 0x1a));
drivers/net/ethernet/ibm/emac/phy.c
398
phy_write(phy, 0x1a, reg_short);
drivers/net/ethernet/ibm/emac/phy.c
399
emac_mii_reset_phy(phy); /* reset MAC interface */
drivers/net/ethernet/ibm/emac/phy.c
40
static inline void _phy_write(struct mii_phy *phy, int reg, int val)
drivers/net/ethernet/ibm/emac/phy.c
402
phy_write(phy, 0x16, 0x0000);
drivers/net/ethernet/ibm/emac/phy.c
407
static int et1011c_init(struct mii_phy *phy)
drivers/net/ethernet/ibm/emac/phy.c
411
reg_short = (u16)(phy_read(phy, 0x16));
drivers/net/ethernet/ibm/emac/phy.c
414
phy_write(phy, 0x16, reg_short);
drivers/net/ethernet/ibm/emac/phy.c
416
reg_short = (u16)(phy_read(phy, 0x17));
drivers/net/ethernet/ibm/emac/phy.c
418
phy_write(phy, 0x17, reg_short);
drivers/net/ethernet/ibm/emac/phy.c
42
phy->mdio_write(phy->dev, phy->address, reg, val);
drivers/net/ethernet/ibm/emac/phy.c
420
phy_write(phy, 0x1c, 0x74f0);
drivers/net/ethernet/ibm/emac/phy.c
45
static inline int gpcs_phy_read(struct mii_phy *phy, int reg)
drivers/net/ethernet/ibm/emac/phy.c
47
return phy->mdio_read(phy->dev, phy->gpcs_address, reg);
drivers/net/ethernet/ibm/emac/phy.c
474
static int ar8035_init(struct mii_phy *phy)
drivers/net/ethernet/ibm/emac/phy.c
476
phy_write(phy, 0x1d, 0x5); /* Address debug register 5 */
drivers/net/ethernet/ibm/emac/phy.c
477
phy_write(phy, 0x1e, 0x2d47); /* Value copied from u-boot */
drivers/net/ethernet/ibm/emac/phy.c
478
phy_write(phy, 0x1d, 0xb); /* Address hib ctrl */
drivers/net/ethernet/ibm/emac/phy.c
479
phy_write(phy, 0x1e, 0xbc20); /* Value copied from u-boot */
drivers/net/ethernet/ibm/emac/phy.c
50
static inline void gpcs_phy_write(struct mii_phy *phy, int reg, int val)
drivers/net/ethernet/ibm/emac/phy.c
510
int emac_mii_phy_probe(struct mii_phy *phy, int address)
drivers/net/ethernet/ibm/emac/phy.c
516
phy->autoneg = AUTONEG_DISABLE;
drivers/net/ethernet/ibm/emac/phy.c
517
phy->advertising = 0;
drivers/net/ethernet/ibm/emac/phy.c
518
phy->address = address;
drivers/net/ethernet/ibm/emac/phy.c
519
phy->speed = SPEED_10;
drivers/net/ethernet/ibm/emac/phy.c
52
phy->mdio_write(phy->dev, phy->gpcs_address, reg, val);
drivers/net/ethernet/ibm/emac/phy.c
520
phy->duplex = DUPLEX_HALF;
drivers/net/ethernet/ibm/emac/phy.c
521
phy->pause = phy->asym_pause = 0;
drivers/net/ethernet/ibm/emac/phy.c
524
if (emac_mii_reset_phy(phy))
drivers/net/ethernet/ibm/emac/phy.c
528
id = (phy_read(phy, MII_PHYSID1) << 16) | phy_read(phy, MII_PHYSID2);
drivers/net/ethernet/ibm/emac/phy.c
536
phy->def = def;
drivers/net/ethernet/ibm/emac/phy.c
539
phy->features = def->features;
drivers/net/ethernet/ibm/emac/phy.c
540
if (!phy->features) {
drivers/net/ethernet/ibm/emac/phy.c
541
u16 bmsr = phy_read(phy, MII_BMSR);
drivers/net/ethernet/ibm/emac/phy.c
543
phy->features |= SUPPORTED_Autoneg;
drivers/net/ethernet/ibm/emac/phy.c
545
phy->features |= SUPPORTED_10baseT_Half;
drivers/net/ethernet/ibm/emac/phy.c
547
phy->features |= SUPPORTED_10baseT_Full;
drivers/net/ethernet/ibm/emac/phy.c
549
phy->features |= SUPPORTED_100baseT_Half;
drivers/net/ethernet/ibm/emac/phy.c
55
int emac_mii_reset_phy(struct mii_phy *phy)
drivers/net/ethernet/ibm/emac/phy.c
551
phy->features |= SUPPORTED_100baseT_Full;
drivers/net/ethernet/ibm/emac/phy.c
553
u16 esr = phy_read(phy, MII_ESTATUS);
drivers/net/ethernet/ibm/emac/phy.c
555
phy->features |= SUPPORTED_1000baseT_Full;
drivers/net/ethernet/ibm/emac/phy.c
557
phy->features |= SUPPORTED_1000baseT_Half;
drivers/net/ethernet/ibm/emac/phy.c
559
phy->features |= SUPPORTED_MII;
drivers/net/ethernet/ibm/emac/phy.c
563
phy->advertising = phy->features;
drivers/net/ethernet/ibm/emac/phy.c
60
val = phy_read(phy, MII_BMCR);
drivers/net/ethernet/ibm/emac/phy.c
63
phy_write(phy, MII_BMCR, val);
drivers/net/ethernet/ibm/emac/phy.c
68
val = phy_read(phy, MII_BMCR);
drivers/net/ethernet/ibm/emac/phy.c
74
phy_write(phy, MII_BMCR, val & ~BMCR_ISOLATE);
drivers/net/ethernet/ibm/emac/phy.c
79
int emac_mii_reset_gpcs(struct mii_phy *phy)
drivers/net/ethernet/ibm/emac/phy.c
84
val = gpcs_phy_read(phy, MII_BMCR);
drivers/net/ethernet/ibm/emac/phy.c
87
gpcs_phy_write(phy, MII_BMCR, val);
drivers/net/ethernet/ibm/emac/phy.c
92
val = gpcs_phy_read(phy, MII_BMCR);
drivers/net/ethernet/ibm/emac/phy.c
98
gpcs_phy_write(phy, MII_BMCR, val & ~BMCR_ISOLATE);
drivers/net/ethernet/ibm/emac/phy.h
29
int (*init) (struct mii_phy * phy);
drivers/net/ethernet/ibm/emac/phy.h
30
int (*suspend) (struct mii_phy * phy, int wol_options);
drivers/net/ethernet/ibm/emac/phy.h
31
int (*setup_aneg) (struct mii_phy * phy, u32 advertise);
drivers/net/ethernet/ibm/emac/phy.h
32
int (*setup_forced) (struct mii_phy * phy, int speed, int fd);
drivers/net/ethernet/ibm/emac/phy.h
33
int (*poll_link) (struct mii_phy * phy);
drivers/net/ethernet/ibm/emac/phy.h
34
int (*read_link) (struct mii_phy * phy);
drivers/net/ethernet/ibm/emac/phy.h
79
int emac_mii_phy_probe(struct mii_phy *phy, int address);
drivers/net/ethernet/ibm/emac/phy.h
80
int emac_mii_reset_phy(struct mii_phy *phy);
drivers/net/ethernet/ibm/emac/phy.h
81
int emac_mii_reset_gpcs(struct mii_phy *phy);
drivers/net/ethernet/intel/e100.c
1467
nic->phy = (u32)id_hi << 16 | (u32)id_lo;
drivers/net/ethernet/intel/e100.c
1469
"phy ID = 0x%08X\n", nic->phy);
drivers/net/ethernet/intel/e100.c
1475
} else if (nic->phy != phy_82552_v) {
drivers/net/ethernet/intel/e100.c
1486
if (nic->phy == phy_82552_v)
drivers/net/ethernet/intel/e100.c
1492
if ((nic->phy & NCS_PHY_MODEL_MASK) == phy_nsc_tx) {
drivers/net/ethernet/intel/e100.c
1500
if (nic->phy == phy_82552_v) {
drivers/net/ethernet/intel/e100.c
2647
u16 led_reg = (nic->phy == phy_82552_v) ? E100_82552_LED_OVERRIDE :
drivers/net/ethernet/intel/e100.c
2656
leds = (nic->phy == phy_82552_v) ? E100_82552_LED_ON :
drivers/net/ethernet/intel/e100.c
2661
leds = (nic->phy == phy_82552_v) ? E100_82552_LED_OFF : led_off;
drivers/net/ethernet/intel/e100.c
3012
if (nic->phy == phy_82552_v) {
drivers/net/ethernet/intel/e100.c
3062
if (nic->phy == phy_82552_v) {
drivers/net/ethernet/intel/e100.c
571
enum phy phy;
drivers/net/ethernet/intel/e1000e/80003es2lan.c
1085
if (hw->phy.media_type == e1000_media_type_copper) {
drivers/net/ethernet/intel/e1000e/80003es2lan.c
121
hw->phy.media_type = e1000_media_type_internal_serdes;
drivers/net/ethernet/intel/e1000e/80003es2lan.c
127
hw->phy.media_type = e1000_media_type_copper;
drivers/net/ethernet/intel/e1000e/80003es2lan.c
1288
hw->phy.ops.check_reset_block(hw)))
drivers/net/ethernet/intel/e1000e/80003es2lan.c
40
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/80003es2lan.c
43
if (hw->phy.media_type != e1000_media_type_copper) {
drivers/net/ethernet/intel/e1000e/80003es2lan.c
44
phy->type = e1000_phy_none;
drivers/net/ethernet/intel/e1000e/80003es2lan.c
47
phy->ops.power_up = e1000_power_up_phy_copper;
drivers/net/ethernet/intel/e1000e/80003es2lan.c
48
phy->ops.power_down = e1000_power_down_phy_copper_80003es2lan;
drivers/net/ethernet/intel/e1000e/80003es2lan.c
51
phy->addr = 1;
drivers/net/ethernet/intel/e1000e/80003es2lan.c
52
phy->autoneg_mask = AUTONEG_ADVERTISE_SPEED_DEFAULT;
drivers/net/ethernet/intel/e1000e/80003es2lan.c
53
phy->reset_delay_us = 100;
drivers/net/ethernet/intel/e1000e/80003es2lan.c
54
phy->type = e1000_phy_gg82563;
drivers/net/ethernet/intel/e1000e/80003es2lan.c
555
if (hw->phy.autoneg_wait_to_complete) {
drivers/net/ethernet/intel/e1000e/80003es2lan.c
60
if (phy->id != GG82563_E_PHY_ID)
drivers/net/ethernet/intel/e1000e/80003es2lan.c
610
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/80003es2lan.c
623
phy->min_cable_length = e1000_gg82563_cable_length_table[index];
drivers/net/ethernet/intel/e1000e/80003es2lan.c
624
phy->max_cable_length = e1000_gg82563_cable_length_table[index + 5];
drivers/net/ethernet/intel/e1000e/80003es2lan.c
626
phy->cable_length = (phy->min_cable_length + phy->max_cable_length) / 2;
drivers/net/ethernet/intel/e1000e/80003es2lan.c
644
if (hw->phy.media_type == e1000_media_type_copper) {
drivers/net/ethernet/intel/e1000e/80003es2lan.c
646
hw->phy.ops.cfg_on_link_up(hw);
drivers/net/ethernet/intel/e1000e/80003es2lan.c
853
if (hw->phy.media_type != e1000_media_type_copper)
drivers/net/ethernet/intel/e1000e/80003es2lan.c
881
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/80003es2lan.c
911
switch (phy->mdix) {
drivers/net/ethernet/intel/e1000e/80003es2lan.c
931
if (phy->disable_polarity_correction)
drivers/net/ethernet/intel/e1000e/80003es2lan.c
939
ret_val = hw->phy.ops.commit(hw);
drivers/net/ethernet/intel/e1000e/82571.c
102
if (phy->id != BME1000_E_PHY_ID_R2)
drivers/net/ethernet/intel/e1000e/82571.c
1053
if (hw->phy.media_type == e1000_media_type_internal_serdes)
drivers/net/ethernet/intel/e1000e/82571.c
111
e_dbg("PHY ID unknown: type = 0x%08x\n", phy->id);
drivers/net/ethernet/intel/e1000e/82571.c
1431
switch (hw->phy.type) {
drivers/net/ethernet/intel/e1000e/82571.c
1799
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/82571.c
1802
if (!phy->ops.check_reset_block)
drivers/net/ethernet/intel/e1000e/82571.c
1806
if (!(mac->ops.check_mng_mode(hw) || phy->ops.check_reset_block(hw)))
drivers/net/ethernet/intel/e1000e/82571.c
203
hw->phy.media_type = e1000_media_type_fiber;
drivers/net/ethernet/intel/e1000e/82571.c
214
hw->phy.media_type = e1000_media_type_internal_serdes;
drivers/net/ethernet/intel/e1000e/82571.c
222
hw->phy.media_type = e1000_media_type_copper;
drivers/net/ethernet/intel/e1000e/82571.c
389
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/82571.c
401
phy->id = IGP01E1000_I_PHY_ID;
drivers/net/ethernet/intel/e1000e/82571.c
411
phy->id = (u32)(phy_id << 16);
drivers/net/ethernet/intel/e1000e/82571.c
417
phy->id |= (u32)(phy_id);
drivers/net/ethernet/intel/e1000e/82571.c
418
phy->revision = (u32)(phy_id & ~PHY_REVISION_MASK);
drivers/net/ethernet/intel/e1000e/82571.c
47
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/82571.c
50
if (hw->phy.media_type != e1000_media_type_copper) {
drivers/net/ethernet/intel/e1000e/82571.c
51
phy->type = e1000_phy_none;
drivers/net/ethernet/intel/e1000e/82571.c
55
phy->addr = 1;
drivers/net/ethernet/intel/e1000e/82571.c
56
phy->autoneg_mask = AUTONEG_ADVERTISE_SPEED_DEFAULT;
drivers/net/ethernet/intel/e1000e/82571.c
57
phy->reset_delay_us = 100;
drivers/net/ethernet/intel/e1000e/82571.c
59
phy->ops.power_up = e1000_power_up_phy_copper;
drivers/net/ethernet/intel/e1000e/82571.c
60
phy->ops.power_down = e1000_power_down_phy_copper_82571;
drivers/net/ethernet/intel/e1000e/82571.c
627
} else if ((hw->phy.autoneg_advertised == E1000_ALL_SPEED_DUPLEX) ||
drivers/net/ethernet/intel/e1000e/82571.c
628
(hw->phy.autoneg_advertised == E1000_ALL_NOT_GIG) ||
drivers/net/ethernet/intel/e1000e/82571.c
629
(hw->phy.autoneg_advertised == E1000_ALL_10_SPEED)) {
drivers/net/ethernet/intel/e1000e/82571.c
65
phy->type = e1000_phy_igp_2;
drivers/net/ethernet/intel/e1000e/82571.c
68
phy->type = e1000_phy_m88;
drivers/net/ethernet/intel/e1000e/82571.c
72
phy->type = e1000_phy_bm;
drivers/net/ethernet/intel/e1000e/82571.c
73
phy->ops.acquire = e1000_get_hw_semaphore_82574;
drivers/net/ethernet/intel/e1000e/82571.c
74
phy->ops.release = e1000_put_hw_semaphore_82574;
drivers/net/ethernet/intel/e1000e/82571.c
75
phy->ops.set_d0_lplu_state = e1000_set_d0_lplu_state_82574;
drivers/net/ethernet/intel/e1000e/82571.c
76
phy->ops.set_d3_lplu_state = e1000_set_d3_lplu_state_82574;
drivers/net/ethernet/intel/e1000e/82571.c
876
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/82571.c
908
if (phy->smart_speed == e1000_smart_speed_on) {
drivers/net/ethernet/intel/e1000e/82571.c
919
} else if (phy->smart_speed == e1000_smart_speed_off) {
drivers/net/ethernet/intel/e1000e/82571.c
93
if (phy->id != IGP01E1000_I_PHY_ID)
drivers/net/ethernet/intel/e1000e/82571.c
97
if (phy->id != M88E1111_I_PHY_ID)
drivers/net/ethernet/intel/e1000e/e1000.h
542
return hw->phy.ops.reset(hw);
drivers/net/ethernet/intel/e1000e/e1000.h
547
return hw->phy.ops.read_reg(hw, offset, data);
drivers/net/ethernet/intel/e1000e/e1000.h
552
return hw->phy.ops.read_reg_locked(hw, offset, data);
drivers/net/ethernet/intel/e1000e/e1000.h
557
return hw->phy.ops.write_reg(hw, offset, data);
drivers/net/ethernet/intel/e1000e/e1000.h
562
return hw->phy.ops.write_reg_locked(hw, offset, data);
drivers/net/ethernet/intel/e1000e/e1000.h
599
return hw->phy.ops.get_info(hw);
drivers/net/ethernet/intel/e1000e/ethtool.c
119
if (hw->phy.media_type == e1000_media_type_copper) {
drivers/net/ethernet/intel/e1000e/ethtool.c
129
if (hw->phy.type == e1000_phy_ife)
drivers/net/ethernet/intel/e1000e/ethtool.c
1317
if (hw->phy.type == e1000_phy_ife) {
drivers/net/ethernet/intel/e1000e/ethtool.c
1337
switch (hw->phy.type) {
drivers/net/ethernet/intel/e1000e/ethtool.c
1356
hw->phy.ops.commit(hw);
drivers/net/ethernet/intel/e1000e/ethtool.c
136
advertising |= hw->phy.autoneg_advertised;
drivers/net/ethernet/intel/e1000e/ethtool.c
1374
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ethtool.c
1380
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ethtool.c
140
cmd->base.phy_address = hw->phy.addr;
drivers/net/ethernet/intel/e1000e/ethtool.c
1411
if (hw->phy.media_type == e1000_media_type_copper &&
drivers/net/ethernet/intel/e1000e/ethtool.c
1412
hw->phy.type == e1000_phy_m88) {
drivers/net/ethernet/intel/e1000e/ethtool.c
1427
if (hw->phy.type == e1000_phy_m88)
drivers/net/ethernet/intel/e1000e/ethtool.c
1525
if (hw->phy.media_type == e1000_media_type_fiber ||
drivers/net/ethernet/intel/e1000e/ethtool.c
1526
hw->phy.media_type == e1000_media_type_internal_serdes) {
drivers/net/ethernet/intel/e1000e/ethtool.c
1539
} else if (hw->phy.media_type == e1000_media_type_copper) {
drivers/net/ethernet/intel/e1000e/ethtool.c
1575
if (hw->phy.media_type == e1000_media_type_fiber ||
drivers/net/ethernet/intel/e1000e/ethtool.c
1576
hw->phy.media_type == e1000_media_type_internal_serdes) {
drivers/net/ethernet/intel/e1000e/ethtool.c
1584
if (hw->phy.media_type == e1000_media_type_fiber ||
drivers/net/ethernet/intel/e1000e/ethtool.c
1585
hw->phy.media_type == e1000_media_type_internal_serdes) {
drivers/net/ethernet/intel/e1000e/ethtool.c
1594
if (hw->phy.type == e1000_phy_gg82563)
drivers/net/ethernet/intel/e1000e/ethtool.c
1600
if (hw->phy.ops.commit)
drivers/net/ethernet/intel/e1000e/ethtool.c
1601
hw->phy.ops.commit(hw);
drivers/net/ethernet/intel/e1000e/ethtool.c
1712
if (hw->phy.ops.check_reset_block &&
drivers/net/ethernet/intel/e1000e/ethtool.c
1713
hw->phy.ops.check_reset_block(hw)) {
drivers/net/ethernet/intel/e1000e/ethtool.c
1741
if (hw->phy.media_type == e1000_media_type_internal_serdes) {
drivers/net/ethernet/intel/e1000e/ethtool.c
180
cmd->base.autoneg = ((hw->phy.media_type == e1000_media_type_fiber) ||
drivers/net/ethernet/intel/e1000e/ethtool.c
1804
adapter->hw.phy.autoneg_wait_to_complete = 1;
drivers/net/ethernet/intel/e1000e/ethtool.c
1806
adapter->hw.phy.autoneg_wait_to_complete = 0;
drivers/net/ethernet/intel/e1000e/ethtool.c
1813
autoneg_advertised = adapter->hw.phy.autoneg_advertised;
drivers/net/ethernet/intel/e1000e/ethtool.c
1839
adapter->hw.phy.autoneg_wait_to_complete = 1;
drivers/net/ethernet/intel/e1000e/ethtool.c
184
if ((hw->phy.media_type == e1000_media_type_copper) &&
drivers/net/ethernet/intel/e1000e/ethtool.c
1841
adapter->hw.phy.autoneg_wait_to_complete = 0;
drivers/net/ethernet/intel/e1000e/ethtool.c
1847
adapter->hw.phy.autoneg_advertised = autoneg_advertised;
drivers/net/ethernet/intel/e1000e/ethtool.c
186
cmd->base.eth_tp_mdix = hw->phy.is_mdix ?
drivers/net/ethernet/intel/e1000e/ethtool.c
191
if (hw->phy.mdix == AUTO_ALL_MODES)
drivers/net/ethernet/intel/e1000e/ethtool.c
194
cmd->base.eth_tp_mdix_ctrl = hw->phy.mdix;
drivers/net/ethernet/intel/e1000e/ethtool.c
196
if (hw->phy.media_type != e1000_media_type_copper)
drivers/net/ethernet/intel/e1000e/ethtool.c
1963
if (hw->phy.type == e1000_phy_ife)
drivers/net/ethernet/intel/e1000e/ethtool.c
2152
switch (hw->phy.type) {
drivers/net/ethernet/intel/e1000e/ethtool.c
2167
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ethtool.c
2190
if (hw->phy.type == e1000_phy_82579)
drivers/net/ethernet/intel/e1000e/ethtool.c
2205
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ethtool.c
226
if ((adapter->hw.phy.media_type == e1000_media_type_fiber) &&
drivers/net/ethernet/intel/e1000e/ethtool.c
245
if (adapter->hw.phy.media_type == e1000_media_type_copper) {
drivers/net/ethernet/intel/e1000e/ethtool.c
247
adapter->hw.phy.autoneg_advertised =
drivers/net/ethernet/intel/e1000e/ethtool.c
259
adapter->hw.phy.mdix = AUTO_ALL_MODES;
drivers/net/ethernet/intel/e1000e/ethtool.c
282
if (hw->phy.ops.check_reset_block &&
drivers/net/ethernet/intel/e1000e/ethtool.c
283
hw->phy.ops.check_reset_block(hw)) {
drivers/net/ethernet/intel/e1000e/ethtool.c
293
if (hw->phy.media_type != e1000_media_type_copper)
drivers/net/ethernet/intel/e1000e/ethtool.c
308
if (hw->phy.media_type == e1000_media_type_fiber)
drivers/net/ethernet/intel/e1000e/ethtool.c
309
hw->phy.autoneg_advertised = ADVERTISED_1000baseT_Full |
drivers/net/ethernet/intel/e1000e/ethtool.c
312
hw->phy.autoneg_advertised = advertising |
drivers/net/ethernet/intel/e1000e/ethtool.c
314
advertising = hw->phy.autoneg_advertised;
drivers/net/ethernet/intel/e1000e/ethtool.c
332
hw->phy.mdix = AUTO_ALL_MODES;
drivers/net/ethernet/intel/e1000e/ethtool.c
334
hw->phy.mdix = cmd->base.eth_tp_mdix_ctrl;
drivers/net/ethernet/intel/e1000e/ethtool.c
401
if (hw->phy.media_type == e1000_media_type_fiber) {
drivers/net/ethernet/intel/e1000e/ethtool.c
464
regs_buff[12] = adapter->hw.phy.type; /* PHY type (IGP=1, M88=0) */
drivers/net/ethernet/intel/e1000e/ethtool.c
469
if (hw->phy.type == e1000_phy_m88) {
drivers/net/ethernet/intel/e1000e/hw.h
722
struct e1000_phy_info phy;
drivers/net/ethernet/intel/e1000e/ich8lan.c
1012
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
1039
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
1044
if ((hw->phy.revision > 5) || !link ||
drivers/net/ethernet/intel/e1000e/ich8lan.c
1269
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
1282
if ((hw->phy.type == e1000_phy_i217) && (hw->phy.revision == 6)) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
1330
if ((hw->phy.type == e1000_phy_i217) && (hw->phy.revision == 6) &&
drivers/net/ethernet/intel/e1000e/ich8lan.c
1339
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
1426
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
1499
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
1580
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
1602
hw->phy.ops.read_reg_locked(hw, HV_PM_CTRL,
drivers/net/ethernet/intel/e1000e/ich8lan.c
1607
hw->phy.ops.write_reg_locked(hw, HV_PM_CTRL,
drivers/net/ethernet/intel/e1000e/ich8lan.c
1611
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
1621
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
1629
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
1642
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
1646
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
1653
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
1722
if (hw->phy.type == e1000_phy_82578) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
1751
if (hw->phy.type > e1000_phy_82579) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
1826
if ((adapter->hw.phy.type == e1000_phy_ife) ||
drivers/net/ethernet/intel/e1000e/ich8lan.c
1836
(adapter->hw.phy.type != e1000_phy_ife))
drivers/net/ethernet/intel/e1000e/ich8lan.c
199
if (hw->phy.id) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
200
if (hw->phy.id == phy_id)
drivers/net/ethernet/intel/e1000e/ich8lan.c
203
hw->phy.id = phy_id;
drivers/net/ethernet/intel/e1000e/ich8lan.c
204
hw->phy.revision = (u32)(phy_reg & ~PHY_REVISION_MASK);
drivers/net/ethernet/intel/e1000e/ich8lan.c
212
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
216
hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
2214
if (hw->phy.type == e1000_phy_i217) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
2239
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/ich8lan.c
2252
if (phy->type != e1000_phy_igp_3)
drivers/net/ethernet/intel/e1000e/ich8lan.c
2278
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
2352
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
2376
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
2382
if (hw->phy.type == e1000_phy_82578) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
2398
if (hw->phy.type == e1000_phy_82577) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
2428
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
2503
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
2543
!hw->phy.ops.check_reset_block(hw))
drivers/net/ethernet/intel/e1000e/ich8lan.c
2549
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
2589
if (hw->phy.type == e1000_phy_82577) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
2595
if (((hw->phy.type == e1000_phy_82577) &&
drivers/net/ethernet/intel/e1000e/ich8lan.c
2596
((hw->phy.revision == 1) || (hw->phy.revision == 2))) ||
drivers/net/ethernet/intel/e1000e/ich8lan.c
2597
((hw->phy.type == e1000_phy_82578) && (hw->phy.revision == 1))) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
2609
if (hw->phy.type == e1000_phy_82578) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
2613
if (hw->phy.revision < 2) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
2622
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
2626
hw->phy.addr = 1;
drivers/net/ethernet/intel/e1000e/ich8lan.c
2628
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
2640
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
2653
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
2668
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
2678
hw->phy.ops.write_reg_page(hw, BM_RAR_L(i),
drivers/net/ethernet/intel/e1000e/ich8lan.c
2680
hw->phy.ops.write_reg_page(hw, BM_RAR_M(i),
drivers/net/ethernet/intel/e1000e/ich8lan.c
2684
hw->phy.ops.write_reg_page(hw, BM_RAR_H(i),
drivers/net/ethernet/intel/e1000e/ich8lan.c
2686
hw->phy.ops.write_reg_page(hw, BM_RAR_CTRL(i),
drivers/net/ethernet/intel/e1000e/ich8lan.c
2693
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
2882
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
2892
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
3009
if (hw->phy.ops.check_reset_block(hw))
drivers/net/ethernet/intel/e1000e/ich8lan.c
3054
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
3060
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
3115
if (!hw->phy.ops.check_reset_block(hw))
drivers/net/ethernet/intel/e1000e/ich8lan.c
3136
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/ich8lan.c
3141
if (phy->type == e1000_phy_ife)
drivers/net/ethernet/intel/e1000e/ich8lan.c
3150
if (phy->type != e1000_phy_igp_3)
drivers/net/ethernet/intel/e1000e/ich8lan.c
3171
if (phy->type != e1000_phy_igp_3)
drivers/net/ethernet/intel/e1000e/ich8lan.c
3179
if (phy->smart_speed == e1000_smart_speed_on) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
3190
} else if (phy->smart_speed == e1000_smart_speed_off) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
3222
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/ich8lan.c
3233
if (phy->type != e1000_phy_igp_3)
drivers/net/ethernet/intel/e1000e/ich8lan.c
3241
if (phy->smart_speed == e1000_smart_speed_on) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
3252
} else if (phy->smart_speed == e1000_smart_speed_off) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
3264
} else if ((phy->autoneg_advertised == E1000_ALL_SPEED_DUPLEX) ||
drivers/net/ethernet/intel/e1000e/ich8lan.c
3265
(phy->autoneg_advertised == E1000_ALL_NOT_GIG) ||
drivers/net/ethernet/intel/e1000e/ich8lan.c
3266
(phy->autoneg_advertised == E1000_ALL_10_SPEED)) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
3270
if (phy->type != e1000_phy_igp_3)
drivers/net/ethernet/intel/e1000e/ich8lan.c
360
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
419
if (hw->phy.ops.check_reset_block(hw)) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
450
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
454
if (hw->phy.ops.check_reset_block(hw)) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
474
ret_val = hw->phy.ops.check_reset_block(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
481
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
487
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
4880
if (!hw->phy.ops.check_reset_block(hw)) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
4912
ret_val = hw->phy.ops.get_cfg_done(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
4967
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
4972
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
4996
if (hw->phy.type == e1000_phy_82578) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
510
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/ich8lan.c
513
phy->addr = 1;
drivers/net/ethernet/intel/e1000e/ich8lan.c
514
phy->reset_delay_us = 100;
drivers/net/ethernet/intel/e1000e/ich8lan.c
5145
if (hw->phy.ops.check_reset_block(hw))
drivers/net/ethernet/intel/e1000e/ich8lan.c
516
phy->ops.set_page = e1000_set_page_igp;
drivers/net/ethernet/intel/e1000e/ich8lan.c
517
phy->ops.read_reg = e1000_read_phy_reg_hv;
drivers/net/ethernet/intel/e1000e/ich8lan.c
5173
if ((hw->phy.type == e1000_phy_82578) ||
drivers/net/ethernet/intel/e1000e/ich8lan.c
5174
(hw->phy.type == e1000_phy_82579) ||
drivers/net/ethernet/intel/e1000e/ich8lan.c
5175
(hw->phy.type == e1000_phy_i217) ||
drivers/net/ethernet/intel/e1000e/ich8lan.c
5176
(hw->phy.type == e1000_phy_82577)) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
518
phy->ops.read_reg_locked = e1000_read_phy_reg_hv_locked;
drivers/net/ethernet/intel/e1000e/ich8lan.c
519
phy->ops.read_reg_page = e1000_read_phy_reg_page_hv;
drivers/net/ethernet/intel/e1000e/ich8lan.c
520
phy->ops.set_d0_lplu_state = e1000_set_lplu_state_pchlan;
drivers/net/ethernet/intel/e1000e/ich8lan.c
521
phy->ops.set_d3_lplu_state = e1000_set_lplu_state_pchlan;
drivers/net/ethernet/intel/e1000e/ich8lan.c
522
phy->ops.write_reg = e1000_write_phy_reg_hv;
drivers/net/ethernet/intel/e1000e/ich8lan.c
5224
switch (hw->phy.type) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
523
phy->ops.write_reg_locked = e1000_write_phy_reg_hv_locked;
drivers/net/ethernet/intel/e1000e/ich8lan.c
524
phy->ops.write_reg_page = e1000_write_phy_reg_page_hv;
drivers/net/ethernet/intel/e1000e/ich8lan.c
5249
switch (hw->phy.mdix) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
525
phy->ops.power_up = e1000_power_up_phy_copper;
drivers/net/ethernet/intel/e1000e/ich8lan.c
526
phy->ops.power_down = e1000_power_down_phy_copper_ich8lan;
drivers/net/ethernet/intel/e1000e/ich8lan.c
527
phy->autoneg_mask = AUTONEG_ADVERTISE_SPEED_DEFAULT;
drivers/net/ethernet/intel/e1000e/ich8lan.c
529
phy->id = e1000_phy_unknown;
drivers/net/ethernet/intel/e1000e/ich8lan.c
5317
(hw->phy.type == e1000_phy_igp_3) && (*speed == SPEED_1000)) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
532
phy->retry_count = 2;
drivers/net/ethernet/intel/e1000e/ich8lan.c
540
if (phy->id == e1000_phy_unknown)
drivers/net/ethernet/intel/e1000e/ich8lan.c
5428
if (hw->phy.type != e1000_phy_igp_3)
drivers/net/ethernet/intel/e1000e/ich8lan.c
546
if ((phy->id != 0) && (phy->id != PHY_REVISION_MASK))
drivers/net/ethernet/intel/e1000e/ich8lan.c
5478
if ((hw->mac.type != e1000_ich8lan) || (hw->phy.type == e1000_phy_ife))
drivers/net/ethernet/intel/e1000e/ich8lan.c
5517
if (hw->phy.type == e1000_phy_i217) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
5530
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
5552
(hw->phy.autoneg_advertised & ADVERTISE_100_FULL)) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
5599
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
5614
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
5618
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
5650
if (hw->phy.type == e1000_phy_i217) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
5653
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
5686
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
5698
if (hw->phy.type == e1000_phy_ife)
drivers/net/ethernet/intel/e1000e/ich8lan.c
570
phy->type = e1000e_get_phy_type_from_id(phy->id);
drivers/net/ethernet/intel/e1000e/ich8lan.c
5713
if (hw->phy.type == e1000_phy_ife)
drivers/net/ethernet/intel/e1000e/ich8lan.c
572
switch (phy->type) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
5729
if (hw->phy.type == e1000_phy_ife)
drivers/net/ethernet/intel/e1000e/ich8lan.c
576
phy->ops.check_polarity = e1000_check_polarity_82577;
drivers/net/ethernet/intel/e1000e/ich8lan.c
577
phy->ops.force_speed_duplex =
drivers/net/ethernet/intel/e1000e/ich8lan.c
579
phy->ops.get_cable_length = e1000_get_cable_length_82577;
drivers/net/ethernet/intel/e1000e/ich8lan.c
580
phy->ops.get_info = e1000_get_phy_info_82577;
drivers/net/ethernet/intel/e1000e/ich8lan.c
581
phy->ops.commit = e1000e_phy_sw_reset;
drivers/net/ethernet/intel/e1000e/ich8lan.c
584
phy->ops.check_polarity = e1000_check_polarity_m88;
drivers/net/ethernet/intel/e1000e/ich8lan.c
585
phy->ops.force_speed_duplex = e1000e_phy_force_speed_duplex_m88;
drivers/net/ethernet/intel/e1000e/ich8lan.c
586
phy->ops.get_cable_length = e1000e_get_cable_length_m88;
drivers/net/ethernet/intel/e1000e/ich8lan.c
5865
(hw->phy.type == e1000_phy_igp_3)) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
587
phy->ops.get_info = e1000e_get_phy_info_m88;
drivers/net/ethernet/intel/e1000e/ich8lan.c
5890
hw->phy.ops.check_reset_block(hw)))
drivers/net/ethernet/intel/e1000e/ich8lan.c
5923
if ((hw->phy.type == e1000_phy_82578) ||
drivers/net/ethernet/intel/e1000e/ich8lan.c
5924
(hw->phy.type == e1000_phy_82579) ||
drivers/net/ethernet/intel/e1000e/ich8lan.c
5925
(hw->phy.type == e1000_phy_i217) ||
drivers/net/ethernet/intel/e1000e/ich8lan.c
5926
(hw->phy.type == e1000_phy_82577)) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
5927
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
5930
ret_val = hw->phy.ops.set_page(hw,
drivers/net/ethernet/intel/e1000e/ich8lan.c
5934
hw->phy.ops.read_reg_page(hw, HV_SCC_UPPER, &phy_data);
drivers/net/ethernet/intel/e1000e/ich8lan.c
5935
hw->phy.ops.read_reg_page(hw, HV_SCC_LOWER, &phy_data);
drivers/net/ethernet/intel/e1000e/ich8lan.c
5936
hw->phy.ops.read_reg_page(hw, HV_ECOL_UPPER, &phy_data);
drivers/net/ethernet/intel/e1000e/ich8lan.c
5937
hw->phy.ops.read_reg_page(hw, HV_ECOL_LOWER, &phy_data);
drivers/net/ethernet/intel/e1000e/ich8lan.c
5938
hw->phy.ops.read_reg_page(hw, HV_MCC_UPPER, &phy_data);
drivers/net/ethernet/intel/e1000e/ich8lan.c
5939
hw->phy.ops.read_reg_page(hw, HV_MCC_LOWER, &phy_data);
drivers/net/ethernet/intel/e1000e/ich8lan.c
5940
hw->phy.ops.read_reg_page(hw, HV_LATECOL_UPPER, &phy_data);
drivers/net/ethernet/intel/e1000e/ich8lan.c
5941
hw->phy.ops.read_reg_page(hw, HV_LATECOL_LOWER, &phy_data);
drivers/net/ethernet/intel/e1000e/ich8lan.c
5942
hw->phy.ops.read_reg_page(hw, HV_COLC_UPPER, &phy_data);
drivers/net/ethernet/intel/e1000e/ich8lan.c
5943
hw->phy.ops.read_reg_page(hw, HV_COLC_LOWER, &phy_data);
drivers/net/ethernet/intel/e1000e/ich8lan.c
5944
hw->phy.ops.read_reg_page(hw, HV_DC_UPPER, &phy_data);
drivers/net/ethernet/intel/e1000e/ich8lan.c
5945
hw->phy.ops.read_reg_page(hw, HV_DC_LOWER, &phy_data);
drivers/net/ethernet/intel/e1000e/ich8lan.c
5946
hw->phy.ops.read_reg_page(hw, HV_TNCRS_UPPER, &phy_data);
drivers/net/ethernet/intel/e1000e/ich8lan.c
5947
hw->phy.ops.read_reg_page(hw, HV_TNCRS_LOWER, &phy_data);
drivers/net/ethernet/intel/e1000e/ich8lan.c
5949
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
605
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/ich8lan.c
609
phy->addr = 1;
drivers/net/ethernet/intel/e1000e/ich8lan.c
610
phy->reset_delay_us = 100;
drivers/net/ethernet/intel/e1000e/ich8lan.c
612
phy->ops.power_up = e1000_power_up_phy_copper;
drivers/net/ethernet/intel/e1000e/ich8lan.c
613
phy->ops.power_down = e1000_power_down_phy_copper_ich8lan;
drivers/net/ethernet/intel/e1000e/ich8lan.c
620
phy->ops.write_reg = e1000e_write_phy_reg_bm;
drivers/net/ethernet/intel/e1000e/ich8lan.c
621
phy->ops.read_reg = e1000e_read_phy_reg_bm;
drivers/net/ethernet/intel/e1000e/ich8lan.c
629
phy->id = 0;
drivers/net/ethernet/intel/e1000e/ich8lan.c
630
while ((e1000_phy_unknown == e1000e_get_phy_type_from_id(phy->id)) &&
drivers/net/ethernet/intel/e1000e/ich8lan.c
639
switch (phy->id) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
641
phy->type = e1000_phy_igp_3;
drivers/net/ethernet/intel/e1000e/ich8lan.c
642
phy->autoneg_mask = AUTONEG_ADVERTISE_SPEED_DEFAULT;
drivers/net/ethernet/intel/e1000e/ich8lan.c
643
phy->ops.read_reg_locked = e1000e_read_phy_reg_igp_locked;
drivers/net/ethernet/intel/e1000e/ich8lan.c
644
phy->ops.write_reg_locked = e1000e_write_phy_reg_igp_locked;
drivers/net/ethernet/intel/e1000e/ich8lan.c
645
phy->ops.get_info = e1000e_get_phy_info_igp;
drivers/net/ethernet/intel/e1000e/ich8lan.c
646
phy->ops.check_polarity = e1000_check_polarity_igp;
drivers/net/ethernet/intel/e1000e/ich8lan.c
647
phy->ops.force_speed_duplex = e1000e_phy_force_speed_duplex_igp;
drivers/net/ethernet/intel/e1000e/ich8lan.c
652
phy->type = e1000_phy_ife;
drivers/net/ethernet/intel/e1000e/ich8lan.c
653
phy->autoneg_mask = E1000_ALL_NOT_GIG;
drivers/net/ethernet/intel/e1000e/ich8lan.c
654
phy->ops.get_info = e1000_get_phy_info_ife;
drivers/net/ethernet/intel/e1000e/ich8lan.c
655
phy->ops.check_polarity = e1000_check_polarity_ife;
drivers/net/ethernet/intel/e1000e/ich8lan.c
656
phy->ops.force_speed_duplex = e1000_phy_force_speed_duplex_ife;
drivers/net/ethernet/intel/e1000e/ich8lan.c
659
phy->type = e1000_phy_bm;
drivers/net/ethernet/intel/e1000e/ich8lan.c
660
phy->autoneg_mask = AUTONEG_ADVERTISE_SPEED_DEFAULT;
drivers/net/ethernet/intel/e1000e/ich8lan.c
661
phy->ops.read_reg = e1000e_read_phy_reg_bm;
drivers/net/ethernet/intel/e1000e/ich8lan.c
662
phy->ops.write_reg = e1000e_write_phy_reg_bm;
drivers/net/ethernet/intel/e1000e/ich8lan.c
663
phy->ops.commit = e1000e_phy_sw_reset;
drivers/net/ethernet/intel/e1000e/ich8lan.c
664
phy->ops.get_info = e1000e_get_phy_info_m88;
drivers/net/ethernet/intel/e1000e/ich8lan.c
665
phy->ops.check_polarity = e1000_check_polarity_m88;
drivers/net/ethernet/intel/e1000e/ich8lan.c
666
phy->ops.force_speed_duplex = e1000e_phy_force_speed_duplex_m88;
drivers/net/ethernet/intel/e1000e/ich8lan.c
760
hw->phy.media_type = e1000_media_type_copper;
drivers/net/ethernet/intel/e1000e/ich8lan.c
911
switch (hw->phy.type) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
926
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/ich8lan.c
970
if (hw->phy.type == e1000_phy_82579) {
drivers/net/ethernet/intel/e1000e/ich8lan.c
988
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/mac.c
1025
if (hw->phy.media_type == e1000_media_type_fiber ||
drivers/net/ethernet/intel/e1000e/mac.c
1026
hw->phy.media_type == e1000_media_type_internal_serdes)
drivers/net/ethernet/intel/e1000e/mac.c
1029
if (hw->phy.media_type == e1000_media_type_copper)
drivers/net/ethernet/intel/e1000e/mac.c
1043
if ((hw->phy.media_type == e1000_media_type_copper) && mac->autoneg) {
drivers/net/ethernet/intel/e1000e/mac.c
1185
if ((hw->phy.media_type == e1000_media_type_internal_serdes) &&
drivers/net/ethernet/intel/e1000e/mac.c
1550
if (hw->phy.media_type == e1000_media_type_fiber) {
drivers/net/ethernet/intel/e1000e/mac.c
1559
} else if (hw->phy.media_type == e1000_media_type_copper) {
drivers/net/ethernet/intel/e1000e/mac.c
1590
if (hw->phy.media_type == e1000_media_type_fiber) {
drivers/net/ethernet/intel/e1000e/mac.c
1634
switch (hw->phy.media_type) {
drivers/net/ethernet/intel/e1000e/mac.c
1661
switch (hw->phy.media_type) {
drivers/net/ethernet/intel/e1000e/mac.c
686
if (hw->phy.ops.check_reset_block && hw->phy.ops.check_reset_block(hw))
drivers/net/ethernet/intel/e1000e/mac.c
877
if (hw->phy.media_type == e1000_media_type_internal_serdes ||
drivers/net/ethernet/intel/e1000e/netdev.c
3069
if ((hw->phy.type == e1000_phy_82577) && (rctl & E1000_RCTL_LPE)) {
drivers/net/ethernet/intel/e1000e/netdev.c
3782
if (adapter->hw.phy.ops.power_up)
drivers/net/ethernet/intel/e1000e/netdev.c
3783
adapter->hw.phy.ops.power_up(&adapter->hw);
drivers/net/ethernet/intel/e1000e/netdev.c
3797
if (adapter->hw.phy.ops.power_down)
drivers/net/ethernet/intel/e1000e/netdev.c
3798
adapter->hw.phy.ops.power_down(&adapter->hw);
drivers/net/ethernet/intel/e1000e/netdev.c
4153
switch (hw->phy.type) {
drivers/net/ethernet/intel/e1000e/netdev.c
4166
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/netdev.c
4177
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/netdev.c
4849
if (hw->phy.type >= e1000_phy_82579)
drivers/net/ethernet/intel/e1000e/netdev.c
4883
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/netdev.c
4890
hw->phy.addr = 1;
drivers/net/ethernet/intel/e1000e/netdev.c
4896
ret_val = hw->phy.ops.set_page(hw,
drivers/net/ethernet/intel/e1000e/netdev.c
4903
hw->phy.ops.read_reg_page(hw, HV_SCC_UPPER, &phy_data);
drivers/net/ethernet/intel/e1000e/netdev.c
4904
ret_val = hw->phy.ops.read_reg_page(hw, HV_SCC_LOWER, &phy_data);
drivers/net/ethernet/intel/e1000e/netdev.c
4909
hw->phy.ops.read_reg_page(hw, HV_ECOL_UPPER, &phy_data);
drivers/net/ethernet/intel/e1000e/netdev.c
4910
ret_val = hw->phy.ops.read_reg_page(hw, HV_ECOL_LOWER, &phy_data);
drivers/net/ethernet/intel/e1000e/netdev.c
4915
hw->phy.ops.read_reg_page(hw, HV_MCC_UPPER, &phy_data);
drivers/net/ethernet/intel/e1000e/netdev.c
4916
ret_val = hw->phy.ops.read_reg_page(hw, HV_MCC_LOWER, &phy_data);
drivers/net/ethernet/intel/e1000e/netdev.c
4921
hw->phy.ops.read_reg_page(hw, HV_LATECOL_UPPER, &phy_data);
drivers/net/ethernet/intel/e1000e/netdev.c
4922
ret_val = hw->phy.ops.read_reg_page(hw, HV_LATECOL_LOWER, &phy_data);
drivers/net/ethernet/intel/e1000e/netdev.c
4927
hw->phy.ops.read_reg_page(hw, HV_COLC_UPPER, &phy_data);
drivers/net/ethernet/intel/e1000e/netdev.c
4928
ret_val = hw->phy.ops.read_reg_page(hw, HV_COLC_LOWER, &phy_data);
drivers/net/ethernet/intel/e1000e/netdev.c
4933
hw->phy.ops.read_reg_page(hw, HV_DC_UPPER, &phy_data);
drivers/net/ethernet/intel/e1000e/netdev.c
4934
ret_val = hw->phy.ops.read_reg_page(hw, HV_DC_LOWER, &phy_data);
drivers/net/ethernet/intel/e1000e/netdev.c
4939
hw->phy.ops.read_reg_page(hw, HV_TNCRS_UPPER, &phy_data);
drivers/net/ethernet/intel/e1000e/netdev.c
4940
ret_val = hw->phy.ops.read_reg_page(hw, HV_TNCRS_LOWER, &phy_data);
drivers/net/ethernet/intel/e1000e/netdev.c
4945
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/netdev.c
5069
struct e1000_phy_regs *phy = &adapter->phy_regs;
drivers/net/ethernet/intel/e1000e/netdev.c
5073
(adapter->hw.phy.media_type == e1000_media_type_copper)) {
drivers/net/ethernet/intel/e1000e/netdev.c
5076
ret_val = e1e_rphy(hw, MII_BMCR, &phy->bmcr);
drivers/net/ethernet/intel/e1000e/netdev.c
5077
ret_val |= e1e_rphy(hw, MII_BMSR, &phy->bmsr);
drivers/net/ethernet/intel/e1000e/netdev.c
5078
ret_val |= e1e_rphy(hw, MII_ADVERTISE, &phy->advertise);
drivers/net/ethernet/intel/e1000e/netdev.c
5079
ret_val |= e1e_rphy(hw, MII_LPA, &phy->lpa);
drivers/net/ethernet/intel/e1000e/netdev.c
5080
ret_val |= e1e_rphy(hw, MII_EXPANSION, &phy->expansion);
drivers/net/ethernet/intel/e1000e/netdev.c
5081
ret_val |= e1e_rphy(hw, MII_CTRL1000, &phy->ctrl1000);
drivers/net/ethernet/intel/e1000e/netdev.c
5082
ret_val |= e1e_rphy(hw, MII_STAT1000, &phy->stat1000);
drivers/net/ethernet/intel/e1000e/netdev.c
5083
ret_val |= e1e_rphy(hw, MII_ESTATUS, &phy->estatus);
drivers/net/ethernet/intel/e1000e/netdev.c
5090
phy->bmcr = (BMCR_SPEED1000 | BMCR_ANENABLE | BMCR_FULLDPLX);
drivers/net/ethernet/intel/e1000e/netdev.c
5091
phy->bmsr = (BMSR_100FULL | BMSR_100HALF | BMSR_10FULL |
drivers/net/ethernet/intel/e1000e/netdev.c
5094
phy->advertise = (ADVERTISE_PAUSE_ASYM | ADVERTISE_PAUSE_CAP |
drivers/net/ethernet/intel/e1000e/netdev.c
5096
phy->lpa = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
5097
phy->expansion = EXPANSION_ENABLENPAGE;
drivers/net/ethernet/intel/e1000e/netdev.c
5098
phy->ctrl1000 = ADVERTISE_1000FULL;
drivers/net/ethernet/intel/e1000e/netdev.c
5099
phy->stat1000 = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
5100
phy->estatus = (ESTATUS_1000_TFULL | ESTATUS_1000_THALF);
drivers/net/ethernet/intel/e1000e/netdev.c
5130
switch (hw->phy.media_type) {
drivers/net/ethernet/intel/e1000e/netdev.c
5152
if ((ret_val == -E1000_ERR_PHY) && (hw->phy.type == e1000_phy_igp_3) &&
drivers/net/ethernet/intel/e1000e/netdev.c
5215
struct e1000_phy_info *phy = &adapter->hw.phy;
drivers/net/ethernet/intel/e1000e/netdev.c
5270
if (phy->speed_downgraded)
drivers/net/ethernet/intel/e1000e/netdev.c
5277
if ((hw->phy.type == e1000_phy_igp_3 ||
drivers/net/ethernet/intel/e1000e/netdev.c
5278
hw->phy.type == e1000_phy_bm) &&
drivers/net/ethernet/intel/e1000e/netdev.c
5326
if (phy->ops.cfg_on_link_up)
drivers/net/ethernet/intel/e1000e/netdev.c
5327
phy->ops.cfg_on_link_up(hw);
drivers/net/ethernet/intel/e1000e/netdev.c
6107
if (adapter->hw.phy.media_type != e1000_media_type_copper)
drivers/net/ethernet/intel/e1000e/netdev.c
6112
data->phy_id = adapter->hw.phy.addr;
drivers/net/ethernet/intel/e1000e/netdev.c
6125
data->val_out = (adapter->hw.phy.id >> 16);
drivers/net/ethernet/intel/e1000e/netdev.c
6128
data->val_out = (adapter->hw.phy.id & 0xFFFF);
drivers/net/ethernet/intel/e1000e/netdev.c
6228
retval = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/netdev.c
6242
hw->phy.ops.write_reg_page(hw, BM_MTA(i),
drivers/net/ethernet/intel/e1000e/netdev.c
6244
hw->phy.ops.write_reg_page(hw, BM_MTA(i) + 1,
drivers/net/ethernet/intel/e1000e/netdev.c
6249
hw->phy.ops.read_reg_page(&adapter->hw, BM_RCTL, &phy_reg);
drivers/net/ethernet/intel/e1000e/netdev.c
6266
hw->phy.ops.write_reg_page(&adapter->hw, BM_RCTL, phy_reg);
drivers/net/ethernet/intel/e1000e/netdev.c
6278
hw->phy.ops.write_reg_page(&adapter->hw, BM_WUFC, wufc);
drivers/net/ethernet/intel/e1000e/netdev.c
6279
hw->phy.ops.write_reg_page(&adapter->hw, BM_WUC, wuc);
drivers/net/ethernet/intel/e1000e/netdev.c
6287
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/netdev.c
6301
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/netdev.c
6308
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/netdev.c
6664
if (adapter->hw.phy.media_type == e1000_media_type_fiber ||
drivers/net/ethernet/intel/e1000e/netdev.c
6665
adapter->hw.phy.media_type ==
drivers/net/ethernet/intel/e1000e/netdev.c
6698
if (adapter->hw.phy.type == e1000_phy_igp_3) {
drivers/net/ethernet/intel/e1000e/netdev.c
6716
if ((hw->phy.type >= e1000_phy_i217) &&
drivers/net/ethernet/intel/e1000e/netdev.c
6720
retval = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/netdev.c
6738
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/netdev.c
7248
(hw->phy.type == e1000_phy_ife) ? "10/100" : "1000");
drivers/net/ethernet/intel/e1000e/netdev.c
7254
hw->mac.type, hw->phy.type, pba_str);
drivers/net/ethernet/intel/e1000e/netdev.c
7480
memcpy(&hw->phy.ops, ei->phy_ops, sizeof(hw->phy.ops));
drivers/net/ethernet/intel/e1000e/netdev.c
7493
adapter->hw.phy.autoneg_wait_to_complete = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
7496
if (adapter->hw.phy.media_type == e1000_media_type_copper) {
drivers/net/ethernet/intel/e1000e/netdev.c
7497
adapter->hw.phy.mdix = AUTO_ALL_MODES;
drivers/net/ethernet/intel/e1000e/netdev.c
7498
adapter->hw.phy.disable_polarity_correction = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
7499
adapter->hw.phy.ms_type = e1000_ms_hw_default;
drivers/net/ethernet/intel/e1000e/netdev.c
7502
if (hw->phy.ops.check_reset_block && hw->phy.ops.check_reset_block(hw))
drivers/net/ethernet/intel/e1000e/netdev.c
7617
adapter->hw.phy.autoneg_advertised = 0x2f;
drivers/net/ethernet/intel/e1000e/netdev.c
7710
if (hw->phy.ops.check_reset_block && !hw->phy.ops.check_reset_block(hw))
drivers/net/ethernet/intel/e1000e/phy.c
1004
if (phy->autoneg_advertised & ADVERTISE_10_FULL) {
drivers/net/ethernet/intel/e1000e/phy.c
1010
if (phy->autoneg_advertised & ADVERTISE_100_HALF) {
drivers/net/ethernet/intel/e1000e/phy.c
1016
if (phy->autoneg_advertised & ADVERTISE_100_FULL) {
drivers/net/ethernet/intel/e1000e/phy.c
1022
if (phy->autoneg_advertised & ADVERTISE_1000_HALF)
drivers/net/ethernet/intel/e1000e/phy.c
1026
if (phy->autoneg_advertised & ADVERTISE_1000_FULL) {
drivers/net/ethernet/intel/e1000e/phy.c
1055
phy->autoneg_advertised &=
drivers/net/ethernet/intel/e1000e/phy.c
1070
phy->autoneg_advertised |=
drivers/net/ethernet/intel/e1000e/phy.c
1079
phy->autoneg_advertised |= ADVERTISED_Asym_Pause;
drivers/net/ethernet/intel/e1000e/phy.c
1080
phy->autoneg_advertised &= ~ADVERTISED_Pause;
drivers/net/ethernet/intel/e1000e/phy.c
1088
phy->autoneg_advertised |=
drivers/net/ethernet/intel/e1000e/phy.c
1102
if (phy->autoneg_mask & ADVERTISE_1000_FULL)
drivers/net/ethernet/intel/e1000e/phy.c
1119
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
112
hw->phy.retry_enabled = false;
drivers/net/ethernet/intel/e1000e/phy.c
1126
phy->autoneg_advertised &= phy->autoneg_mask;
drivers/net/ethernet/intel/e1000e/phy.c
1131
if (!phy->autoneg_advertised)
drivers/net/ethernet/intel/e1000e/phy.c
1132
phy->autoneg_advertised = phy->autoneg_mask;
drivers/net/ethernet/intel/e1000e/phy.c
1157
if (phy->autoneg_wait_to_complete) {
drivers/net/ethernet/intel/e1000e/phy.c
117
hw->phy.retry_enabled = true;
drivers/net/ethernet/intel/e1000e/phy.c
1196
ret_val = hw->phy.ops.force_speed_duplex(hw);
drivers/net/ethernet/intel/e1000e/phy.c
1232
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
1265
if (phy->autoneg_wait_to_complete) {
drivers/net/ethernet/intel/e1000e/phy.c
1296
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
132
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
1326
if (hw->phy.ops.commit) {
drivers/net/ethernet/intel/e1000e/phy.c
1327
ret_val = hw->phy.ops.commit(hw);
drivers/net/ethernet/intel/e1000e/phy.c
1332
if (phy->autoneg_wait_to_complete) {
drivers/net/ethernet/intel/e1000e/phy.c
1341
if (hw->phy.type != e1000_phy_m88) {
drivers/net/ethernet/intel/e1000e/phy.c
1364
if (hw->phy.type != e1000_phy_m88)
drivers/net/ethernet/intel/e1000e/phy.c
140
retry_max = phy->retry_enabled ? phy->retry_count : 0;
drivers/net/ethernet/intel/e1000e/phy.c
1403
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
1434
if (phy->autoneg_wait_to_complete) {
drivers/net/ethernet/intel/e1000e/phy.c
150
(phy->addr << E1000_MDIC_PHY_SHIFT) |
drivers/net/ethernet/intel/e1000e/phy.c
1530
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
1548
if (phy->smart_speed == e1000_smart_speed_on) {
drivers/net/ethernet/intel/e1000e/phy.c
1559
} else if (phy->smart_speed == e1000_smart_speed_off) {
drivers/net/ethernet/intel/e1000e/phy.c
1571
} else if ((phy->autoneg_advertised == E1000_ALL_SPEED_DUPLEX) ||
drivers/net/ethernet/intel/e1000e/phy.c
1572
(phy->autoneg_advertised == E1000_ALL_NOT_GIG) ||
drivers/net/ethernet/intel/e1000e/phy.c
1573
(phy->autoneg_advertised == E1000_ALL_10_SPEED)) {
drivers/net/ethernet/intel/e1000e/phy.c
1601
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
1605
switch (phy->type) {
drivers/net/ethernet/intel/e1000e/phy.c
1620
phy->speed_downgraded = false;
drivers/net/ethernet/intel/e1000e/phy.c
1627
phy->speed_downgraded = !!(phy_data & mask);
drivers/net/ethernet/intel/e1000e/phy.c
1642
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
1649
phy->cable_polarity = ((data & M88E1000_PSSR_REV_POLARITY)
drivers/net/ethernet/intel/e1000e/phy.c
1667
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
1693
phy->cable_polarity = ((data & mask)
drivers/net/ethernet/intel/e1000e/phy.c
1708
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
1714
if (phy->polarity_correction) {
drivers/net/ethernet/intel/e1000e/phy.c
1725
phy->cable_polarity = ((phy_data & mask)
drivers/net/ethernet/intel/e1000e/phy.c
1828
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
1841
phy->min_cable_length = e1000_m88_cable_length_table[index];
drivers/net/ethernet/intel/e1000e/phy.c
1842
phy->max_cable_length = e1000_m88_cable_length_table[index + 1];
drivers/net/ethernet/intel/e1000e/phy.c
1844
phy->cable_length = (phy->min_cable_length + phy->max_cable_length) / 2;
drivers/net/ethernet/intel/e1000e/phy.c
1862
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
1909
phy->min_cable_length = (((agc_value - IGP02E1000_AGC_RANGE) > 0) ?
drivers/net/ethernet/intel/e1000e/phy.c
1911
phy->max_cable_length = agc_value + IGP02E1000_AGC_RANGE;
drivers/net/ethernet/intel/e1000e/phy.c
1913
phy->cable_length = (phy->min_cable_length + phy->max_cable_length) / 2;
drivers/net/ethernet/intel/e1000e/phy.c
1930
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
1935
if (phy->media_type != e1000_media_type_copper) {
drivers/net/ethernet/intel/e1000e/phy.c
1953
phy->polarity_correction = !!(phy_data &
drivers/net/ethernet/intel/e1000e/phy.c
1964
phy->is_mdix = !!(phy_data & M88E1000_PSSR_MDIX);
drivers/net/ethernet/intel/e1000e/phy.c
1967
ret_val = hw->phy.ops.get_cable_length(hw);
drivers/net/ethernet/intel/e1000e/phy.c
1975
phy->local_rx = (phy_data & LPA_1000LOCALRXOK)
drivers/net/ethernet/intel/e1000e/phy.c
1978
phy->remote_rx = (phy_data & LPA_1000REMRXOK)
drivers/net/ethernet/intel/e1000e/phy.c
1982
phy->cable_length = E1000_CABLE_LENGTH_UNDEFINED;
drivers/net/ethernet/intel/e1000e/phy.c
1983
phy->local_rx = e1000_1000t_rx_status_undefined;
drivers/net/ethernet/intel/e1000e/phy.c
1984
phy->remote_rx = e1000_1000t_rx_status_undefined;
drivers/net/ethernet/intel/e1000e/phy.c
2001
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
2015
phy->polarity_correction = true;
drivers/net/ethernet/intel/e1000e/phy.c
2025
phy->is_mdix = !!(data & IGP01E1000_PSSR_MDIX);
drivers/net/ethernet/intel/e1000e/phy.c
2029
ret_val = phy->ops.get_cable_length(hw);
drivers/net/ethernet/intel/e1000e/phy.c
2037
phy->local_rx = (data & LPA_1000LOCALRXOK)
drivers/net/ethernet/intel/e1000e/phy.c
2040
phy->remote_rx = (data & LPA_1000REMRXOK)
drivers/net/ethernet/intel/e1000e/phy.c
2043
phy->cable_length = E1000_CABLE_LENGTH_UNDEFINED;
drivers/net/ethernet/intel/e1000e/phy.c
2044
phy->local_rx = e1000_1000t_rx_status_undefined;
drivers/net/ethernet/intel/e1000e/phy.c
2045
phy->remote_rx = e1000_1000t_rx_status_undefined;
drivers/net/ethernet/intel/e1000e/phy.c
2059
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
2076
phy->polarity_correction = !(data & IFE_PSC_AUTO_POLARITY_DISABLE);
drivers/net/ethernet/intel/e1000e/phy.c
2078
if (phy->polarity_correction) {
drivers/net/ethernet/intel/e1000e/phy.c
2084
phy->cable_polarity = ((data & IFE_PSC_FORCE_POLARITY)
drivers/net/ethernet/intel/e1000e/phy.c
2093
phy->is_mdix = !!(data & IFE_PMC_MDIX_STATUS);
drivers/net/ethernet/intel/e1000e/phy.c
2096
phy->cable_length = E1000_CABLE_LENGTH_UNDEFINED;
drivers/net/ethernet/intel/e1000e/phy.c
2097
phy->local_rx = e1000_1000t_rx_status_undefined;
drivers/net/ethernet/intel/e1000e/phy.c
2098
phy->remote_rx = e1000_1000t_rx_status_undefined;
drivers/net/ethernet/intel/e1000e/phy.c
211
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
2140
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
2144
if (phy->ops.check_reset_block) {
drivers/net/ethernet/intel/e1000e/phy.c
2145
ret_val = phy->ops.check_reset_block(hw);
drivers/net/ethernet/intel/e1000e/phy.c
2150
ret_val = phy->ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/phy.c
2158
udelay(phy->reset_delay_us);
drivers/net/ethernet/intel/e1000e/phy.c
2165
phy->ops.release(hw);
drivers/net/ethernet/intel/e1000e/phy.c
2167
return phy->ops.get_cfg_done(hw);
drivers/net/ethernet/intel/e1000e/phy.c
219
retry_max = phy->retry_enabled ? phy->retry_count : 0;
drivers/net/ethernet/intel/e1000e/phy.c
230
(phy->addr << E1000_MDIC_PHY_SHIFT) |
drivers/net/ethernet/intel/e1000e/phy.c
2335
hw->phy.id = phy_type;
drivers/net/ethernet/intel/e1000e/phy.c
2338
hw->phy.addr = phy_addr;
drivers/net/ethernet/intel/e1000e/phy.c
2343
phy_type = e1000e_get_phy_type_from_id(hw->phy.id);
drivers/net/ethernet/intel/e1000e/phy.c
2390
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/phy.c
2401
hw->phy.addr = e1000_get_phy_addr_for_bm_page(page, offset);
drivers/net/ethernet/intel/e1000e/phy.c
2410
if (hw->phy.addr == 1) {
drivers/net/ethernet/intel/e1000e/phy.c
2429
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/phy.c
2448
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/phy.c
2459
hw->phy.addr = e1000_get_phy_addr_for_bm_page(page, offset);
drivers/net/ethernet/intel/e1000e/phy.c
2468
if (hw->phy.addr == 1) {
drivers/net/ethernet/intel/e1000e/phy.c
2486
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/phy.c
2505
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/phy.c
2516
hw->phy.addr = 1;
drivers/net/ethernet/intel/e1000e/phy.c
2530
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/phy.c
2548
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/phy.c
2559
hw->phy.addr = 1;
drivers/net/ethernet/intel/e1000e/phy.c
2574
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/phy.c
2592
hw->phy.addr = 1;
drivers/net/ethernet/intel/e1000e/phy.c
2802
u32 phy_addr = hw->phy.addr = e1000_get_phy_addr_for_hv_page(page);
drivers/net/ethernet/intel/e1000e/phy.c
2805
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/phy.c
2832
hw->phy.addr = phy_addr;
drivers/net/ethernet/intel/e1000e/phy.c
2845
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/phy.c
2910
u32 phy_addr = hw->phy.addr = e1000_get_phy_addr_for_hv_page(page);
drivers/net/ethernet/intel/e1000e/phy.c
2913
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/phy.c
292
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/phy.c
2938
if ((hw->phy.type == e1000_phy_82578) &&
drivers/net/ethernet/intel/e1000e/phy.c
2939
(hw->phy.revision >= 1) &&
drivers/net/ethernet/intel/e1000e/phy.c
2940
(hw->phy.addr == 2) &&
drivers/net/ethernet/intel/e1000e/phy.c
2956
hw->phy.addr = phy_addr;
drivers/net/ethernet/intel/e1000e/phy.c
2971
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/phy.c
299
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/phy.c
3052
addr_reg = ((hw->phy.type == e1000_phy_82578) ?
drivers/net/ethernet/intel/e1000e/phy.c
3057
hw->phy.addr = 2;
drivers/net/ethernet/intel/e1000e/phy.c
3094
if (hw->phy.type != e1000_phy_82578)
drivers/net/ethernet/intel/e1000e/phy.c
3140
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
3147
phy->cable_polarity = ((data & I82577_PHY_STATUS2_REV_POLARITY)
drivers/net/ethernet/intel/e1000e/phy.c
3162
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
317
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/phy.c
3179
if (phy->autoneg_wait_to_complete) {
drivers/net/ethernet/intel/e1000e/phy.c
3209
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
3223
phy->polarity_correction = true;
drivers/net/ethernet/intel/e1000e/phy.c
3233
phy->is_mdix = !!(data & I82577_PHY_STATUS2_MDIX);
drivers/net/ethernet/intel/e1000e/phy.c
3237
ret_val = hw->phy.ops.get_cable_length(hw);
drivers/net/ethernet/intel/e1000e/phy.c
324
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/phy.c
3245
phy->local_rx = (data & LPA_1000LOCALRXOK)
drivers/net/ethernet/intel/e1000e/phy.c
3248
phy->remote_rx = (data & LPA_1000REMRXOK)
drivers/net/ethernet/intel/e1000e/phy.c
3251
phy->cable_length = E1000_CABLE_LENGTH_UNDEFINED;
drivers/net/ethernet/intel/e1000e/phy.c
3252
phy->local_rx = e1000_1000t_rx_status_undefined;
drivers/net/ethernet/intel/e1000e/phy.c
3253
phy->remote_rx = e1000_1000t_rx_status_undefined;
drivers/net/ethernet/intel/e1000e/phy.c
3268
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
3281
phy->cable_length = length;
drivers/net/ethernet/intel/e1000e/phy.c
342
hw->phy.addr = 1;
drivers/net/ethernet/intel/e1000e/phy.c
364
if (!hw->phy.ops.acquire)
drivers/net/ethernet/intel/e1000e/phy.c
367
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/phy.c
381
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/phy.c
431
if (!hw->phy.ops.acquire)
drivers/net/ethernet/intel/e1000e/phy.c
434
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/phy.c
447
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/phy.c
499
if (!hw->phy.ops.acquire)
drivers/net/ethernet/intel/e1000e/phy.c
502
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/phy.c
518
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/phy.c
572
if (!hw->phy.ops.acquire)
drivers/net/ethernet/intel/e1000e/phy.c
575
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/e1000e/phy.c
587
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/e1000e/phy.c
62
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
637
hw->phy.original_ms_type = (phy_data & CTL1000_ENABLE_MASTER) ?
drivers/net/ethernet/intel/e1000e/phy.c
641
switch (hw->phy.ms_type) {
drivers/net/ethernet/intel/e1000e/phy.c
67
if (!phy->ops.read_reg)
drivers/net/ethernet/intel/e1000e/phy.c
694
switch (hw->phy.mdix) {
drivers/net/ethernet/intel/e1000e/phy.c
721
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
731
if (phy->type != e1000_phy_bm)
drivers/net/ethernet/intel/e1000e/phy.c
743
switch (phy->mdix) {
drivers/net/ethernet/intel/e1000e/phy.c
75
phy->id = (u32)(phy_id << 16);
drivers/net/ethernet/intel/e1000e/phy.c
766
if (phy->disable_polarity_correction)
drivers/net/ethernet/intel/e1000e/phy.c
770
if (phy->type == e1000_phy_bm) {
drivers/net/ethernet/intel/e1000e/phy.c
772
if (phy->id == BME1000_E_PHY_ID_R2) {
drivers/net/ethernet/intel/e1000e/phy.c
779
ret_val = phy->ops.commit(hw);
drivers/net/ethernet/intel/e1000e/phy.c
793
if ((phy->type == e1000_phy_m88) &&
drivers/net/ethernet/intel/e1000e/phy.c
794
(phy->revision < E1000_REVISION_4) &&
drivers/net/ethernet/intel/e1000e/phy.c
795
(phy->id != BME1000_E_PHY_ID_R2)) {
drivers/net/ethernet/intel/e1000e/phy.c
805
if ((phy->revision == 2) && (phy->id == M88E1111_I_PHY_ID)) {
drivers/net/ethernet/intel/e1000e/phy.c
81
phy->id |= (u32)(phy_id & PHY_REVISION_MASK);
drivers/net/ethernet/intel/e1000e/phy.c
82
phy->revision = (u32)(phy_id & ~PHY_REVISION_MASK);
drivers/net/ethernet/intel/e1000e/phy.c
821
if ((phy->type == e1000_phy_bm) && (phy->id == BME1000_E_PHY_ID_R2)) {
drivers/net/ethernet/intel/e1000e/phy.c
834
if (phy->ops.commit) {
drivers/net/ethernet/intel/e1000e/phy.c
835
ret_val = phy->ops.commit(hw);
drivers/net/ethernet/intel/e1000e/phy.c
84
if (phy->id != 0 && phy->id != PHY_REVISION_MASK)
drivers/net/ethernet/intel/e1000e/phy.c
842
if (phy->type == e1000_phy_82578) {
drivers/net/ethernet/intel/e1000e/phy.c
867
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
883
if (hw->phy.ops.set_d0_lplu_state) {
drivers/net/ethernet/intel/e1000e/phy.c
884
ret_val = hw->phy.ops.set_d0_lplu_state(hw, false);
drivers/net/ethernet/intel/e1000e/phy.c
897
switch (phy->mdix) {
drivers/net/ethernet/intel/e1000e/phy.c
919
if (phy->autoneg_advertised == ADVERTISE_1000_FULL) {
drivers/net/ethernet/intel/e1000e/phy.c
960
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/e1000e/phy.c
965
phy->autoneg_advertised &= phy->autoneg_mask;
drivers/net/ethernet/intel/e1000e/phy.c
972
if (phy->autoneg_mask & ADVERTISE_1000_FULL) {
drivers/net/ethernet/intel/e1000e/phy.c
995
e_dbg("autoneg_advertised %x\n", phy->autoneg_advertised);
drivers/net/ethernet/intel/e1000e/phy.c
998
if (phy->autoneg_advertised & ADVERTISE_10_HALF) {
drivers/net/ethernet/intel/i40e/i40e_common.c
1055
hw->phy.phy_types = le32_to_cpu(abilities->phy_type);
drivers/net/ethernet/intel/i40e/i40e_common.c
1056
hw->phy.phy_types |=
drivers/net/ethernet/intel/i40e/i40e_common.c
1297
struct i40e_link_status *hw_link_info = &hw->phy.link_info;
drivers/net/ethernet/intel/i40e/i40e_common.c
1319
hw->phy.link_info_old = *hw_link_info;
drivers/net/ethernet/intel/i40e/i40e_common.c
1323
hw->phy.media_type = i40e_get_media_type(hw);
drivers/net/ethernet/intel/i40e/i40e_common.c
1365
hw->phy.phy_types = le32_to_cpu(tmp);
drivers/net/ethernet/intel/i40e/i40e_common.c
1366
hw->phy.phy_types |= ((u64)resp->link_type_ext << 32);
drivers/net/ethernet/intel/i40e/i40e_common.c
1374
hw->phy.get_link_info = false;
drivers/net/ethernet/intel/i40e/i40e_common.c
2019
if (hw->phy.get_link_info) {
drivers/net/ethernet/intel/i40e/i40e_common.c
2027
*link_up = hw->phy.link_info.link_info & I40E_AQ_LINK_UP;
drivers/net/ethernet/intel/i40e/i40e_common.c
2046
if ((hw->phy.link_info.link_info & I40E_AQ_MEDIA_AVAILABLE) &&
drivers/net/ethernet/intel/i40e/i40e_common.c
2047
((hw->phy.link_info.link_info & I40E_AQ_LINK_UP) ||
drivers/net/ethernet/intel/i40e/i40e_common.c
2048
!(hw->phy.link_info_old.link_info & I40E_AQ_LINK_UP))) {
drivers/net/ethernet/intel/i40e/i40e_common.c
2056
hw->phy.link_info.req_fec_info =
drivers/net/ethernet/intel/i40e/i40e_common.c
2060
hw->phy.link_info.req_fec_info =
drivers/net/ethernet/intel/i40e/i40e_common.c
2065
memcpy(hw->phy.link_info.module_type, &abilities.module_type,
drivers/net/ethernet/intel/i40e/i40e_common.c
2066
sizeof(hw->phy.link_info.module_type));
drivers/net/ethernet/intel/i40e/i40e_common.c
351
hw->phy.get_link_info = true;
drivers/net/ethernet/intel/i40e/i40e_common.c
582
switch (hw->phy.link_info.phy_type) {
drivers/net/ethernet/intel/i40e/i40e_dcb.c
1371
u32 link_speed = hw->phy.link_info.link_speed;
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
1074
struct i40e_link_status *hw_link_info = &hw->phy.link_info;
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
1091
switch (hw->phy.media_type) {
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
1249
if (hw->phy.media_type != I40E_MEDIA_TYPE_BASET &&
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
1250
hw->phy.media_type != I40E_MEDIA_TYPE_FIBER &&
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
1251
hw->phy.media_type != I40E_MEDIA_TYPE_BACKPLANE &&
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
1252
hw->phy.media_type != I40E_MEDIA_TYPE_DA &&
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
1253
hw->phy.link_info.link_info & I40E_AQ_LINK_UP)
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
1324
if (!(hw->phy.link_info.an_info & I40E_AQ_AN_COMPLETED)) {
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
1340
if (hw->phy.link_info.an_info & I40E_AQ_AN_COMPLETED) {
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
1347
hw->phy.media_type != I40E_MEDIA_TYPE_BASET) {
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
1446
hw->phy.link_info.requested_speeds = config.link_speed;
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
1450
if (hw->phy.link_info.link_info & I40E_AQ_LINK_UP) {
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
1577
if (hw->phy.link_info.fec_info & I40E_AQ_CONFIG_FEC_KR_ENA)
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
1579
else if (hw->phy.link_info.fec_info & I40E_AQ_CONFIG_FEC_RS_ENA)
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
1637
bool link_up = hw->phy.link_info.link_info & I40E_AQ_LINK_UP;
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
1664
struct i40e_link_status *hw_link_info = &hw->phy.link_info;
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
1700
struct i40e_link_status *hw_link_info = &hw->phy.link_info;
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
496
struct i40e_link_status *hw_link_info = &pf->hw.phy.link_info;
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
497
u64 phy_types = pf->hw.phy.phy_types;
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
5505
if (hw->phy.link_info.phy_type == I40E_PHY_TYPE_EMPTY) {
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
5510
type = hw->phy.link_info.module_type[0];
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
5604
if (hw->phy.link_info.module_type[0] == I40E_MODULE_TYPE_SFP)
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
777
struct i40e_link_status *hw_link_info = &hw->phy.link_info;
drivers/net/ethernet/intel/i40e/i40e_main.c
10936
(hw->phy.link_info.link_speed &
drivers/net/ethernet/intel/i40e/i40e_main.c
16065
pf->hw.phy.link_info.requested_speeds = abilities.link_speed;
drivers/net/ethernet/intel/i40e/i40e_main.c
5941
switch (pf->hw.phy.link_info.link_speed) {
drivers/net/ethernet/intel/i40e/i40e_main.c
7283
new_speed = pf->hw.phy.link_info.link_speed;
drivers/net/ethernet/intel/i40e/i40e_main.c
7300
(pf->hw.phy.link_info.link_speed == I40E_LINK_SPEED_1GB ||
drivers/net/ethernet/intel/i40e/i40e_main.c
7301
pf->hw.phy.link_info.link_speed == I40E_LINK_SPEED_100MB))
drivers/net/ethernet/intel/i40e/i40e_main.c
7305
switch (pf->hw.phy.link_info.link_speed) {
drivers/net/ethernet/intel/i40e/i40e_main.c
7349
if (pf->hw.phy.link_info.link_speed == I40E_LINK_SPEED_25GB) {
drivers/net/ethernet/intel/i40e/i40e_main.c
7354
if (pf->hw.phy.link_info.an_info & I40E_AQ_AN_COMPLETED)
drivers/net/ethernet/intel/i40e/i40e_main.c
7357
if (pf->hw.phy.link_info.fec_info &
drivers/net/ethernet/intel/i40e/i40e_main.c
7360
else if (pf->hw.phy.link_info.fec_info &
drivers/net/ethernet/intel/i40e/i40e_main.c
7367
if (vsi->back->hw.phy.link_info.req_fec_info &
drivers/net/ethernet/intel/i40e/i40e_main.c
7369
if (vsi->back->hw.phy.link_info.req_fec_info &
drivers/net/ethernet/intel/i40e/i40e_main.c
7383
if (pf->hw.phy.link_info.an_info & I40E_AQ_AN_COMPLETED)
drivers/net/ethernet/intel/i40e/i40e_main.c
7386
if (pf->hw.phy.link_info.fec_info &
drivers/net/ethernet/intel/i40e/i40e_main.c
7390
if (pf->hw.phy.link_info.req_fec_info &
drivers/net/ethernet/intel/i40e/i40e_main.c
7426
if ((pf->hw.phy.link_info.link_info & I40E_AQ_LINK_UP) &&
drivers/net/ethernet/intel/i40e/i40e_main.c
9439
(hw->phy.link_info.link_speed &
drivers/net/ethernet/intel/i40e/i40e_main.c
9478
(hw->phy.link_info.link_speed &
drivers/net/ethernet/intel/i40e/i40e_main.c
9921
pf->hw.phy.get_link_info = true;
drivers/net/ethernet/intel/i40e/i40e_main.c
9922
old_link = (pf->hw.phy.link_info_old.link_info & I40E_AQ_LINK_UP);
drivers/net/ethernet/intel/i40e/i40e_main.c
9938
old_link_speed = pf->hw.phy.link_info_old.link_speed;
drivers/net/ethernet/intel/i40e/i40e_main.c
9939
new_link_speed = pf->hw.phy.link_info.link_speed;
drivers/net/ethernet/intel/i40e/i40e_ptp.c
865
hw_link_info = &hw->phy.link_info;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1123
switch (q_vector->vsi->back->hw.phy.link_info.link_speed) {
drivers/net/ethernet/intel/i40e/i40e_type.h
516
struct i40e_phy_info phy;
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
115
struct i40e_link_status *ls = &pf->hw.phy.link_info;
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
2109
u16 max_frame_size = vf->pf->hw.phy.link_info.max_frame_size;
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
4044
struct i40e_link_status *ls = &pf->hw.phy.link_info;
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
4799
struct i40e_link_status *ls = &pf->hw.phy.link_info;
drivers/net/ethernet/intel/ice/ice_common.c
3613
pi->phy.curr_user_phy_cfg = *cfg;
drivers/net/ethernet/intel/ice/ice_common.c
3630
li = &pi->phy.link_info;
drivers/net/ethernet/intel/ice/ice_common.c
365
pi->phy.phy_type_low = le64_to_cpu(pcaps->phy_type_low);
drivers/net/ethernet/intel/ice/ice_common.c
366
pi->phy.phy_type_high = le64_to_cpu(pcaps->phy_type_high);
drivers/net/ethernet/intel/ice/ice_common.c
367
memcpy(pi->phy.link_info.module_type, &pcaps->module_type,
drivers/net/ethernet/intel/ice/ice_common.c
368
sizeof(pi->phy.link_info.module_type));
drivers/net/ethernet/intel/ice/ice_common.c
3762
pi->phy.curr_user_fc_req = cache_data.data.curr_user_fc_req;
drivers/net/ethernet/intel/ice/ice_common.c
3765
pi->phy.curr_user_speed_req =
drivers/net/ethernet/intel/ice/ice_common.c
3769
pi->phy.curr_user_fec_req = cache_data.data.curr_user_fec_req;
drivers/net/ethernet/intel/ice/ice_common.c
4109
phy_info = &pi->phy;
drivers/net/ethernet/intel/ice/ice_common.c
515
hw_link_info = &pi->phy.link_info;
drivers/net/ethernet/intel/ice/ice_common.c
666
li_old = &pi->phy.link_info_old;
drivers/net/ethernet/intel/ice/ice_common.c
667
hw_media_type = &pi->phy.media_type;
drivers/net/ethernet/intel/ice/ice_common.c
668
li = &pi->phy.link_info;
drivers/net/ethernet/intel/ice/ice_common.c
736
pi->phy.get_link_info = false;
drivers/net/ethernet/intel/ice/ice_ethtool.c
1568
if (pi->phy.curr_user_fec_req == req_fec)
drivers/net/ethernet/intel/ice/ice_ethtool.c
1575
memcpy(&config, &pi->phy.curr_user_phy_cfg, sizeof(config));
drivers/net/ethernet/intel/ice/ice_ethtool.c
1584
pi->phy.curr_user_fec_req = req_fec;
drivers/net/ethernet/intel/ice/ice_ethtool.c
1643
link_info = &pi->phy.link_info;
drivers/net/ethernet/intel/ice/ice_ethtool.c
2132
req_speeds = vsi->port_info->phy.link_info.req_speeds;
drivers/net/ethernet/intel/ice/ice_ethtool.c
2175
phy_types_low = vsi->port_info->phy.phy_type_low;
drivers/net/ethernet/intel/ice/ice_ethtool.c
2176
phy_types_high = vsi->port_info->phy.phy_type_high;
drivers/net/ethernet/intel/ice/ice_ethtool.c
2183
advert_phy_type_lo = vsi->port_info->phy.phy_type_low;
drivers/net/ethernet/intel/ice/ice_ethtool.c
2184
advert_phy_type_hi = vsi->port_info->phy.phy_type_high;
drivers/net/ethernet/intel/ice/ice_ethtool.c
2223
link_info = &vsi->port_info->phy.link_info;
drivers/net/ethernet/intel/ice/ice_ethtool.c
2337
hw_link_info = &vsi->port_info->phy.link_info;
drivers/net/ethernet/intel/ice/ice_ethtool.c
2350
switch (vsi->port_info->phy.media_type) {
drivers/net/ethernet/intel/ice/ice_ethtool.c
2535
if (!(p->phy.link_info.an_info & ICE_AQ_AN_COMPLETED)) {
drivers/net/ethernet/intel/ice/ice_ethtool.c
2550
if (p->phy.link_info.an_info & ICE_AQ_AN_COMPLETED) {
drivers/net/ethernet/intel/ice/ice_ethtool.c
2637
if (pi->phy.media_type != ICE_MEDIA_BASET &&
drivers/net/ethernet/intel/ice/ice_ethtool.c
2638
pi->phy.media_type != ICE_MEDIA_FIBER &&
drivers/net/ethernet/intel/ice/ice_ethtool.c
2639
pi->phy.media_type != ICE_MEDIA_BACKPLANE &&
drivers/net/ethernet/intel/ice/ice_ethtool.c
2640
pi->phy.media_type != ICE_MEDIA_DA &&
drivers/net/ethernet/intel/ice/ice_ethtool.c
2641
pi->phy.link_info.link_info & ICE_AQ_LINK_UP)
drivers/net/ethernet/intel/ice/ice_ethtool.c
2709
config = pi->phy.curr_user_phy_cfg;
drivers/net/ethernet/intel/ice/ice_ethtool.c
2721
pi->phy.get_link_info = true;
drivers/net/ethernet/intel/ice/ice_ethtool.c
2726
curr_link_speed = pi->phy.curr_user_speed_req;
drivers/net/ethernet/intel/ice/ice_ethtool.c
2746
pi->phy.link_info.req_speeds = adv_link_speed;
drivers/net/ethernet/intel/ice/ice_ethtool.c
2784
if (pi->phy.link_info.link_info & ICE_AQ_LINK_UP) {
drivers/net/ethernet/intel/ice/ice_ethtool.c
2801
pi->phy.curr_user_speed_req = adv_link_speed;
drivers/net/ethernet/intel/ice/ice_ethtool.c
3516
hw_link_info = &pi->phy.link_info;
drivers/net/ethernet/intel/ice/ice_lib.c
3615
link_speed = vsi->port_info->phy.link_info.link_speed;
drivers/net/ethernet/intel/ice/ice_main.c
1113
phy_info = &pi->phy;
drivers/net/ethernet/intel/ice/ice_main.c
1128
ice_check_link_cfg_err(pf, pi->phy.link_info.link_cfg_err);
drivers/net/ethernet/intel/ice/ice_main.c
1142
!(pi->phy.link_info.link_info & ICE_AQ_MEDIA_AVAILABLE)) {
drivers/net/ethernet/intel/ice/ice_main.c
1969
link_up == !!(pi->phy.link_info.link_info & ICE_AQ_LINK_UP))
drivers/net/ethernet/intel/ice/ice_main.c
1976
cfg = kmemdup(&pi->phy.curr_user_phy_cfg, sizeof(*cfg), GFP_KERNEL);
drivers/net/ethernet/intel/ice/ice_main.c
2079
struct ice_phy_info *phy = &pi->phy;
drivers/net/ethernet/intel/ice/ice_main.c
2087
cfg = &phy->curr_user_phy_cfg;
drivers/net/ethernet/intel/ice/ice_main.c
2096
phy->curr_user_fec_req = ICE_FEC_AUTO;
drivers/net/ethernet/intel/ice/ice_main.c
2118
struct ice_phy_info *phy = &pi->phy;
drivers/net/ethernet/intel/ice/ice_main.c
2122
if (!(phy->link_info.link_info & ICE_AQ_MEDIA_AVAILABLE))
drivers/net/ethernet/intel/ice/ice_main.c
2140
ice_copy_phy_caps_to_cfg(pi, pcaps, &pi->phy.curr_user_phy_cfg);
drivers/net/ethernet/intel/ice/ice_main.c
2162
phy->curr_user_fec_req = ice_caps_to_fec_mode(pcaps->caps,
drivers/net/ethernet/intel/ice/ice_main.c
2164
phy->curr_user_fc_req = ice_caps_to_fc_mode(pcaps->caps);
drivers/net/ethernet/intel/ice/ice_main.c
2167
phy->curr_user_speed_req = ICE_AQ_LINK_SPEED_M;
drivers/net/ethernet/intel/ice/ice_main.c
2188
struct ice_phy_info *phy = &pi->phy;
drivers/net/ethernet/intel/ice/ice_main.c
2193
if (!(phy->link_info.link_info & ICE_AQ_MEDIA_AVAILABLE))
drivers/net/ethernet/intel/ice/ice_main.c
2199
phy->link_info.topo_media_conflict == ICE_AQ_LINK_TOPO_UNSUPP_MEDIA)
drivers/net/ethernet/intel/ice/ice_main.c
2222
ice_phy_caps_equals_cfg(pcaps, &phy->curr_user_phy_cfg))
drivers/net/ethernet/intel/ice/ice_main.c
2252
cfg->phy_type_low = phy->curr_user_phy_cfg.phy_type_low;
drivers/net/ethernet/intel/ice/ice_main.c
2253
cfg->phy_type_high = phy->curr_user_phy_cfg.phy_type_high;
drivers/net/ethernet/intel/ice/ice_main.c
2258
pi->phy.curr_user_speed_req);
drivers/net/ethernet/intel/ice/ice_main.c
2271
ice_cfg_phy_fec(pi, cfg, phy->curr_user_fec_req);
drivers/net/ethernet/intel/ice/ice_main.c
2283
ice_cfg_phy_fc(pi, cfg, phy->curr_user_fc_req);
drivers/net/ethernet/intel/ice/ice_main.c
2326
ice_check_link_cfg_err(pf, pi->phy.link_info.link_cfg_err);
drivers/net/ethernet/intel/ice/ice_main.c
2328
if (pi->phy.link_info.link_info & ICE_AQ_MEDIA_AVAILABLE) {
drivers/net/ethernet/intel/ice/ice_main.c
4883
pf->hw.port_info->phy.link_info.link_cfg_err);
drivers/net/ethernet/intel/ice/ice_main.c
4886
if (pf->hw.port_info->phy.link_info.link_info &
drivers/net/ethernet/intel/ice/ice_main.c
6797
(vsi->port_info->phy.link_info.link_info & ICE_AQ_LINK_UP) &&
drivers/net/ethernet/intel/ice/ice_main.c
752
switch (vsi->port_info->phy.link_info.topo_media_conflict) {
drivers/net/ethernet/intel/ice/ice_main.c
800
switch (vsi->port_info->phy.link_info.link_speed) {
drivers/net/ethernet/intel/ice/ice_main.c
858
switch (vsi->port_info->phy.link_info.fec_info) {
drivers/net/ethernet/intel/ice/ice_main.c
872
if (vsi->port_info->phy.link_info.an_info & ICE_AQ_AN_COMPLETED)
drivers/net/ethernet/intel/ice/ice_main.c
9696
ice_check_link_cfg_err(pf, pi->phy.link_info.link_cfg_err);
drivers/net/ethernet/intel/ice/ice_main.c
9699
if (pi->phy.link_info.link_info & ICE_AQ_MEDIA_AVAILABLE) {
drivers/net/ethernet/intel/ice/ice_ptp.c
392
params = &pf->hw.ptp.phy.e810;
drivers/net/ethernet/intel/ice/ice_ptp.c
446
params = &pf->hw.ptp.phy.e810;
drivers/net/ethernet/intel/ice/ice_ptp_hw.c
1475
switch (ice_phy_get_speed_eth56g(&hw->port_info->phy.link_info)) {
drivers/net/ethernet/intel/ice/ice_ptp_hw.c
1537
enable = hw->ptp.phy.eth56g.onestep_ena;
drivers/net/ethernet/intel/ice/ice_ptp_hw.c
1538
peer_delay = hw->ptp.phy.eth56g.peer_delay;
drivers/net/ethernet/intel/ice/ice_ptp_hw.c
1539
sfd_ena = hw->ptp.phy.eth56g.sfd_ena;
drivers/net/ethernet/intel/ice/ice_ptp_hw.c
1579
switch (ice_phy_get_speed_eth56g(&hw->port_info->phy.link_info)) {
drivers/net/ethernet/intel/ice/ice_ptp_hw.c
1731
onestep = hw->ptp.phy.eth56g.onestep_ena;
drivers/net/ethernet/intel/ice/ice_ptp_hw.c
1732
sfd = hw->ptp.phy.eth56g.sfd_ena;
drivers/net/ethernet/intel/ice/ice_ptp_hw.c
1788
onestep = hw->ptp.phy.eth56g.onestep_ena;
drivers/net/ethernet/intel/ice/ice_ptp_hw.c
1789
li = &hw->port_info->phy.link_info;
drivers/net/ethernet/intel/ice/ice_ptp_hw.c
2132
const struct ice_eth56g_params *params = &hw->ptp.phy.eth56g;
drivers/net/ethernet/intel/ice/ice_ptp_hw.c
2133
u8 phy, mask;
drivers/net/ethernet/intel/ice/ice_ptp_hw.c
2139
for (phy = 0; phy < params->num_phys; phy++) {
drivers/net/ethernet/intel/ice/ice_ptp_hw.c
2142
err = ice_read_phy_eth56g(hw, phy, PHY_PTP_INT_STATUS, &status);
drivers/net/ethernet/intel/ice/ice_ptp_hw.c
2146
*ts_status |= (status & mask) << (phy * hw->ptp.ports_per_phy);
drivers/net/ethernet/intel/ice/ice_ptp_hw.c
2193
params = &ptp->phy.eth56g;
drivers/net/ethernet/intel/ice/ice_ptp_hw.c
4325
struct ice_e810_params *params = &hw->ptp.phy.e810;
drivers/net/ethernet/intel/ice/ice_ptp_hw.c
4559
struct ice_e810_params *params = &hw->ptp.phy.e810;
drivers/net/ethernet/intel/ice/ice_ptp_hw.c
4651
struct ice_e810_params *params = &hw->ptp.phy.e810;
drivers/net/ethernet/intel/ice/ice_ptp_hw.c
4897
init_waitqueue_head(&ptp->phy.e810.atqbal_wq);
drivers/net/ethernet/intel/ice/ice_tspll.c
802
link_speed = hw->port_info->phy.link_info.link_speed;
drivers/net/ethernet/intel/ice/ice_type.h
761
struct ice_phy_info phy;
drivers/net/ethernet/intel/ice/ice_type.h
891
union ice_phy_params phy;
drivers/net/ethernet/intel/ice/ice_vf_lib.c
1233
return pi->phy.link_info.link_info &
drivers/net/ethernet/intel/ice/virt/queues.c
25
max_frame_size = pi->phy.link_info.max_frame_size;
drivers/net/ethernet/intel/ice/virt/virtchnl.c
91
hw->port_info->phy.link_info.link_speed, true);
drivers/net/ethernet/intel/igb/e1000_82575.c
1000
ret_val = phy->ops.write_reg(hw,
drivers/net/ethernet/intel/igb/e1000_82575.c
1004
} else if (phy->smart_speed == e1000_smart_speed_off) {
drivers/net/ethernet/intel/igb/e1000_82575.c
1005
ret_val = phy->ops.read_reg(hw,
drivers/net/ethernet/intel/igb/e1000_82575.c
1011
ret_val = phy->ops.write_reg(hw,
drivers/net/ethernet/intel/igb/e1000_82575.c
1037
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_82575.c
1055
if (phy->smart_speed == e1000_smart_speed_on)
drivers/net/ethernet/intel/igb/e1000_82575.c
1057
else if (phy->smart_speed == e1000_smart_speed_off)
drivers/net/ethernet/intel/igb/e1000_82575.c
1080
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_82575.c
1092
if (phy->smart_speed == e1000_smart_speed_on)
drivers/net/ethernet/intel/igb/e1000_82575.c
1094
else if (phy->smart_speed == e1000_smart_speed_off)
drivers/net/ethernet/intel/igb/e1000_82575.c
1096
} else if ((phy->autoneg_advertised == E1000_ALL_SPEED_DUPLEX) ||
drivers/net/ethernet/intel/igb/e1000_82575.c
1097
(phy->autoneg_advertised == E1000_ALL_NOT_GIG) ||
drivers/net/ethernet/intel/igb/e1000_82575.c
1098
(phy->autoneg_advertised == E1000_ALL_10_SPEED)) {
drivers/net/ethernet/intel/igb/e1000_82575.c
121
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_82575.c
1251
(hw->phy.type == e1000_phy_igp_3))
drivers/net/ethernet/intel/igb/e1000_82575.c
127
ret_val = phy->ops.write_reg(hw, E1000_M88E1112_PAGE_ADDR, 0);
drivers/net/ethernet/intel/igb/e1000_82575.c
1272
if (hw->phy.media_type != e1000_media_type_copper)
drivers/net/ethernet/intel/igb/e1000_82575.c
1294
if (hw->phy.media_type != e1000_media_type_copper) {
drivers/net/ethernet/intel/igb/e1000_82575.c
131
ret_val = phy->ops.read_reg(hw, E1000_M88E1112_STATUS, &data);
drivers/net/ethernet/intel/igb/e1000_82575.c
1327
if ((hw->phy.media_type != e1000_media_type_internal_serdes) &&
drivers/net/ethernet/intel/igb/e1000_82575.c
139
ret_val = phy->ops.write_reg(hw, E1000_M88E1112_PAGE_ADDR, 1);
drivers/net/ethernet/intel/igb/e1000_82575.c
1421
if (hw->phy.media_type != e1000_media_type_internal_serdes &&
drivers/net/ethernet/intel/igb/e1000_82575.c
143
ret_val = phy->ops.read_reg(hw, E1000_M88E1112_STATUS, &data);
drivers/net/ethernet/intel/igb/e1000_82575.c
159
ret_val = phy->ops.write_reg(hw, E1000_M88E1112_PAGE_ADDR, 0);
drivers/net/ethernet/intel/igb/e1000_82575.c
1595
if (igb_sgmii_active_82575(hw) && !hw->phy.reset_disable) {
drivers/net/ethernet/intel/igb/e1000_82575.c
1599
ret_val = hw->phy.ops.reset(hw);
drivers/net/ethernet/intel/igb/e1000_82575.c
1605
switch (hw->phy.type) {
drivers/net/ethernet/intel/igb/e1000_82575.c
1608
switch (hw->phy.id) {
drivers/net/ethernet/intel/igb/e1000_82575.c
1659
if ((hw->phy.media_type != e1000_media_type_internal_serdes) &&
drivers/net/ethernet/intel/igb/e1000_82575.c
166
ret_val = phy->ops.write_reg(hw, E1000_M88E1112_PAGE_ADDR, 0);
drivers/net/ethernet/intel/igb/e1000_82575.c
180
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_82575.c
184
if (hw->phy.media_type != e1000_media_type_copper) {
drivers/net/ethernet/intel/igb/e1000_82575.c
185
phy->type = e1000_phy_none;
drivers/net/ethernet/intel/igb/e1000_82575.c
189
phy->autoneg_mask = AUTONEG_ADVERTISE_SPEED_DEFAULT;
drivers/net/ethernet/intel/igb/e1000_82575.c
190
phy->reset_delay_us = 100;
drivers/net/ethernet/intel/igb/e1000_82575.c
1929
if (hw->phy.media_type == e1000_media_type_internal_serdes ||
drivers/net/ethernet/intel/igb/e1000_82575.c
195
phy->ops.reset = igb_phy_hw_reset_sgmii_82575;
drivers/net/ethernet/intel/igb/e1000_82575.c
198
phy->ops.reset = igb_phy_hw_reset;
drivers/net/ethernet/intel/igb/e1000_82575.c
206
phy->ops.read_reg = igb_read_phy_reg_sgmii_82575;
drivers/net/ethernet/intel/igb/e1000_82575.c
207
phy->ops.write_reg = igb_write_phy_reg_sgmii_82575;
drivers/net/ethernet/intel/igb/e1000_82575.c
215
phy->ops.read_reg = igb_read_phy_reg_82580;
drivers/net/ethernet/intel/igb/e1000_82575.c
216
phy->ops.write_reg = igb_write_phy_reg_82580;
drivers/net/ethernet/intel/igb/e1000_82575.c
2167
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/igb/e1000_82575.c
2173
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/igb/e1000_82575.c
219
phy->ops.read_reg = igb_read_phy_reg_igp;
drivers/net/ethernet/intel/igb/e1000_82575.c
2192
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/igb/e1000_82575.c
2198
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/igb/e1000_82575.c
220
phy->ops.write_reg = igb_write_phy_reg_igp;
drivers/net/ethernet/intel/igb/e1000_82575.c
233
switch (phy->id) {
drivers/net/ethernet/intel/igb/e1000_82575.c
239
phy->type = e1000_phy_m88;
drivers/net/ethernet/intel/igb/e1000_82575.c
240
phy->ops.check_polarity = igb_check_polarity_m88;
drivers/net/ethernet/intel/igb/e1000_82575.c
241
phy->ops.get_phy_info = igb_get_phy_info_m88;
drivers/net/ethernet/intel/igb/e1000_82575.c
242
if (phy->id != M88E1111_I_PHY_ID)
drivers/net/ethernet/intel/igb/e1000_82575.c
243
phy->ops.get_cable_length =
drivers/net/ethernet/intel/igb/e1000_82575.c
246
phy->ops.get_cable_length = igb_get_cable_length_m88;
drivers/net/ethernet/intel/igb/e1000_82575.c
247
phy->ops.force_speed_duplex = igb_phy_force_speed_duplex_m88;
drivers/net/ethernet/intel/igb/e1000_82575.c
249
if (phy->id == M88E1112_E_PHY_ID) {
drivers/net/ethernet/intel/igb/e1000_82575.c
252
ret_val = phy->ops.write_reg(hw,
drivers/net/ethernet/intel/igb/e1000_82575.c
2564
ret_val = hw->phy.ops.write_reg(hw, E1000_EMIADD, address);
drivers/net/ethernet/intel/igb/e1000_82575.c
2569
ret_val = hw->phy.ops.read_reg(hw, E1000_EMIDATA, data);
drivers/net/ethernet/intel/igb/e1000_82575.c
2571
ret_val = hw->phy.ops.write_reg(hw, E1000_EMIDATA, *data);
drivers/net/ethernet/intel/igb/e1000_82575.c
258
ret_val = phy->ops.read_reg(hw,
drivers/net/ethernet/intel/igb/e1000_82575.c
2601
(hw->phy.media_type != e1000_media_type_copper))
drivers/net/ethernet/intel/igb/e1000_82575.c
2654
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_82575.c
2658
if ((hw->phy.media_type != e1000_media_type_copper) ||
drivers/net/ethernet/intel/igb/e1000_82575.c
2659
((phy->id != M88E1543_E_PHY_ID) &&
drivers/net/ethernet/intel/igb/e1000_82575.c
2660
(phy->id != M88E1512_E_PHY_ID)))
drivers/net/ethernet/intel/igb/e1000_82575.c
2665
ret_val = phy->ops.write_reg(hw, E1000_M88E1543_PAGE_ADDR, 18);
drivers/net/ethernet/intel/igb/e1000_82575.c
2669
ret_val = phy->ops.read_reg(hw, E1000_M88E1543_EEE_CTRL_1,
drivers/net/ethernet/intel/igb/e1000_82575.c
2675
ret_val = phy->ops.write_reg(hw, E1000_M88E1543_EEE_CTRL_1,
drivers/net/ethernet/intel/igb/e1000_82575.c
2681
ret_val = phy->ops.write_reg(hw, E1000_M88E1543_PAGE_ADDR, 0);
drivers/net/ethernet/intel/igb/e1000_82575.c
271
if (phy->id == M88E1512_E_PHY_ID) {
drivers/net/ethernet/intel/igb/e1000_82575.c
2734
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_82575.c
2739
if ((hw->phy.media_type != e1000_media_type_copper) ||
drivers/net/ethernet/intel/igb/e1000_82575.c
2740
((phy->id != M88E1543_E_PHY_ID) &&
drivers/net/ethernet/intel/igb/e1000_82575.c
2741
(phy->id != M88E1512_E_PHY_ID)))
drivers/net/ethernet/intel/igb/e1000_82575.c
276
if (phy->id == M88E1543_E_PHY_ID) {
drivers/net/ethernet/intel/igb/e1000_82575.c
2813
hw->phy.ops.read_i2c_byte(hw,
drivers/net/ethernet/intel/igb/e1000_82575.c
283
phy->type = e1000_phy_igp_3;
drivers/net/ethernet/intel/igb/e1000_82575.c
284
phy->ops.get_phy_info = igb_get_phy_info_igp;
drivers/net/ethernet/intel/igb/e1000_82575.c
285
phy->ops.get_cable_length = igb_get_cable_length_igp_2;
drivers/net/ethernet/intel/igb/e1000_82575.c
286
phy->ops.force_speed_duplex = igb_phy_force_speed_duplex_igp;
drivers/net/ethernet/intel/igb/e1000_82575.c
287
phy->ops.set_d0_lplu_state = igb_set_d0_lplu_state_82575;
drivers/net/ethernet/intel/igb/e1000_82575.c
2871
hw->phy.ops.write_i2c_byte(hw,
drivers/net/ethernet/intel/igb/e1000_82575.c
288
phy->ops.set_d3_lplu_state = igb_set_d3_lplu_state;
drivers/net/ethernet/intel/igb/e1000_82575.c
292
phy->type = e1000_phy_82580;
drivers/net/ethernet/intel/igb/e1000_82575.c
293
phy->ops.force_speed_duplex =
drivers/net/ethernet/intel/igb/e1000_82575.c
295
phy->ops.get_cable_length = igb_get_cable_length_82580;
drivers/net/ethernet/intel/igb/e1000_82575.c
296
phy->ops.get_phy_info = igb_get_phy_info_82580;
drivers/net/ethernet/intel/igb/e1000_82575.c
297
phy->ops.set_d0_lplu_state = igb_set_d0_lplu_state_82580;
drivers/net/ethernet/intel/igb/e1000_82575.c
298
phy->ops.set_d3_lplu_state = igb_set_d3_lplu_state_82580;
drivers/net/ethernet/intel/igb/e1000_82575.c
301
phy->type = e1000_phy_i210;
drivers/net/ethernet/intel/igb/e1000_82575.c
302
phy->ops.check_polarity = igb_check_polarity_m88;
drivers/net/ethernet/intel/igb/e1000_82575.c
303
phy->ops.get_cfg_done = igb_get_cfg_done_i210;
drivers/net/ethernet/intel/igb/e1000_82575.c
304
phy->ops.get_phy_info = igb_get_phy_info_m88;
drivers/net/ethernet/intel/igb/e1000_82575.c
305
phy->ops.get_cable_length = igb_get_cable_length_m88_gen2;
drivers/net/ethernet/intel/igb/e1000_82575.c
306
phy->ops.set_d0_lplu_state = igb_set_d0_lplu_state_82580;
drivers/net/ethernet/intel/igb/e1000_82575.c
307
phy->ops.set_d3_lplu_state = igb_set_d3_lplu_state_82580;
drivers/net/ethernet/intel/igb/e1000_82575.c
308
phy->ops.force_speed_duplex = igb_phy_force_speed_duplex_m88;
drivers/net/ethernet/intel/igb/e1000_82575.c
311
phy->type = e1000_phy_bcm54616;
drivers/net/ethernet/intel/igb/e1000_82575.c
463
(hw->phy.media_type == e1000_media_type_copper)
drivers/net/ethernet/intel/igb/e1000_82575.c
530
hw->phy.media_type = e1000_media_type_internal_serdes;
drivers/net/ethernet/intel/igb/e1000_82575.c
533
hw->phy.media_type = e1000_media_type_internal_serdes;
drivers/net/ethernet/intel/igb/e1000_82575.c
536
hw->phy.media_type = e1000_media_type_copper;
drivers/net/ethernet/intel/igb/e1000_82575.c
538
hw->phy.media_type = e1000_media_type_unknown;
drivers/net/ethernet/intel/igb/e1000_82575.c
543
hw->phy.media_type = e1000_media_type_unknown;
drivers/net/ethernet/intel/igb/e1000_82575.c
621
hw->phy.media_type = e1000_media_type_copper;
drivers/net/ethernet/intel/igb/e1000_82575.c
630
hw->phy.media_type = e1000_media_type_internal_serdes;
drivers/net/ethernet/intel/igb/e1000_82575.c
635
hw->phy.media_type = e1000_media_type_copper;
drivers/net/ethernet/intel/igb/e1000_82575.c
644
(hw->phy.media_type == e1000_media_type_unknown)) {
drivers/net/ethernet/intel/igb/e1000_82575.c
648
hw->phy.media_type = e1000_media_type_internal_serdes;
drivers/net/ethernet/intel/igb/e1000_82575.c
651
hw->phy.media_type = e1000_media_type_copper;
drivers/net/ethernet/intel/igb/e1000_82575.c
770
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/igb/e1000_82575.c
776
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/igb/e1000_82575.c
802
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/igb/e1000_82575.c
808
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/igb/e1000_82575.c
823
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_82575.c
840
phy->addr = 1;
drivers/net/ethernet/intel/igb/e1000_82575.c
851
phy->addr = mdic >> E1000_MDIC_PHY_SHIFT;
drivers/net/ethernet/intel/igb/e1000_82575.c
860
phy->addr = mdic >> E1000_MDICNFG_PHY_SHIFT;
drivers/net/ethernet/intel/igb/e1000_82575.c
879
for (phy->addr = 1; phy->addr < 8; phy->addr++) {
drivers/net/ethernet/intel/igb/e1000_82575.c
883
phy_id, phy->addr);
drivers/net/ethernet/intel/igb/e1000_82575.c
890
hw_dbg("PHY address %u was unreadable\n", phy->addr);
drivers/net/ethernet/intel/igb/e1000_82575.c
895
if (phy->addr == 8) {
drivers/net/ethernet/intel/igb/e1000_82575.c
896
phy->addr = 0;
drivers/net/ethernet/intel/igb/e1000_82575.c
918
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_82575.c
930
ret_val = hw->phy.ops.write_reg(hw, 0x1B, 0x8084);
drivers/net/ethernet/intel/igb/e1000_82575.c
938
if (phy->id == M88E1512_E_PHY_ID)
drivers/net/ethernet/intel/igb/e1000_82575.c
940
if (phy->id == M88E1543_E_PHY_ID)
drivers/net/ethernet/intel/igb/e1000_82575.c
961
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_82575.c
965
ret_val = phy->ops.read_reg(hw, IGP02E1000_PHY_POWER_MGMT, &data);
drivers/net/ethernet/intel/igb/e1000_82575.c
971
ret_val = phy->ops.write_reg(hw, IGP02E1000_PHY_POWER_MGMT,
drivers/net/ethernet/intel/igb/e1000_82575.c
977
ret_val = phy->ops.read_reg(hw, IGP01E1000_PHY_PORT_CONFIG,
drivers/net/ethernet/intel/igb/e1000_82575.c
980
ret_val = phy->ops.write_reg(hw, IGP01E1000_PHY_PORT_CONFIG,
drivers/net/ethernet/intel/igb/e1000_82575.c
986
ret_val = phy->ops.write_reg(hw, IGP02E1000_PHY_POWER_MGMT,
drivers/net/ethernet/intel/igb/e1000_82575.c
993
if (phy->smart_speed == e1000_smart_speed_on) {
drivers/net/ethernet/intel/igb/e1000_82575.c
994
ret_val = phy->ops.read_reg(hw,
drivers/net/ethernet/intel/igb/e1000_hw.h
526
struct e1000_phy_info phy;
drivers/net/ethernet/intel/igb/e1000_i210.c
711
switch (hw->phy.media_type) {
drivers/net/ethernet/intel/igb/e1000_i210.c
738
ret_val = hw->phy.ops.write_reg(hw, E1000_MMDAC, dev_addr);
drivers/net/ethernet/intel/igb/e1000_i210.c
742
ret_val = hw->phy.ops.write_reg(hw, E1000_MMDAAD, address);
drivers/net/ethernet/intel/igb/e1000_i210.c
746
ret_val = hw->phy.ops.write_reg(hw, E1000_MMDAC, E1000_MMDAC_FUNC_DATA |
drivers/net/ethernet/intel/igb/e1000_i210.c
752
ret_val = hw->phy.ops.read_reg(hw, E1000_MMDAAD, data);
drivers/net/ethernet/intel/igb/e1000_i210.c
754
ret_val = hw->phy.ops.write_reg(hw, E1000_MMDAAD, *data);
drivers/net/ethernet/intel/igb/e1000_i210.c
759
ret_val = hw->phy.ops.write_reg(hw, E1000_MMDAC, 0);
drivers/net/ethernet/intel/igb/e1000_mac.c
1098
if ((hw->phy.media_type == e1000_media_type_internal_serdes)
drivers/net/ethernet/intel/igb/e1000_mac.c
1376
switch (hw->phy.media_type) {
drivers/net/ethernet/intel/igb/e1000_mac.c
1485
if (hw->phy.media_type == e1000_media_type_fiber) {
drivers/net/ethernet/intel/igb/e1000_mac.c
1527
switch (hw->phy.media_type) {
drivers/net/ethernet/intel/igb/e1000_mac.c
1595
if (!hw->mac.autoneg && (hw->phy.mdix == 0 || hw->phy.mdix == 3)) {
drivers/net/ethernet/intel/igb/e1000_mac.c
1597
hw->phy.mdix = 1;
drivers/net/ethernet/intel/igb/e1000_mac.c
913
if (hw->phy.media_type == e1000_media_type_internal_serdes)
drivers/net/ethernet/intel/igb/e1000_mac.c
916
if (hw->phy.media_type == e1000_media_type_copper)
drivers/net/ethernet/intel/igb/e1000_mac.c
930
if ((hw->phy.media_type == e1000_media_type_copper) && mac->autoneg) {
drivers/net/ethernet/intel/igb/e1000_mac.c
935
ret_val = hw->phy.ops.read_reg(hw, PHY_STATUS,
drivers/net/ethernet/intel/igb/e1000_mac.c
939
ret_val = hw->phy.ops.read_reg(hw, PHY_STATUS,
drivers/net/ethernet/intel/igb/e1000_mac.c
955
ret_val = hw->phy.ops.read_reg(hw, PHY_AUTONEG_ADV,
drivers/net/ethernet/intel/igb/e1000_mac.c
959
ret_val = hw->phy.ops.read_reg(hw, PHY_LP_ABILITY,
drivers/net/ethernet/intel/igb/e1000_phy.c
1054
ret_val = phy->ops.write_reg(hw, PHY_AUTONEG_ADV, mii_autoneg_adv_reg);
drivers/net/ethernet/intel/igb/e1000_phy.c
1060
if (phy->autoneg_mask & ADVERTISE_1000_FULL) {
drivers/net/ethernet/intel/igb/e1000_phy.c
1061
ret_val = phy->ops.write_reg(hw,
drivers/net/ethernet/intel/igb/e1000_phy.c
1098
ret_val = hw->phy.ops.force_speed_duplex(hw);
drivers/net/ethernet/intel/igb/e1000_phy.c
1134
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
1139
ret_val = phy->ops.read_reg(hw, PHY_CONTROL, &phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
1145
ret_val = phy->ops.write_reg(hw, PHY_CONTROL, phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
115
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
1152
ret_val = phy->ops.read_reg(hw, IGP01E1000_PHY_PORT_CTRL, &phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
1159
ret_val = phy->ops.write_reg(hw, IGP01E1000_PHY_PORT_CTRL, phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
1167
if (phy->autoneg_wait_to_complete) {
drivers/net/ethernet/intel/igb/e1000_phy.c
1199
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
1205
if (phy->type != e1000_phy_i210) {
drivers/net/ethernet/intel/igb/e1000_phy.c
1209
ret_val = phy->ops.read_reg(hw, M88E1000_PHY_SPEC_CTRL,
drivers/net/ethernet/intel/igb/e1000_phy.c
1215
ret_val = phy->ops.write_reg(hw, M88E1000_PHY_SPEC_CTRL,
drivers/net/ethernet/intel/igb/e1000_phy.c
1223
ret_val = phy->ops.read_reg(hw, PHY_CONTROL, &phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
1229
ret_val = phy->ops.write_reg(hw, PHY_CONTROL, phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
1238
if (phy->autoneg_wait_to_complete) {
drivers/net/ethernet/intel/igb/e1000_phy.c
1248
switch (hw->phy.id) {
drivers/net/ethernet/intel/igb/e1000_phy.c
1257
if (hw->phy.type != e1000_phy_m88)
drivers/net/ethernet/intel/igb/e1000_phy.c
1267
ret_val = phy->ops.write_reg(hw,
drivers/net/ethernet/intel/igb/e1000_phy.c
1285
if (hw->phy.type != e1000_phy_m88 ||
drivers/net/ethernet/intel/igb/e1000_phy.c
1286
hw->phy.id == I347AT4_E_PHY_ID ||
drivers/net/ethernet/intel/igb/e1000_phy.c
1287
hw->phy.id == M88E1112_E_PHY_ID ||
drivers/net/ethernet/intel/igb/e1000_phy.c
1288
hw->phy.id == M88E1543_E_PHY_ID ||
drivers/net/ethernet/intel/igb/e1000_phy.c
1289
hw->phy.id == M88E1512_E_PHY_ID ||
drivers/net/ethernet/intel/igb/e1000_phy.c
1290
hw->phy.id == I210_I_PHY_ID)
drivers/net/ethernet/intel/igb/e1000_phy.c
1293
ret_val = phy->ops.read_reg(hw, M88E1000_EXT_PHY_SPEC_CTRL, &phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
130
(phy->addr << E1000_MDIC_PHY_SHIFT) |
drivers/net/ethernet/intel/igb/e1000_phy.c
1302
ret_val = phy->ops.write_reg(hw, M88E1000_EXT_PHY_SPEC_CTRL, phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
1309
ret_val = phy->ops.read_reg(hw, M88E1000_PHY_SPEC_CTRL, &phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
1314
ret_val = phy->ops.write_reg(hw, M88E1000_PHY_SPEC_CTRL, phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
1397
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
1401
if (!(hw->phy.ops.read_reg))
drivers/net/ethernet/intel/igb/e1000_phy.c
1404
ret_val = phy->ops.read_reg(hw, IGP02E1000_PHY_POWER_MGMT, &data);
drivers/net/ethernet/intel/igb/e1000_phy.c
1410
ret_val = phy->ops.write_reg(hw, IGP02E1000_PHY_POWER_MGMT,
drivers/net/ethernet/intel/igb/e1000_phy.c
1419
if (phy->smart_speed == e1000_smart_speed_on) {
drivers/net/ethernet/intel/igb/e1000_phy.c
1420
ret_val = phy->ops.read_reg(hw,
drivers/net/ethernet/intel/igb/e1000_phy.c
1427
ret_val = phy->ops.write_reg(hw,
drivers/net/ethernet/intel/igb/e1000_phy.c
1432
} else if (phy->smart_speed == e1000_smart_speed_off) {
drivers/net/ethernet/intel/igb/e1000_phy.c
1433
ret_val = phy->ops.read_reg(hw,
drivers/net/ethernet/intel/igb/e1000_phy.c
1440
ret_val = phy->ops.write_reg(hw,
drivers/net/ethernet/intel/igb/e1000_phy.c
1446
} else if ((phy->autoneg_advertised == E1000_ALL_SPEED_DUPLEX) ||
drivers/net/ethernet/intel/igb/e1000_phy.c
1447
(phy->autoneg_advertised == E1000_ALL_NOT_GIG) ||
drivers/net/ethernet/intel/igb/e1000_phy.c
1448
(phy->autoneg_advertised == E1000_ALL_10_SPEED)) {
drivers/net/ethernet/intel/igb/e1000_phy.c
1450
ret_val = phy->ops.write_reg(hw, IGP02E1000_PHY_POWER_MGMT,
drivers/net/ethernet/intel/igb/e1000_phy.c
1456
ret_val = phy->ops.read_reg(hw, IGP01E1000_PHY_PORT_CONFIG,
drivers/net/ethernet/intel/igb/e1000_phy.c
1462
ret_val = phy->ops.write_reg(hw, IGP01E1000_PHY_PORT_CONFIG,
drivers/net/ethernet/intel/igb/e1000_phy.c
1480
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
1484
switch (phy->type) {
drivers/net/ethernet/intel/igb/e1000_phy.c
1499
phy->speed_downgraded = false;
drivers/net/ethernet/intel/igb/e1000_phy.c
1504
ret_val = phy->ops.read_reg(hw, offset, &phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
1507
phy->speed_downgraded = (phy_data & mask) ? true : false;
drivers/net/ethernet/intel/igb/e1000_phy.c
1523
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
1527
ret_val = phy->ops.read_reg(hw, M88E1000_PHY_SPEC_STATUS, &data);
drivers/net/ethernet/intel/igb/e1000_phy.c
1530
phy->cable_polarity = (data & M88E1000_PSSR_REV_POLARITY)
drivers/net/ethernet/intel/igb/e1000_phy.c
1548
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
1555
ret_val = phy->ops.read_reg(hw, IGP01E1000_PHY_PORT_STATUS, &data);
drivers/net/ethernet/intel/igb/e1000_phy.c
1571
ret_val = phy->ops.read_reg(hw, offset, &data);
drivers/net/ethernet/intel/igb/e1000_phy.c
1574
phy->cable_polarity = (data & mask)
drivers/net/ethernet/intel/igb/e1000_phy.c
1596
ret_val = hw->phy.ops.read_reg(hw, PHY_STATUS, &phy_status);
drivers/net/ethernet/intel/igb/e1000_phy.c
1599
ret_val = hw->phy.ops.read_reg(hw, PHY_STATUS, &phy_status);
drivers/net/ethernet/intel/igb/e1000_phy.c
1633
ret_val = hw->phy.ops.read_reg(hw, PHY_STATUS, &phy_status);
drivers/net/ethernet/intel/igb/e1000_phy.c
1644
ret_val = hw->phy.ops.read_reg(hw, PHY_STATUS, &phy_status);
drivers/net/ethernet/intel/igb/e1000_phy.c
1677
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
1681
ret_val = phy->ops.read_reg(hw, M88E1000_PHY_SPEC_STATUS, &phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
1691
phy->min_cable_length = e1000_m88_cable_length_table[index];
drivers/net/ethernet/intel/igb/e1000_phy.c
1692
phy->max_cable_length = e1000_m88_cable_length_table[index + 1];
drivers/net/ethernet/intel/igb/e1000_phy.c
1694
phy->cable_length = (phy->min_cable_length + phy->max_cable_length) / 2;
drivers/net/ethernet/intel/igb/e1000_phy.c
1702
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
1709
switch (hw->phy.id) {
drivers/net/ethernet/intel/igb/e1000_phy.c
171
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
1715
ret_val = phy->ops.read_reg(hw, I347AT4_PAGE_SELECT,
drivers/net/ethernet/intel/igb/e1000_phy.c
1720
ret_val = phy->ops.write_reg(hw, I347AT4_PAGE_SELECT, 0x07);
drivers/net/ethernet/intel/igb/e1000_phy.c
1725
ret_val = phy->ops.read_reg(hw, I347AT4_PCDC, &phy_data2);
drivers/net/ethernet/intel/igb/e1000_phy.c
1732
ret_val = phy->ops.read_reg(hw, I347AT4_PCDL0, &phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
1736
phy->pair_length[0] = phy_data / (is_cm ? 100 : 1);
drivers/net/ethernet/intel/igb/e1000_phy.c
1737
len_tot = phy->pair_length[0];
drivers/net/ethernet/intel/igb/e1000_phy.c
1738
len_min = phy->pair_length[0];
drivers/net/ethernet/intel/igb/e1000_phy.c
1739
len_max = phy->pair_length[0];
drivers/net/ethernet/intel/igb/e1000_phy.c
1742
ret_val = phy->ops.read_reg(hw, I347AT4_PCDL1, &phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
1746
phy->pair_length[1] = phy_data / (is_cm ? 100 : 1);
drivers/net/ethernet/intel/igb/e1000_phy.c
1747
len_tot += phy->pair_length[1];
drivers/net/ethernet/intel/igb/e1000_phy.c
1748
len_min = min(len_min, phy->pair_length[1]);
drivers/net/ethernet/intel/igb/e1000_phy.c
1749
len_max = max(len_max, phy->pair_length[1]);
drivers/net/ethernet/intel/igb/e1000_phy.c
1752
ret_val = phy->ops.read_reg(hw, I347AT4_PCDL2, &phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
1756
phy->pair_length[2] = phy_data / (is_cm ? 100 : 1);
drivers/net/ethernet/intel/igb/e1000_phy.c
1757
len_tot += phy->pair_length[2];
drivers/net/ethernet/intel/igb/e1000_phy.c
1758
len_min = min(len_min, phy->pair_length[2]);
drivers/net/ethernet/intel/igb/e1000_phy.c
1759
len_max = max(len_max, phy->pair_length[2]);
drivers/net/ethernet/intel/igb/e1000_phy.c
1762
ret_val = phy->ops.read_reg(hw, I347AT4_PCDL3, &phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
1766
phy->pair_length[3] = phy_data / (is_cm ? 100 : 1);
drivers/net/ethernet/intel/igb/e1000_phy.c
1767
len_tot += phy->pair_length[3];
drivers/net/ethernet/intel/igb/e1000_phy.c
1768
len_min = min(len_min, phy->pair_length[3]);
drivers/net/ethernet/intel/igb/e1000_phy.c
1769
len_max = max(len_max, phy->pair_length[3]);
drivers/net/ethernet/intel/igb/e1000_phy.c
1772
phy->min_cable_length = len_min;
drivers/net/ethernet/intel/igb/e1000_phy.c
1773
phy->max_cable_length = len_max;
drivers/net/ethernet/intel/igb/e1000_phy.c
1774
phy->cable_length = len_tot / 4;
drivers/net/ethernet/intel/igb/e1000_phy.c
1777
ret_val = phy->ops.write_reg(hw, I347AT4_PAGE_SELECT,
drivers/net/ethernet/intel/igb/e1000_phy.c
1784
ret_val = phy->ops.read_reg(hw, I347AT4_PAGE_SELECT,
drivers/net/ethernet/intel/igb/e1000_phy.c
1789
ret_val = phy->ops.write_reg(hw, I347AT4_PAGE_SELECT, 0x05);
drivers/net/ethernet/intel/igb/e1000_phy.c
1793
ret_val = phy->ops.read_reg(hw, M88E1112_VCT_DSP_DISTANCE,
drivers/net/ethernet/intel/igb/e1000_phy.c
1804
phy->min_cable_length = e1000_m88_cable_length_table[index];
drivers/net/ethernet/intel/igb/e1000_phy.c
1805
phy->max_cable_length = e1000_m88_cable_length_table[index + 1];
drivers/net/ethernet/intel/igb/e1000_phy.c
1807
phy->cable_length = (phy->min_cable_length +
drivers/net/ethernet/intel/igb/e1000_phy.c
1808
phy->max_cable_length) / 2;
drivers/net/ethernet/intel/igb/e1000_phy.c
1811
ret_val = phy->ops.write_reg(hw, I347AT4_PAGE_SELECT,
drivers/net/ethernet/intel/igb/e1000_phy.c
1839
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
1853
ret_val = phy->ops.read_reg(hw, agc_reg_array[i], &phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
187
(phy->addr << E1000_MDIC_PHY_SHIFT) |
drivers/net/ethernet/intel/igb/e1000_phy.c
1888
phy->min_cable_length = ((agc_value - IGP02E1000_AGC_RANGE) > 0) ?
drivers/net/ethernet/intel/igb/e1000_phy.c
1890
phy->max_cable_length = agc_value + IGP02E1000_AGC_RANGE;
drivers/net/ethernet/intel/igb/e1000_phy.c
1892
phy->cable_length = (phy->min_cable_length + phy->max_cable_length) / 2;
drivers/net/ethernet/intel/igb/e1000_phy.c
1910
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
1915
if (phy->media_type != e1000_media_type_copper) {
drivers/net/ethernet/intel/igb/e1000_phy.c
1931
ret_val = phy->ops.read_reg(hw, M88E1000_PHY_SPEC_CTRL, &phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
1935
phy->polarity_correction = (phy_data & M88E1000_PSCR_POLARITY_REVERSAL)
drivers/net/ethernet/intel/igb/e1000_phy.c
1942
ret_val = phy->ops.read_reg(hw, M88E1000_PHY_SPEC_STATUS, &phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
1946
phy->is_mdix = (phy_data & M88E1000_PSSR_MDIX) ? true : false;
drivers/net/ethernet/intel/igb/e1000_phy.c
1949
ret_val = phy->ops.get_cable_length(hw);
drivers/net/ethernet/intel/igb/e1000_phy.c
1953
ret_val = phy->ops.read_reg(hw, PHY_1000T_STATUS, &phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
1957
phy->local_rx = (phy_data & SR_1000T_LOCAL_RX_STATUS)
drivers/net/ethernet/intel/igb/e1000_phy.c
1961
phy->remote_rx = (phy_data & SR_1000T_REMOTE_RX_STATUS)
drivers/net/ethernet/intel/igb/e1000_phy.c
1966
phy->cable_length = E1000_CABLE_LENGTH_UNDEFINED;
drivers/net/ethernet/intel/igb/e1000_phy.c
1967
phy->local_rx = e1000_1000t_rx_status_undefined;
drivers/net/ethernet/intel/igb/e1000_phy.c
1968
phy->remote_rx = e1000_1000t_rx_status_undefined;
drivers/net/ethernet/intel/igb/e1000_phy.c
1986
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
2001
phy->polarity_correction = true;
drivers/net/ethernet/intel/igb/e1000_phy.c
2007
ret_val = phy->ops.read_reg(hw, IGP01E1000_PHY_PORT_STATUS, &data);
drivers/net/ethernet/intel/igb/e1000_phy.c
2011
phy->is_mdix = (data & IGP01E1000_PSSR_MDIX) ? true : false;
drivers/net/ethernet/intel/igb/e1000_phy.c
2015
ret_val = phy->ops.get_cable_length(hw);
drivers/net/ethernet/intel/igb/e1000_phy.c
2019
ret_val = phy->ops.read_reg(hw, PHY_1000T_STATUS, &data);
drivers/net/ethernet/intel/igb/e1000_phy.c
2023
phy->local_rx = (data & SR_1000T_LOCAL_RX_STATUS)
drivers/net/ethernet/intel/igb/e1000_phy.c
2027
phy->remote_rx = (data & SR_1000T_REMOTE_RX_STATUS)
drivers/net/ethernet/intel/igb/e1000_phy.c
2031
phy->cable_length = E1000_CABLE_LENGTH_UNDEFINED;
drivers/net/ethernet/intel/igb/e1000_phy.c
2032
phy->local_rx = e1000_1000t_rx_status_undefined;
drivers/net/ethernet/intel/igb/e1000_phy.c
2033
phy->remote_rx = e1000_1000t_rx_status_undefined;
drivers/net/ethernet/intel/igb/e1000_phy.c
2052
if (!(hw->phy.ops.read_reg))
drivers/net/ethernet/intel/igb/e1000_phy.c
2055
ret_val = hw->phy.ops.read_reg(hw, PHY_CONTROL, &phy_ctrl);
drivers/net/ethernet/intel/igb/e1000_phy.c
2060
ret_val = hw->phy.ops.write_reg(hw, PHY_CONTROL, phy_ctrl);
drivers/net/ethernet/intel/igb/e1000_phy.c
2081
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
2091
ret_val = phy->ops.acquire(hw);
drivers/net/ethernet/intel/igb/e1000_phy.c
2099
udelay(phy->reset_delay_us);
drivers/net/ethernet/intel/igb/e1000_phy.c
2106
phy->ops.release(hw);
drivers/net/ethernet/intel/igb/e1000_phy.c
2108
ret_val = phy->ops.get_cfg_done(hw);
drivers/net/ethernet/intel/igb/e1000_phy.c
2126
hw->phy.ops.write_reg(hw, 0x2F5B, 0x9018);
drivers/net/ethernet/intel/igb/e1000_phy.c
2128
hw->phy.ops.write_reg(hw, 0x2F52, 0x0000);
drivers/net/ethernet/intel/igb/e1000_phy.c
2130
hw->phy.ops.write_reg(hw, 0x2FB1, 0x8B24);
drivers/net/ethernet/intel/igb/e1000_phy.c
2132
hw->phy.ops.write_reg(hw, 0x2FB2, 0xF8F0);
drivers/net/ethernet/intel/igb/e1000_phy.c
2134
hw->phy.ops.write_reg(hw, 0x2010, 0x10B0);
drivers/net/ethernet/intel/igb/e1000_phy.c
2136
hw->phy.ops.write_reg(hw, 0x2011, 0x0000);
drivers/net/ethernet/intel/igb/e1000_phy.c
2138
hw->phy.ops.write_reg(hw, 0x20DD, 0x249A);
drivers/net/ethernet/intel/igb/e1000_phy.c
2140
hw->phy.ops.write_reg(hw, 0x20DE, 0x00D3);
drivers/net/ethernet/intel/igb/e1000_phy.c
2142
hw->phy.ops.write_reg(hw, 0x28B4, 0x04CE);
drivers/net/ethernet/intel/igb/e1000_phy.c
2144
hw->phy.ops.write_reg(hw, 0x2F70, 0x29E4);
drivers/net/ethernet/intel/igb/e1000_phy.c
2146
hw->phy.ops.write_reg(hw, 0x0000, 0x0140);
drivers/net/ethernet/intel/igb/e1000_phy.c
2148
hw->phy.ops.write_reg(hw, 0x1F30, 0x1606);
drivers/net/ethernet/intel/igb/e1000_phy.c
2150
hw->phy.ops.write_reg(hw, 0x1F31, 0xB814);
drivers/net/ethernet/intel/igb/e1000_phy.c
2152
hw->phy.ops.write_reg(hw, 0x1F35, 0x002A);
drivers/net/ethernet/intel/igb/e1000_phy.c
2154
hw->phy.ops.write_reg(hw, 0x1F3E, 0x0067);
drivers/net/ethernet/intel/igb/e1000_phy.c
2156
hw->phy.ops.write_reg(hw, 0x1F54, 0x0065);
drivers/net/ethernet/intel/igb/e1000_phy.c
2158
hw->phy.ops.write_reg(hw, 0x1F55, 0x002A);
drivers/net/ethernet/intel/igb/e1000_phy.c
2160
hw->phy.ops.write_reg(hw, 0x1F56, 0x002A);
drivers/net/ethernet/intel/igb/e1000_phy.c
2162
hw->phy.ops.write_reg(hw, 0x1F72, 0x3FB0);
drivers/net/ethernet/intel/igb/e1000_phy.c
2164
hw->phy.ops.write_reg(hw, 0x1F76, 0xC0FF);
drivers/net/ethernet/intel/igb/e1000_phy.c
2166
hw->phy.ops.write_reg(hw, 0x1F77, 0x1DEC);
drivers/net/ethernet/intel/igb/e1000_phy.c
2168
hw->phy.ops.write_reg(hw, 0x1F78, 0xF9EF);
drivers/net/ethernet/intel/igb/e1000_phy.c
2170
hw->phy.ops.write_reg(hw, 0x1F79, 0x0210);
drivers/net/ethernet/intel/igb/e1000_phy.c
2172
hw->phy.ops.write_reg(hw, 0x1895, 0x0003);
drivers/net/ethernet/intel/igb/e1000_phy.c
2174
hw->phy.ops.write_reg(hw, 0x1796, 0x0008);
drivers/net/ethernet/intel/igb/e1000_phy.c
2176
hw->phy.ops.write_reg(hw, 0x1798, 0xD008);
drivers/net/ethernet/intel/igb/e1000_phy.c
2180
hw->phy.ops.write_reg(hw, 0x1898, 0xD918);
drivers/net/ethernet/intel/igb/e1000_phy.c
2182
hw->phy.ops.write_reg(hw, 0x187A, 0x0800);
drivers/net/ethernet/intel/igb/e1000_phy.c
2186
hw->phy.ops.write_reg(hw, 0x0019, 0x008D);
drivers/net/ethernet/intel/igb/e1000_phy.c
2188
hw->phy.ops.write_reg(hw, 0x001B, 0x2080);
drivers/net/ethernet/intel/igb/e1000_phy.c
2190
hw->phy.ops.write_reg(hw, 0x0014, 0x0045);
drivers/net/ethernet/intel/igb/e1000_phy.c
2192
hw->phy.ops.write_reg(hw, 0x0000, 0x1340);
drivers/net/ethernet/intel/igb/e1000_phy.c
2205
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
2209
ret_val = phy->ops.write_reg(hw, E1000_M88E1543_PAGE_ADDR, 0x00FF);
drivers/net/ethernet/intel/igb/e1000_phy.c
2213
ret_val = phy->ops.write_reg(hw, E1000_M88E1512_CFG_REG_2, 0x214B);
drivers/net/ethernet/intel/igb/e1000_phy.c
2217
ret_val = phy->ops.write_reg(hw, E1000_M88E1512_CFG_REG_1, 0x2144);
drivers/net/ethernet/intel/igb/e1000_phy.c
2221
ret_val = phy->ops.write_reg(hw, E1000_M88E1512_CFG_REG_2, 0x0C28);
drivers/net/ethernet/intel/igb/e1000_phy.c
2225
ret_val = phy->ops.write_reg(hw, E1000_M88E1512_CFG_REG_1, 0x2146);
drivers/net/ethernet/intel/igb/e1000_phy.c
2229
ret_val = phy->ops.write_reg(hw, E1000_M88E1512_CFG_REG_2, 0xB233);
drivers/net/ethernet/intel/igb/e1000_phy.c
2233
ret_val = phy->ops.write_reg(hw, E1000_M88E1512_CFG_REG_1, 0x214D);
drivers/net/ethernet/intel/igb/e1000_phy.c
2237
ret_val = phy->ops.write_reg(hw, E1000_M88E1512_CFG_REG_2, 0xCC0C);
drivers/net/ethernet/intel/igb/e1000_phy.c
2241
ret_val = phy->ops.write_reg(hw, E1000_M88E1512_CFG_REG_1, 0x2159);
drivers/net/ethernet/intel/igb/e1000_phy.c
2246
ret_val = phy->ops.write_reg(hw, E1000_M88E1543_PAGE_ADDR, 0x00FB);
drivers/net/ethernet/intel/igb/e1000_phy.c
2250
ret_val = phy->ops.write_reg(hw, E1000_M88E1512_CFG_REG_3, 0x000D);
drivers/net/ethernet/intel/igb/e1000_phy.c
2255
ret_val = phy->ops.write_reg(hw, E1000_M88E1543_PAGE_ADDR, 0x12);
drivers/net/ethernet/intel/igb/e1000_phy.c
2260
ret_val = phy->ops.write_reg(hw, E1000_M88E1512_MODE, 0x8001);
drivers/net/ethernet/intel/igb/e1000_phy.c
2265
ret_val = phy->ops.write_reg(hw, E1000_M88E1543_PAGE_ADDR, 0);
drivers/net/ethernet/intel/igb/e1000_phy.c
228
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
2289
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
2293
ret_val = phy->ops.write_reg(hw, E1000_M88E1543_PAGE_ADDR, 0x00FF);
drivers/net/ethernet/intel/igb/e1000_phy.c
2297
ret_val = phy->ops.write_reg(hw, E1000_M88E1512_CFG_REG_2, 0x214B);
drivers/net/ethernet/intel/igb/e1000_phy.c
2301
ret_val = phy->ops.write_reg(hw, E1000_M88E1512_CFG_REG_1, 0x2144);
drivers/net/ethernet/intel/igb/e1000_phy.c
2305
ret_val = phy->ops.write_reg(hw, E1000_M88E1512_CFG_REG_2, 0x0C28);
drivers/net/ethernet/intel/igb/e1000_phy.c
2309
ret_val = phy->ops.write_reg(hw, E1000_M88E1512_CFG_REG_1, 0x2146);
drivers/net/ethernet/intel/igb/e1000_phy.c
2313
ret_val = phy->ops.write_reg(hw, E1000_M88E1512_CFG_REG_2, 0xB233);
drivers/net/ethernet/intel/igb/e1000_phy.c
2317
ret_val = phy->ops.write_reg(hw, E1000_M88E1512_CFG_REG_1, 0x214D);
drivers/net/ethernet/intel/igb/e1000_phy.c
2321
ret_val = phy->ops.write_reg(hw, E1000_M88E1512_CFG_REG_2, 0xDC0C);
drivers/net/ethernet/intel/igb/e1000_phy.c
2325
ret_val = phy->ops.write_reg(hw, E1000_M88E1512_CFG_REG_1, 0x2159);
drivers/net/ethernet/intel/igb/e1000_phy.c
2330
ret_val = phy->ops.write_reg(hw, E1000_M88E1543_PAGE_ADDR, 0x00FB);
drivers/net/ethernet/intel/igb/e1000_phy.c
2334
ret_val = phy->ops.write_reg(hw, E1000_M88E1512_CFG_REG_3, 0x0C0D);
drivers/net/ethernet/intel/igb/e1000_phy.c
2339
ret_val = phy->ops.write_reg(hw, E1000_M88E1543_PAGE_ADDR, 0x12);
drivers/net/ethernet/intel/igb/e1000_phy.c
2344
ret_val = phy->ops.write_reg(hw, E1000_M88E1512_MODE, 0x8001);
drivers/net/ethernet/intel/igb/e1000_phy.c
2349
ret_val = phy->ops.write_reg(hw, E1000_M88E1543_PAGE_ADDR, 0x1);
drivers/net/ethernet/intel/igb/e1000_phy.c
2354
ret_val = phy->ops.write_reg(hw, E1000_M88E1543_FIBER_CTRL, 0x9140);
drivers/net/ethernet/intel/igb/e1000_phy.c
2359
ret_val = phy->ops.write_reg(hw, E1000_M88E1543_PAGE_ADDR, 0);
drivers/net/ethernet/intel/igb/e1000_phy.c
236
(phy->addr << E1000_I2CCMD_PHY_ADDR_SHIFT) |
drivers/net/ethernet/intel/igb/e1000_phy.c
2387
hw->phy.ops.read_reg(hw, PHY_CONTROL, &mii_reg);
drivers/net/ethernet/intel/igb/e1000_phy.c
2389
hw->phy.ops.write_reg(hw, PHY_CONTROL, mii_reg);
drivers/net/ethernet/intel/igb/e1000_phy.c
2404
hw->phy.ops.read_reg(hw, PHY_CONTROL, &mii_reg);
drivers/net/ethernet/intel/igb/e1000_phy.c
2406
hw->phy.ops.write_reg(hw, PHY_CONTROL, mii_reg);
drivers/net/ethernet/intel/igb/e1000_phy.c
2420
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
2425
ret_val = phy->ops.read_reg(hw, I82580_PHY_STATUS_2, &data);
drivers/net/ethernet/intel/igb/e1000_phy.c
2428
phy->cable_polarity = (data & I82580_PHY_STATUS2_REV_POLARITY)
drivers/net/ethernet/intel/igb/e1000_phy.c
2445
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
2450
ret_val = phy->ops.read_reg(hw, PHY_CONTROL, &phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
2456
ret_val = phy->ops.write_reg(hw, PHY_CONTROL, phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
2463
ret_val = phy->ops.read_reg(hw, I82580_PHY_CTRL_2, &phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
2469
ret_val = phy->ops.write_reg(hw, I82580_PHY_CTRL_2, phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
2477
if (phy->autoneg_wait_to_complete) {
drivers/net/ethernet/intel/igb/e1000_phy.c
2508
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
2523
phy->polarity_correction = true;
drivers/net/ethernet/intel/igb/e1000_phy.c
2529
ret_val = phy->ops.read_reg(hw, I82580_PHY_STATUS_2, &data);
drivers/net/ethernet/intel/igb/e1000_phy.c
2533
phy->is_mdix = (data & I82580_PHY_STATUS2_MDIX) ? true : false;
drivers/net/ethernet/intel/igb/e1000_phy.c
2537
ret_val = hw->phy.ops.get_cable_length(hw);
drivers/net/ethernet/intel/igb/e1000_phy.c
2541
ret_val = phy->ops.read_reg(hw, PHY_1000T_STATUS, &data);
drivers/net/ethernet/intel/igb/e1000_phy.c
2545
phy->local_rx = (data & SR_1000T_LOCAL_RX_STATUS)
drivers/net/ethernet/intel/igb/e1000_phy.c
2549
phy->remote_rx = (data & SR_1000T_REMOTE_RX_STATUS)
drivers/net/ethernet/intel/igb/e1000_phy.c
2553
phy->cable_length = E1000_CABLE_LENGTH_UNDEFINED;
drivers/net/ethernet/intel/igb/e1000_phy.c
2554
phy->local_rx = e1000_1000t_rx_status_undefined;
drivers/net/ethernet/intel/igb/e1000_phy.c
2555
phy->remote_rx = e1000_1000t_rx_status_undefined;
drivers/net/ethernet/intel/igb/e1000_phy.c
2571
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
2575
ret_val = phy->ops.read_reg(hw, I82580_PHY_DIAG_STATUS, &phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
2584
phy->cable_length = length;
drivers/net/ethernet/intel/igb/e1000_phy.c
2602
ret_val = hw->phy.ops.read_reg(hw, PHY_1000T_CTRL, &phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
2607
hw->phy.original_ms_type = (phy_data & CR_1000T_MS_ENABLE) ?
drivers/net/ethernet/intel/igb/e1000_phy.c
2612
switch (hw->phy.ms_type) {
drivers/net/ethernet/intel/igb/e1000_phy.c
2627
return hw->phy.ops.write_reg(hw, PHY_1000T_CTRL, phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
273
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
278
if ((hw->phy.addr == 0) || (hw->phy.addr > 7)) {
drivers/net/ethernet/intel/igb/e1000_phy.c
280
hw->phy.addr);
drivers/net/ethernet/intel/igb/e1000_phy.c
292
(phy->addr << E1000_I2CCMD_PHY_ADDR_SHIFT) |
drivers/net/ethernet/intel/igb/e1000_phy.c
384
if (!(hw->phy.ops.acquire))
drivers/net/ethernet/intel/igb/e1000_phy.c
387
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/igb/e1000_phy.c
396
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/igb/e1000_phy.c
404
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/igb/e1000_phy.c
423
if (!(hw->phy.ops.acquire))
drivers/net/ethernet/intel/igb/e1000_phy.c
426
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/igb/e1000_phy.c
435
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/igb/e1000_phy.c
443
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/igb/e1000_phy.c
457
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
461
if (phy->reset_disable) {
drivers/net/ethernet/intel/igb/e1000_phy.c
466
if (phy->type == e1000_phy_82580) {
drivers/net/ethernet/intel/igb/e1000_phy.c
467
ret_val = hw->phy.ops.reset(hw);
drivers/net/ethernet/intel/igb/e1000_phy.c
475
ret_val = phy->ops.read_reg(hw, I82580_CFG_REG, &phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
484
ret_val = phy->ops.write_reg(hw, I82580_CFG_REG, phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
489
ret_val = phy->ops.read_reg(hw, I82580_PHY_CTRL_2, &phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
498
switch (hw->phy.mdix) {
drivers/net/ethernet/intel/igb/e1000_phy.c
509
ret_val = hw->phy.ops.write_reg(hw, I82580_PHY_CTRL_2, phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
524
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
528
if (phy->reset_disable) {
drivers/net/ethernet/intel/igb/e1000_phy.c
534
ret_val = phy->ops.read_reg(hw, M88E1000_PHY_SPEC_CTRL, &phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
549
switch (phy->mdix) {
drivers/net/ethernet/intel/igb/e1000_phy.c
56
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
572
if (phy->disable_polarity_correction == 1)
drivers/net/ethernet/intel/igb/e1000_phy.c
575
ret_val = phy->ops.write_reg(hw, M88E1000_PHY_SPEC_CTRL, phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
579
if (phy->revision < E1000_REVISION_4) {
drivers/net/ethernet/intel/igb/e1000_phy.c
583
ret_val = phy->ops.read_reg(hw, M88E1000_EXT_PHY_SPEC_CTRL,
drivers/net/ethernet/intel/igb/e1000_phy.c
590
if ((phy->revision == E1000_REVISION_2) &&
drivers/net/ethernet/intel/igb/e1000_phy.c
591
(phy->id == M88E1111_I_PHY_ID)) {
drivers/net/ethernet/intel/igb/e1000_phy.c
602
ret_val = phy->ops.write_reg(hw, M88E1000_EXT_PHY_SPEC_CTRL,
drivers/net/ethernet/intel/igb/e1000_phy.c
62
phy->ops.write_reg(hw, I347AT4_PAGE_SELECT, 0);
drivers/net/ethernet/intel/igb/e1000_phy.c
628
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
632
if (phy->reset_disable)
drivers/net/ethernet/intel/igb/e1000_phy.c
636
ret_val = phy->ops.read_reg(hw, M88E1000_PHY_SPEC_CTRL, &phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
64
ret_val = phy->ops.read_reg(hw, PHY_ID1, &phy_id);
drivers/net/ethernet/intel/igb/e1000_phy.c
649
switch (phy->mdix) {
drivers/net/ethernet/intel/igb/e1000_phy.c
658
if (phy->id != M88E1112_E_PHY_ID) {
drivers/net/ethernet/intel/igb/e1000_phy.c
676
if (phy->disable_polarity_correction == 1)
drivers/net/ethernet/intel/igb/e1000_phy.c
68
phy->id = (u32)(phy_id << 16);
drivers/net/ethernet/intel/igb/e1000_phy.c
680
if (phy->id == M88E1543_E_PHY_ID) {
drivers/net/ethernet/intel/igb/e1000_phy.c
683
phy->ops.write_reg(hw, M88E1000_PHY_SPEC_CTRL, phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
698
ret_val = phy->ops.write_reg(hw, M88E1000_PHY_SPEC_CTRL, phy_data);
drivers/net/ethernet/intel/igb/e1000_phy.c
70
ret_val = phy->ops.read_reg(hw, PHY_ID2, &phy_id);
drivers/net/ethernet/intel/igb/e1000_phy.c
724
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
728
if (phy->reset_disable) {
drivers/net/ethernet/intel/igb/e1000_phy.c
733
ret_val = phy->ops.reset(hw);
drivers/net/ethernet/intel/igb/e1000_phy.c
74
phy->id |= (u32)(phy_id & PHY_REVISION_MASK);
drivers/net/ethernet/intel/igb/e1000_phy.c
747
if (phy->type == e1000_phy_igp) {
drivers/net/ethernet/intel/igb/e1000_phy.c
749
if (phy->ops.set_d3_lplu_state)
drivers/net/ethernet/intel/igb/e1000_phy.c
75
phy->revision = (u32)(phy_id & ~PHY_REVISION_MASK);
drivers/net/ethernet/intel/igb/e1000_phy.c
750
ret_val = phy->ops.set_d3_lplu_state(hw, false);
drivers/net/ethernet/intel/igb/e1000_phy.c
758
ret_val = phy->ops.set_d0_lplu_state(hw, false);
drivers/net/ethernet/intel/igb/e1000_phy.c
764
ret_val = phy->ops.read_reg(hw, IGP01E1000_PHY_PORT_CTRL, &data);
drivers/net/ethernet/intel/igb/e1000_phy.c
770
switch (phy->mdix) {
drivers/net/ethernet/intel/igb/e1000_phy.c
782
ret_val = phy->ops.write_reg(hw, IGP01E1000_PHY_PORT_CTRL, data);
drivers/net/ethernet/intel/igb/e1000_phy.c
792
if (phy->autoneg_advertised == ADVERTISE_1000_FULL) {
drivers/net/ethernet/intel/igb/e1000_phy.c
794
ret_val = phy->ops.read_reg(hw,
drivers/net/ethernet/intel/igb/e1000_phy.c
801
ret_val = phy->ops.write_reg(hw,
drivers/net/ethernet/intel/igb/e1000_phy.c
808
ret_val = phy->ops.read_reg(hw, PHY_1000T_CTRL, &data);
drivers/net/ethernet/intel/igb/e1000_phy.c
813
ret_val = phy->ops.write_reg(hw, PHY_1000T_CTRL, data);
drivers/net/ethernet/intel/igb/e1000_phy.c
818
ret_val = phy->ops.read_reg(hw, PHY_1000T_CTRL, &data);
drivers/net/ethernet/intel/igb/e1000_phy.c
823
phy->original_ms_type = (data & CR_1000T_MS_ENABLE) ?
drivers/net/ethernet/intel/igb/e1000_phy.c
829
switch (phy->ms_type) {
drivers/net/ethernet/intel/igb/e1000_phy.c
843
ret_val = phy->ops.write_reg(hw, PHY_1000T_CTRL, data);
drivers/net/ethernet/intel/igb/e1000_phy.c
863
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
870
phy->autoneg_advertised &= phy->autoneg_mask;
drivers/net/ethernet/intel/igb/e1000_phy.c
875
if (phy->autoneg_advertised == 0)
drivers/net/ethernet/intel/igb/e1000_phy.c
876
phy->autoneg_advertised = phy->autoneg_mask;
drivers/net/ethernet/intel/igb/e1000_phy.c
889
ret_val = phy->ops.read_reg(hw, PHY_CONTROL, &phy_ctrl);
drivers/net/ethernet/intel/igb/e1000_phy.c
894
ret_val = phy->ops.write_reg(hw, PHY_CONTROL, phy_ctrl);
drivers/net/ethernet/intel/igb/e1000_phy.c
901
if (phy->autoneg_wait_to_complete) {
drivers/net/ethernet/intel/igb/e1000_phy.c
91
if (!(hw->phy.ops.write_reg))
drivers/net/ethernet/intel/igb/e1000_phy.c
926
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/e1000_phy.c
931
phy->autoneg_advertised &= phy->autoneg_mask;
drivers/net/ethernet/intel/igb/e1000_phy.c
934
ret_val = phy->ops.read_reg(hw, PHY_AUTONEG_ADV, &mii_autoneg_adv_reg);
drivers/net/ethernet/intel/igb/e1000_phy.c
938
if (phy->autoneg_mask & ADVERTISE_1000_FULL) {
drivers/net/ethernet/intel/igb/e1000_phy.c
94
ret_val = hw->phy.ops.write_reg(hw, M88E1000_PHY_GEN_CONTROL, 0xC1);
drivers/net/ethernet/intel/igb/e1000_phy.c
940
ret_val = phy->ops.read_reg(hw, PHY_1000T_CTRL,
drivers/net/ethernet/intel/igb/e1000_phy.c
963
hw_dbg("autoneg_advertised %x\n", phy->autoneg_advertised);
drivers/net/ethernet/intel/igb/e1000_phy.c
966
if (phy->autoneg_advertised & ADVERTISE_10_HALF) {
drivers/net/ethernet/intel/igb/e1000_phy.c
972
if (phy->autoneg_advertised & ADVERTISE_10_FULL) {
drivers/net/ethernet/intel/igb/e1000_phy.c
978
if (phy->autoneg_advertised & ADVERTISE_100_HALF) {
drivers/net/ethernet/intel/igb/e1000_phy.c
98
ret_val = hw->phy.ops.write_reg(hw, M88E1000_PHY_GEN_CONTROL, 0);
drivers/net/ethernet/intel/igb/e1000_phy.c
984
if (phy->autoneg_advertised & ADVERTISE_100_FULL) {
drivers/net/ethernet/intel/igb/e1000_phy.c
990
if (phy->autoneg_advertised & ADVERTISE_1000_HALF)
drivers/net/ethernet/intel/igb/e1000_phy.c
994
if (phy->autoneg_advertised & ADVERTISE_1000_FULL) {
drivers/net/ethernet/intel/igb/igb.h
787
if (hw->phy.ops.reset)
drivers/net/ethernet/intel/igb/igb.h
788
return hw->phy.ops.reset(hw);
drivers/net/ethernet/intel/igb/igb.h
795
if (hw->phy.ops.read_reg)
drivers/net/ethernet/intel/igb/igb.h
796
return hw->phy.ops.read_reg(hw, offset, data);
drivers/net/ethernet/intel/igb/igb.h
803
if (hw->phy.ops.write_reg)
drivers/net/ethernet/intel/igb/igb.h
804
return hw->phy.ops.write_reg(hw, offset, data);
drivers/net/ethernet/intel/igb/igb.h
811
if (hw->phy.ops.get_phy_info)
drivers/net/ethernet/intel/igb/igb.h
812
return hw->phy.ops.get_phy_info(hw);
drivers/net/ethernet/intel/igb/igb_ethtool.c
148
if (hw->phy.media_type == e1000_media_type_copper) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
1628
if (hw->phy.type == e1000_phy_m88) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
1629
if (hw->phy.id != I210_I_PHY_ID) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
163
advertising |= hw->phy.autoneg_advertised;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1641
} else if (hw->phy.type == e1000_phy_82580) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
1661
if (hw->phy.type == e1000_phy_m88)
drivers/net/ethernet/intel/igb/igb_ethtool.c
1669
if (hw->phy.type == e1000_phy_m88)
drivers/net/ethernet/intel/igb/igb_ethtool.c
167
cmd->base.phy_address = hw->phy.addr;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1986
if (hw->phy.media_type == e1000_media_type_internal_serdes) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
2030
autoneg_advertised = adapter->hw.phy.autoneg_advertised;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2069
adapter->hw.phy.autoneg_advertised = autoneg_advertised;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2074
adapter->hw.phy.autoneg_wait_to_complete = true;
drivers/net/ethernet/intel/igb/igb_ethtool.c
2076
adapter->hw.phy.autoneg_wait_to_complete = false;
drivers/net/ethernet/intel/igb/igb_ethtool.c
225
hw->phy.media_type != e1000_media_type_copper)
drivers/net/ethernet/intel/igb/igb_ethtool.c
234
if ((hw->phy.media_type == e1000_media_type_fiber) ||
drivers/net/ethernet/intel/igb/igb_ethtool.c
241
if (hw->phy.media_type == e1000_media_type_copper)
drivers/net/ethernet/intel/igb/igb_ethtool.c
242
cmd->base.eth_tp_mdix = hw->phy.is_mdix ? ETH_TP_MDI_X :
drivers/net/ethernet/intel/igb/igb_ethtool.c
247
if (hw->phy.mdix == AUTO_ALL_MODES)
drivers/net/ethernet/intel/igb/igb_ethtool.c
250
cmd->base.eth_tp_mdix_ctrl = hw->phy.mdix;
drivers/net/ethernet/intel/igb/igb_ethtool.c
281
if (hw->phy.media_type != e1000_media_type_copper)
drivers/net/ethernet/intel/igb/igb_ethtool.c
299
if (hw->phy.media_type == e1000_media_type_fiber) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
300
hw->phy.autoneg_advertised = advertising |
drivers/net/ethernet/intel/igb/igb_ethtool.c
3030
(hw->phy.media_type != e1000_media_type_copper))
drivers/net/ethernet/intel/igb/igb_ethtool.c
305
hw->phy.autoneg_advertised =
drivers/net/ethernet/intel/igb/igb_ethtool.c
309
hw->phy.autoneg_advertised =
drivers/net/ethernet/intel/igb/igb_ethtool.c
3114
(hw->phy.media_type != e1000_media_type_copper))
drivers/net/ethernet/intel/igb/igb_ethtool.c
313
hw->phy.autoneg_advertised =
drivers/net/ethernet/intel/igb/igb_ethtool.c
3194
if ((hw->phy.media_type == e1000_media_type_copper) ||
drivers/net/ethernet/intel/igb/igb_ethtool.c
3195
(hw->phy.media_type == e1000_media_type_unknown))
drivers/net/ethernet/intel/igb/igb_ethtool.c
320
hw->phy.autoneg_advertised = advertising |
drivers/net/ethernet/intel/igb/igb_ethtool.c
324
advertising = hw->phy.autoneg_advertised;
drivers/net/ethernet/intel/igb/igb_ethtool.c
342
hw->phy.mdix = AUTO_ALL_MODES;
drivers/net/ethernet/intel/igb/igb_ethtool.c
344
hw->phy.mdix = cmd->base.eth_tp_mdix_ctrl;
drivers/net/ethernet/intel/igb/igb_ethtool.c
431
retval = ((hw->phy.media_type == e1000_media_type_copper) ?
drivers/net/ethernet/intel/igb/igb_main.c
2014
if (adapter->hw.phy.media_type == e1000_media_type_copper)
drivers/net/ethernet/intel/igb/igb_main.c
2028
if (adapter->hw.phy.media_type == e1000_media_type_copper)
drivers/net/ethernet/intel/igb/igb_main.c
2051
if ((hw->phy.media_type == e1000_media_type_copper) &&
drivers/net/ethernet/intel/igb/igb_main.c
2054
} else if ((hw->phy.media_type != e1000_media_type_copper) &&
drivers/net/ethernet/intel/igb/igb_main.c
2076
switch (hw->phy.media_type) {
drivers/net/ethernet/intel/igb/igb_main.c
2257
if ((hw->phy.media_type == e1000_media_type_copper) &&
drivers/net/ethernet/intel/igb/igb_main.c
2440
if (hw->phy.media_type == e1000_media_type_copper) {
drivers/net/ethernet/intel/igb/igb_main.c
3285
memcpy(&hw->phy.ops, ei->phy_ops, sizeof(hw->phy.ops));
drivers/net/ethernet/intel/igb/igb_main.c
3299
hw->phy.autoneg_wait_to_complete = false;
drivers/net/ethernet/intel/igb/igb_main.c
3302
if (hw->phy.media_type == e1000_media_type_copper) {
drivers/net/ethernet/intel/igb/igb_main.c
3303
hw->phy.mdix = AUTO_ALL_MODES;
drivers/net/ethernet/intel/igb/igb_main.c
3304
hw->phy.disable_polarity_correction = false;
drivers/net/ethernet/intel/igb/igb_main.c
3305
hw->phy.ms_type = e1000_ms_hw_default;
drivers/net/ethernet/intel/igb/igb_main.c
3434
hw->phy.autoneg_advertised = 0x2f;
drivers/net/ethernet/intel/igb/igb_main.c
3623
if (hw->phy.media_type == e1000_media_type_copper) {
drivers/net/ethernet/intel/igb/igb_main.c
5485
switch (hw->phy.media_type) {
drivers/net/ethernet/intel/igb/igb_main.c
5501
(hw->phy.id == I210_I_PHY_ID)) {
drivers/net/ethernet/intel/igb/igb_main.c
5523
if ((hw->phy.media_type == e1000_media_type_copper) &&
drivers/net/ethernet/intel/igb/igb_main.c
5569
struct e1000_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igb/igb_main.c
5587
if (hw->phy.media_type == e1000_media_type_copper) {
drivers/net/ethernet/intel/igb/igb_main.c
5634
if (phy->speed_downgraded)
drivers/net/ethernet/intel/igb/igb_main.c
5654
!hw->phy.ops.read_reg)
drivers/net/ethernet/intel/igb/igb_main.c
9282
if (adapter->hw.phy.media_type != e1000_media_type_copper)
drivers/net/ethernet/intel/igb/igb_main.c
9287
data->phy_id = adapter->hw.phy.addr;
drivers/net/ethernet/intel/igb/igb_main.c
9443
if (adapter->hw.phy.media_type == e1000_media_type_internal_serdes) {
drivers/net/ethernet/intel/igb/igb_main.c
9469
adapter->hw.phy.autoneg_advertised = ADVERTISE_1000_FULL;
drivers/net/ethernet/intel/igb/igb_main.c
9477
adapter->hw.phy.mdix = AUTO_ALL_MODES;
drivers/net/ethernet/intel/igc/igc.h
694
if (hw->phy.ops.get_phy_info)
drivers/net/ethernet/intel/igc/igc.h
695
return hw->phy.ops.get_phy_info(hw);
drivers/net/ethernet/intel/igc/igc.h
702
if (hw->phy.ops.reset)
drivers/net/ethernet/intel/igc/igc.h
703
return hw->phy.ops.reset(hw);
drivers/net/ethernet/intel/igc/igc.h
758
if (hw->phy.ops.read_reg)
drivers/net/ethernet/intel/igc/igc.h
759
return hw->phy.ops.read_reg(hw, offset, data);
drivers/net/ethernet/intel/igc/igc_base.c
161
struct igc_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igc/igc_base.c
164
phy->autoneg_mask = AUTONEG_ADVERTISE_SPEED_DEFAULT_2500;
drivers/net/ethernet/intel/igc/igc_base.c
165
phy->reset_delay_us = 100;
drivers/net/ethernet/intel/igc/igc_base.c
175
ret_val = hw->phy.ops.reset(hw);
drivers/net/ethernet/intel/igc/igc_base.c
219
hw->phy.media_type = igc_media_type_copper;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1661
struct igc_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1674
ret_val = phy->ops.read_reg(hw, (STANDARD_AN_REG_MASK <<
drivers/net/ethernet/intel/igc/igc_ethtool.c
1693
ret_val = phy->ops.read_reg(hw, (STANDARD_AN_REG_MASK <<
drivers/net/ethernet/intel/igc/igc_ethtool.c
1708
ret_val = phy->ops.read_reg(hw, (STANDARD_AN_REG_MASK <<
drivers/net/ethernet/intel/igc/igc_ethtool.c
1727
ret_val = phy->ops.read_reg(hw, (STANDARD_AN_REG_MASK <<
drivers/net/ethernet/intel/igc/igc_ethtool.c
1913
cmd->base.phy_address = hw->phy.addr;
drivers/net/ethernet/intel/igc/igc_ethtool.c
1918
if (hw->phy.autoneg_advertised & ADVERTISE_10_HALF)
drivers/net/ethernet/intel/igc/igc_ethtool.c
1920
if (hw->phy.autoneg_advertised & ADVERTISE_10_FULL)
drivers/net/ethernet/intel/igc/igc_ethtool.c
1922
if (hw->phy.autoneg_advertised & ADVERTISE_100_HALF)
drivers/net/ethernet/intel/igc/igc_ethtool.c
1924
if (hw->phy.autoneg_advertised & ADVERTISE_100_FULL)
drivers/net/ethernet/intel/igc/igc_ethtool.c
1926
if (hw->phy.autoneg_advertised & ADVERTISE_1000_FULL)
drivers/net/ethernet/intel/igc/igc_ethtool.c
1928
if (hw->phy.autoneg_advertised & ADVERTISE_2500_FULL)
drivers/net/ethernet/intel/igc/igc_ethtool.c
1977
hw->phy.media_type != igc_media_type_copper)
drivers/net/ethernet/intel/igc/igc_ethtool.c
1989
if (hw->phy.media_type == igc_media_type_copper)
drivers/net/ethernet/intel/igc/igc_ethtool.c
1990
cmd->base.eth_tp_mdix = hw->phy.is_mdix ? ETH_TP_MDI_X :
drivers/net/ethernet/intel/igc/igc_ethtool.c
1995
if (hw->phy.mdix == AUTO_ALL_MODES)
drivers/net/ethernet/intel/igc/igc_ethtool.c
1998
cmd->base.eth_tp_mdix_ctrl = hw->phy.mdix;
drivers/net/ethernet/intel/igc/igc_ethtool.c
2060
hw->phy.autoneg_advertised = advertised;
drivers/net/ethernet/intel/igc/igc_ethtool.c
2073
hw->phy.mdix = AUTO_ALL_MODES;
drivers/net/ethernet/intel/igc/igc_ethtool.c
2075
hw->phy.mdix = cmd->base.eth_tp_mdix_ctrl;
drivers/net/ethernet/intel/igc/igc_ethtool.c
757
retval = ((hw->phy.media_type == igc_media_type_copper) ?
drivers/net/ethernet/intel/igc/igc_hw.h
187
struct igc_phy_info phy;
drivers/net/ethernet/intel/igc/igc_mac.c
472
ret_val = hw->phy.ops.read_reg(hw, PHY_STATUS,
drivers/net/ethernet/intel/igc/igc_mac.c
476
ret_val = hw->phy.ops.read_reg(hw, PHY_STATUS,
drivers/net/ethernet/intel/igc/igc_mac.c
492
ret_val = hw->phy.ops.read_reg(hw, PHY_AUTONEG_ADV,
drivers/net/ethernet/intel/igc/igc_mac.c
496
ret_val = hw->phy.ops.read_reg(hw, PHY_LP_ABILITY,
drivers/net/ethernet/intel/igc/igc_main.c
5839
struct igc_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igc/igc_main.c
5887
if (phy->speed_downgraded)
drivers/net/ethernet/intel/igc/igc_main.c
7203
memcpy(&hw->phy.ops, ei->phy_ops, sizeof(hw->phy.ops));
drivers/net/ethernet/intel/igc/igc_main.c
7300
hw->phy.autoneg_advertised = 0xaf;
drivers/net/ethernet/intel/igc/igc_phy.c
114
hw->phy.ops.read_reg(hw, PHY_CONTROL, &mii_reg);
drivers/net/ethernet/intel/igc/igc_phy.c
116
hw->phy.ops.write_reg(hw, PHY_CONTROL, mii_reg);
drivers/net/ethernet/intel/igc/igc_phy.c
131
hw->phy.ops.read_reg(hw, PHY_CONTROL, &mii_reg);
drivers/net/ethernet/intel/igc/igc_phy.c
133
hw->phy.ops.write_reg(hw, PHY_CONTROL, mii_reg);
drivers/net/ethernet/intel/igc/igc_phy.c
145
struct igc_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igc/igc_phy.c
148
phy->speed_downgraded = false;
drivers/net/ethernet/intel/igc/igc_phy.c
162
struct igc_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igc/igc_phy.c
173
ret_val = phy->ops.acquire(hw);
drivers/net/ethernet/intel/igc/igc_phy.c
183
udelay(phy->reset_delay_us);
drivers/net/ethernet/intel/igc/igc_phy.c
201
phy->ops.release(hw);
drivers/net/ethernet/intel/igc/igc_phy.c
218
struct igc_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igc/igc_phy.c
224
phy->autoneg_advertised &= phy->autoneg_mask;
drivers/net/ethernet/intel/igc/igc_phy.c
227
ret_val = phy->ops.read_reg(hw, PHY_AUTONEG_ADV, &mii_autoneg_adv_reg);
drivers/net/ethernet/intel/igc/igc_phy.c
231
if (phy->autoneg_mask & ADVERTISE_1000_FULL) {
drivers/net/ethernet/intel/igc/igc_phy.c
233
ret_val = phy->ops.read_reg(hw, PHY_1000T_CTRL,
drivers/net/ethernet/intel/igc/igc_phy.c
239
if (phy->autoneg_mask & ADVERTISE_2500_FULL) {
drivers/net/ethernet/intel/igc/igc_phy.c
241
ret_val = phy->ops.read_reg(hw, (STANDARD_AN_REG_MASK <<
drivers/net/ethernet/intel/igc/igc_phy.c
267
hw_dbg("autoneg_advertised %x\n", phy->autoneg_advertised);
drivers/net/ethernet/intel/igc/igc_phy.c
270
if (phy->autoneg_advertised & ADVERTISE_10_HALF) {
drivers/net/ethernet/intel/igc/igc_phy.c
276
if (phy->autoneg_advertised & ADVERTISE_10_FULL) {
drivers/net/ethernet/intel/igc/igc_phy.c
282
if (phy->autoneg_advertised & ADVERTISE_100_HALF) {
drivers/net/ethernet/intel/igc/igc_phy.c
288
if (phy->autoneg_advertised & ADVERTISE_100_FULL) {
drivers/net/ethernet/intel/igc/igc_phy.c
294
if (phy->autoneg_advertised & ADVERTISE_1000_HALF)
drivers/net/ethernet/intel/igc/igc_phy.c
298
if (phy->autoneg_advertised & ADVERTISE_1000_FULL) {
drivers/net/ethernet/intel/igc/igc_phy.c
304
if (phy->autoneg_advertised & ADVERTISE_2500_HALF)
drivers/net/ethernet/intel/igc/igc_phy.c
308
if (phy->autoneg_advertised & ADVERTISE_2500_FULL) {
drivers/net/ethernet/intel/igc/igc_phy.c
34
struct igc_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igc/igc_phy.c
369
ret_val = phy->ops.write_reg(hw, PHY_AUTONEG_ADV, mii_autoneg_adv_reg);
drivers/net/ethernet/intel/igc/igc_phy.c
375
if (phy->autoneg_mask & ADVERTISE_1000_FULL)
drivers/net/ethernet/intel/igc/igc_phy.c
376
ret_val = phy->ops.write_reg(hw, PHY_1000T_CTRL,
drivers/net/ethernet/intel/igc/igc_phy.c
379
if (phy->autoneg_mask & ADVERTISE_2500_FULL)
drivers/net/ethernet/intel/igc/igc_phy.c
38
ret_val = phy->ops.read_reg(hw, PHY_ID1, &phy_id);
drivers/net/ethernet/intel/igc/igc_phy.c
380
ret_val = phy->ops.write_reg(hw,
drivers/net/ethernet/intel/igc/igc_phy.c
403
ret_val = hw->phy.ops.read_reg(hw, PHY_STATUS, &phy_status);
drivers/net/ethernet/intel/igc/igc_phy.c
406
ret_val = hw->phy.ops.read_reg(hw, PHY_STATUS, &phy_status);
drivers/net/ethernet/intel/igc/igc_phy.c
42
phy->id = (u32)(phy_id << 16);
drivers/net/ethernet/intel/igc/igc_phy.c
431
struct igc_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igc/igc_phy.c
438
phy->autoneg_advertised &= phy->autoneg_mask;
drivers/net/ethernet/intel/igc/igc_phy.c
44
ret_val = phy->ops.read_reg(hw, PHY_ID2, &phy_id);
drivers/net/ethernet/intel/igc/igc_phy.c
443
if (phy->autoneg_advertised == 0)
drivers/net/ethernet/intel/igc/igc_phy.c
444
phy->autoneg_advertised = phy->autoneg_mask;
drivers/net/ethernet/intel/igc/igc_phy.c
457
ret_val = phy->ops.read_reg(hw, PHY_CONTROL, &phy_ctrl);
drivers/net/ethernet/intel/igc/igc_phy.c
462
ret_val = phy->ops.write_reg(hw, PHY_CONTROL, phy_ctrl);
drivers/net/ethernet/intel/igc/igc_phy.c
469
if (phy->autoneg_wait_to_complete) {
drivers/net/ethernet/intel/igc/igc_phy.c
48
phy->id |= (u32)(phy_id & PHY_REVISION_MASK);
drivers/net/ethernet/intel/igc/igc_phy.c
49
phy->revision = (u32)(phy_id & ~PHY_REVISION_MASK);
drivers/net/ethernet/intel/igc/igc_phy.c
534
struct igc_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igc/igc_phy.c
549
(phy->addr << IGC_MDIC_PHY_SHIFT) |
drivers/net/ethernet/intel/igc/igc_phy.c
590
struct igc_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igc/igc_phy.c
606
(phy->addr << IGC_MDIC_PHY_SHIFT) |
drivers/net/ethernet/intel/igc/igc_phy.c
649
ret_val = hw->phy.ops.write_reg(hw, IGC_MMDAC, dev_addr);
drivers/net/ethernet/intel/igc/igc_phy.c
653
ret_val = hw->phy.ops.write_reg(hw, IGC_MMDAAD, address);
drivers/net/ethernet/intel/igc/igc_phy.c
657
ret_val = hw->phy.ops.write_reg(hw, IGC_MMDAC, IGC_MMDAC_FUNC_DATA |
drivers/net/ethernet/intel/igc/igc_phy.c
663
ret_val = hw->phy.ops.read_reg(hw, IGC_MMDAAD, data);
drivers/net/ethernet/intel/igc/igc_phy.c
665
ret_val = hw->phy.ops.write_reg(hw, IGC_MMDAAD, *data);
drivers/net/ethernet/intel/igc/igc_phy.c
670
ret_val = hw->phy.ops.write_reg(hw, IGC_MMDAC, 0);
drivers/net/ethernet/intel/igc/igc_phy.c
720
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/igc/igc_phy.c
724
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/igc/igc_phy.c
75
ret_val = hw->phy.ops.read_reg(hw, PHY_STATUS, &phy_status);
drivers/net/ethernet/intel/igc/igc_phy.c
751
ret_val = hw->phy.ops.acquire(hw);
drivers/net/ethernet/intel/igc/igc_phy.c
755
hw->phy.ops.release(hw);
drivers/net/ethernet/intel/igc/igc_phy.c
770
struct igc_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/igc/igc_phy.c
775
ret_val = phy->ops.read_reg(hw, IGC_GPHY_VERSION, &gphy_version);
drivers/net/ethernet/intel/igc/igc_phy.c
86
ret_val = hw->phy.ops.read_reg(hw, PHY_STATUS, &phy_status);
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
100
struct ixgbe_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
1002
hw->phy.ops.read_reg_mdi(hw, IXGBE_MDIO_PMA_PMD_SDA_SCL_DATA,
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
105
phy->ops.identify(hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
114
switch (hw->phy.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
116
phy->ops.setup_link = &ixgbe_setup_phy_link_tnx;
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
117
phy->ops.check_link = &ixgbe_check_phy_link_tnx;
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
120
phy->ops.reset = &ixgbe_reset_phy_nl;
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
123
ret_val = phy->ops.identify_sfp(hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
126
if (hw->phy.sfp_type == ixgbe_sfp_type_unknown)
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
232
switch (hw->phy.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
471
hw->phy.ops.read_reg(hw, MDIO_STAT1, MDIO_MMD_AN, &an_reg);
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
511
if (hw->phy.type == ixgbe_phy_nl) {
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
512
hw->phy.ops.read_reg(hw, 0xC79F, MDIO_MMD_PMAPMD, &link_reg);
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
513
hw->phy.ops.read_reg(hw, 0xC79F, MDIO_MMD_PMAPMD, &link_reg);
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
514
hw->phy.ops.read_reg(hw, 0xC00C, MDIO_MMD_PMAPMD,
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
526
hw->phy.ops.read_reg(hw, 0xC79F,
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
529
hw->phy.ops.read_reg(hw, 0xC00C,
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
635
status = hw->phy.ops.setup_link_speed(hw, speed,
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
700
if (hw->phy.reset_disable == false) {
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
704
phy_status = hw->phy.ops.init(hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
710
hw->phy.ops.reset(hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
970
if (hw->phy.type == ixgbe_phy_nl) {
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
978
hw->phy.ops.write_reg_mdi(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
985
hw->phy.ops.read_reg_mdi(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
1029
if ((hw->phy.multispeed_fiber && ixgbe_mng_enabled(hw)) ||
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
106
if (hw->phy.sfp_type != ixgbe_sfp_type_unknown) {
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
109
hw->phy.ops.reset = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
1830
if (hw->phy.type == ixgbe_phy_unknown) {
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
1831
hw->phy.type = ixgbe_phy_none;
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
1836
if (hw->phy.type == ixgbe_phy_sfp_unsupported)
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
1887
if (hw->phy.media_type != ixgbe_media_type_fiber)
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
2082
if (hw->phy.qsfp_shared_i2c_bus == true) {
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
2108
if (hw->phy.qsfp_shared_i2c_bus == true) {
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
2136
if (hw->phy.qsfp_shared_i2c_bus == true) {
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
2162
if (hw->phy.qsfp_shared_i2c_bus == true) {
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
269
struct ixgbe_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
275
hw->phy.qsfp_shared_i2c_bus = true;
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
287
phy->ops.read_i2c_byte = &ixgbe_read_i2c_byte_82599;
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
288
phy->ops.write_i2c_byte = &ixgbe_write_i2c_byte_82599;
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
292
ret_val = phy->ops.identify(hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
305
switch (hw->phy.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
307
phy->ops.check_link = &ixgbe_check_phy_link_tnx;
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
308
phy->ops.setup_link = &ixgbe_setup_phy_link_tnx;
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
332
if (hw->phy.sfp_type == ixgbe_sfp_type_1g_cu_core0 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
333
hw->phy.sfp_type == ixgbe_sfp_type_1g_cu_core1 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
334
hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core0 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
335
hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core1 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
336
hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core0 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
337
hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core1 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
338
hw->phy.sfp_type == ixgbe_sfp_type_1g_bx_core0 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
339
hw->phy.sfp_type == ixgbe_sfp_type_1g_bx_core1) {
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
345
if (hw->phy.sfp_type == ixgbe_sfp_type_10g_bx_core0 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
346
hw->phy.sfp_type == ixgbe_sfp_type_10g_bx_core1) {
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
415
if (hw->phy.multispeed_fiber) {
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
420
if (hw->phy.media_type == ixgbe_media_type_fiber_qsfp)
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
438
switch (hw->phy.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
680
hw->phy.autoneg_advertised = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
683
hw->phy.autoneg_advertised |= IXGBE_LINK_SPEED_10GB_FULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
686
hw->phy.autoneg_advertised |= IXGBE_LINK_SPEED_1GB_FULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
689
hw->phy.autoneg_advertised |= IXGBE_LINK_SPEED_100_FULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
699
hw->phy.smart_speed_active = false;
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
735
hw->phy.smart_speed_active = true;
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
761
hw->phy.smart_speed_active = false;
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
827
(hw->phy.smart_speed_active == false))
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
83
if (hw->phy.multispeed_fiber) {
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
902
status = hw->phy.ops.setup_link_speed(hw, speed,
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
92
(hw->phy.smart_speed == ixgbe_smart_speed_auto ||
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
93
hw->phy.smart_speed == ixgbe_smart_speed_on) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
937
status = hw->phy.ops.init(hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
943
if (hw->phy.sfp_setup_needed) {
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
945
hw->phy.sfp_setup_needed = false;
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
952
if (hw->phy.reset_disable == false && hw->phy.ops.reset != NULL)
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
953
hw->phy.ops.reset(hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
145
switch (hw->phy.media_type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
158
hw->phy.ops.read_reg(hw, MDIO_AN_ADVERTISE,
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
179
if (hw->phy.media_type == ixgbe_media_type_backplane)
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
182
else if (hw->phy.media_type == ixgbe_media_type_copper)
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
192
if (hw->phy.media_type == ixgbe_media_type_backplane) {
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
195
} else if (hw->phy.media_type == ixgbe_media_type_copper) {
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
213
if (hw->phy.media_type == ixgbe_media_type_backplane)
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
216
else if (hw->phy.media_type == ixgbe_media_type_copper)
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
2388
hw->phy.ops.read_reg(hw, MDIO_AN_ADVERTISE,
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
2391
hw->phy.ops.read_reg(hw, MDIO_AN_LPA,
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
2430
switch (hw->phy.media_type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
245
if (hw->phy.media_type == ixgbe_media_type_backplane) {
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
254
} else if ((hw->phy.media_type == ixgbe_media_type_copper) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
256
hw->phy.ops.write_reg(hw, MDIO_AN_ADVERTISE,
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
280
hw->phy.media_type = hw->mac.ops.get_media_type(hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
283
hw->phy.ops.identify(hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
3961
status = hw->phy.ops.read_i2c_byte(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
4022
hw->phy.ops.write_i2c_byte(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
4239
switch (hw->phy.media_type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
4290
switch (hw->phy.media_type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
4340
hw->phy.autoneg_advertised = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
4343
hw->phy.autoneg_advertised |= IXGBE_LINK_SPEED_10GB_FULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
4346
hw->phy.autoneg_advertised |= IXGBE_LINK_SPEED_1GB_FULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
4378
status = hw->phy.ops.read_i2c_byte(hw, IXGBE_SFF_SFF_8472_OSCB,
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
4388
status = hw->phy.ops.write_i2c_byte(hw, IXGBE_SFF_SFF_8472_OSCB,
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
4397
status = hw->phy.ops.read_i2c_byte(hw, IXGBE_SFF_SFF_8472_ESCB,
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
4407
status = hw->phy.ops.write_i2c_byte(hw, IXGBE_SFF_SFF_8472_ESCB,
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
479
if (hw->phy.id == 0)
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
480
hw->phy.ops.identify(hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
484
hw->phy.ops.read_reg(hw, IXGBE_PCRC8ECL, MDIO_MMD_PCS, &i);
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
485
hw->phy.ops.read_reg(hw, IXGBE_PCRC8ECH, MDIO_MMD_PCS, &i);
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
486
hw->phy.ops.read_reg(hw, IXGBE_LDPCECL, MDIO_MMD_PCS, &i);
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
487
hw->phy.ops.read_reg(hw, IXGBE_LDPCECH, MDIO_MMD_PCS, &i);
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
55
switch (hw->phy.media_type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
1043
hw->phy.phy_type_low = le64_to_cpu(pcaps->phy_type_low);
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
1044
hw->phy.phy_type_high = le64_to_cpu(pcaps->phy_type_high);
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
1111
hw->phy.curr_user_phy_cfg = *cfg;
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
1570
hw->phy.media_type = ixgbe_get_media_type_from_phy_type(hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
1572
return hw->phy.media_type;
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
1589
return hw->phy.ops.setup_link_speed(hw, speed, autoneg_wait);
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
1691
*speed = hw->phy.speeds_supported;
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
1894
struct ixgbe_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
1897
phy->ops.set_phy_power = ixgbe_set_phy_power_e610;
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
1899
phy->ops.set_phy_power = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
1902
return phy->ops.identify(hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
1920
hw->phy.type = ixgbe_phy_fw;
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
1938
hw->phy.speeds_supported = IXGBE_LINK_SPEED_UNKNOWN;
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
1944
hw->phy.speeds_supported |= IXGBE_LINK_SPEED_10_FULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
1948
hw->phy.speeds_supported |= IXGBE_LINK_SPEED_100_FULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
1955
hw->phy.speeds_supported |= IXGBE_LINK_SPEED_1GB_FULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
1961
hw->phy.speeds_supported |= IXGBE_LINK_SPEED_2_5GB_FULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
1965
hw->phy.speeds_supported |= IXGBE_LINK_SPEED_5GB_FULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
1974
hw->phy.speeds_supported |= IXGBE_LINK_SPEED_10GB_FULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
1977
if (!hw->phy.autoneg_advertised)
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
1978
hw->phy.autoneg_advertised = hw->phy.speeds_supported;
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
1981
memcpy(&hw->phy.id, pcaps.phy_id_oui, sizeof(u32));
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
1983
hw->phy.eee_speeds_supported = IXGBE_LINK_SPEED_10_FULL |
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
1986
hw->phy.eee_speeds_advertised = hw->phy.eee_speeds_supported;
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
2013
hw->phy.sfp_type = ixgbe_sfp_type_unknown;
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
2022
hw->phy.sfp_type = ixgbe_sfp_type_da_cu;
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
2024
hw->phy.sfp_type = ixgbe_sfp_type_sr;
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
2027
hw->phy.sfp_type = ixgbe_sfp_type_lr;
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
2030
hw->phy.sfp_type = ixgbe_sfp_type_not_present;
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
2077
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_10_FULL) {
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
2081
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_100_FULL) {
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
2086
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_1GB_FULL) {
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
2094
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_2_5GB_FULL) {
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
2101
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_5GB_FULL) {
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
2106
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_10GB_FULL) {
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
3731
u32 swfw_mask = hw->phy.phy_semaphore_mask;
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
3743
hw->phy.ops.init(hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
150
if (!ixgbe_isbackplane(hw->phy.media_type)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
183
if (!ixgbe_isbackplane(hw->phy.media_type)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
240
if (ixgbe_isbackplane(hw->phy.media_type)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
266
if (hw->phy.autoneg_advertised) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
268
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_10_FULL)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
271
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_100_FULL)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
274
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_10GB_FULL)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
276
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_1GB_FULL) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
285
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_5GB_FULL)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
288
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_2_5GB_FULL)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
292
if (hw->phy.multispeed_fiber && !autoneg) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
307
switch (adapter->hw.phy.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
334
switch (adapter->hw.phy.sfp_type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3464
if (hw->phy.type == ixgbe_phy_fw)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3468
status = hw->phy.ops.read_i2c_eeprom(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3475
status = hw->phy.ops.read_i2c_eeprom(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3513
if (hw->phy.type == ixgbe_phy_fw)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3522
status = hw->phy.ops.read_i2c_eeprom(hw, i, &databyte);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3524
status = hw->phy.ops.read_i2c_sff8472(hw, i, &databyte);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3578
if (hw->phy.eee_speeds_supported & ixgbe_ls_map[i].mac_speed)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3584
if (hw->phy.eee_speeds_advertised & ixgbe_ls_map[i].mac_speed)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3606
if (hw->phy.eee_speeds_supported && hw->phy.type == ixgbe_phy_fw)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3650
hw->phy.eee_speeds_advertised =
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3651
hw->phy.eee_speeds_supported;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
3654
hw->phy.eee_speeds_advertised = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
468
if ((hw->phy.media_type == ixgbe_media_type_copper) ||
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
469
(hw->phy.multispeed_fiber)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
479
if (!cmd->base.autoneg && hw->phy.multispeed_fiber) {
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
487
old = hw->phy.autoneg_advertised;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11625
hw->phy.ops = *ii->phy_ops;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11626
hw->phy.sfp_type = ixgbe_sfp_type_unknown;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11628
hw->phy.mdio.prtad = MDIO_PRTAD_NONE;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11629
hw->phy.mdio.mmds = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11630
hw->phy.mdio.mode_support = MDIO_SUPPORTS_C45 | MDIO_EMULATE_C22;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11631
hw->phy.mdio.dev = netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11632
hw->phy.mdio.mdio_read = ixgbe_mdio_read;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11633
hw->phy.mdio.mdio_write = ixgbe_mdio_write;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11707
hw->phy.reset_if_overtemp = true;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11709
hw->phy.reset_if_overtemp = false;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11914
if (ixgbe_is_sfp(hw) && hw->phy.sfp_type != ixgbe_sfp_type_not_present)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11916
hw->mac.type, hw->phy.type, hw->phy.sfp_type,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11920
hw->mac.type, hw->phy.type, part_str);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3003
if (!hw->phy.ops.check_overtemp(hw))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3009
if (!hw->phy.ops.check_overtemp(hw))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3085
if (hw->phy.type == ixgbe_phy_nl)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3448
if (adapter->hw.phy.type == ixgbe_phy_x550em_ext_t)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
3509
if (hw->phy.type == ixgbe_phy_x550em_ext_t &&
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
356
if (unlikely(hw->phy.nw_mng_if_sel &
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6025
speed = hw->phy.autoneg_advertised;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6228
if (hw->phy.ops.set_phy_power)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6229
hw->phy.ops.set_phy_power(hw, true);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6280
if (adapter->hw.phy.type == ixgbe_phy_fw)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6565
if (hw->phy.ops.set_phy_power) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6567
hw->phy.ops.set_phy_power(hw, false);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6569
hw->phy.ops.set_phy_power(hw, true);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6760
if (!hw->phy.eee_speeds_supported)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6763
if (!hw->phy.eee_speeds_advertised)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7460
if (hw->phy.ops.set_phy_power && !adapter->wol)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7461
hw->phy.ops.set_phy_power(&adapter->hw, false);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7474
if (adapter->hw.phy.ops.enter_lplu) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7475
adapter->hw.phy.reset_disable = true;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7477
adapter->hw.phy.ops.enter_lplu(&adapter->hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7478
adapter->hw.phy.reset_disable = false;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7614
if (hw->phy.ops.set_phy_power && !*enable_wake)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7615
hw->phy.ops.set_phy_power(hw, false);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8398
err = hw->phy.ops.identify_sfp(hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8424
err = hw->phy.ops.reset(hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8432
e_info(probe, "detected SFP+: %d\n", hw->phy.sfp_type);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8516
if (!hw->phy.ops.handle_lasi)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
8519
hw->phy.ops.handle_lasi(&adapter->hw, &overtemp);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9585
if (prtad != hw->phy.mdio.prtad)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9587
rc = hw->phy.ops.read_reg(hw, addr, devad, &value);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9609
if (prtad != hw->phy.mdio.prtad)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9611
return hw->phy.ops.write_reg(hw, addr, devad, value);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9620
if (!adapter->hw.phy.ops.read_reg)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9624
return mdio_mii_ioctl(&adapter->hw.phy.mdio, if_mii(req), cmd);
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1086
hw->phy.mdio.mode_support = MDIO_SUPPORTS_C45 | MDIO_SUPPORTS_C22;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1108
hw->phy.ops.read_reg(hw, MDIO_AN_10GBT_CTRL, MDIO_MMD_AN, &autoneg_reg);
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1111
if ((hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_10GB_FULL) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1115
hw->phy.ops.write_reg(hw, MDIO_AN_10GBT_CTRL, MDIO_MMD_AN, autoneg_reg);
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1117
hw->phy.ops.read_reg(hw, IXGBE_MII_AUTONEG_VENDOR_PROVISION_1_REG,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1123
if ((hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_5GB_FULL) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1129
if ((hw->phy.autoneg_advertised &
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1137
if ((hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_1GB_FULL) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1141
hw->phy.ops.write_reg(hw, IXGBE_MII_AUTONEG_VENDOR_PROVISION_1_REG,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1145
hw->phy.ops.read_reg(hw, MDIO_AN_ADVERTISE, MDIO_MMD_AN, &autoneg_reg);
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1148
if ((hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_100_FULL) &&
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1152
hw->phy.ops.write_reg(hw, MDIO_AN_ADVERTISE, MDIO_MMD_AN, autoneg_reg);
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1159
hw->phy.ops.read_reg(hw, MDIO_CTRL1,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1164
hw->phy.ops.write_reg(hw, MDIO_CTRL1,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1183
hw->phy.autoneg_advertised = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1186
hw->phy.autoneg_advertised |= IXGBE_LINK_SPEED_10GB_FULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1189
hw->phy.autoneg_advertised |= IXGBE_LINK_SPEED_5GB_FULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1192
hw->phy.autoneg_advertised |= IXGBE_LINK_SPEED_2_5GB_FULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1195
hw->phy.autoneg_advertised |= IXGBE_LINK_SPEED_1GB_FULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1198
hw->phy.autoneg_advertised |= IXGBE_LINK_SPEED_100_FULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1201
hw->phy.autoneg_advertised |= IXGBE_LINK_SPEED_10_FULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1204
if (hw->phy.ops.setup_link)
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1205
hw->phy.ops.setup_link(hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1222
status = hw->phy.ops.read_reg(hw, MDIO_SPEED, MDIO_MMD_PMAPMD,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1228
hw->phy.speeds_supported |= IXGBE_LINK_SPEED_10GB_FULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1230
hw->phy.speeds_supported |= IXGBE_LINK_SPEED_1GB_FULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1232
hw->phy.speeds_supported |= IXGBE_LINK_SPEED_100_FULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1237
hw->phy.speeds_supported |= IXGBE_LINK_SPEED_2_5GB_FULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1238
hw->phy.speeds_supported |= IXGBE_LINK_SPEED_5GB_FULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1242
hw->phy.speeds_supported &= ~IXGBE_LINK_SPEED_100_FULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1264
if (!hw->phy.speeds_supported)
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1267
*speed = hw->phy.speeds_supported;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1301
status = hw->phy.ops.read_reg(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1340
hw->phy.ops.read_reg(hw, MDIO_AN_10GBT_CTRL,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1345
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_10GB_FULL)
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1348
hw->phy.ops.write_reg(hw, MDIO_AN_10GBT_CTRL,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1355
hw->phy.ops.read_reg(hw, IXGBE_MII_AUTONEG_XNP_TX_REG,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1360
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_1GB_FULL)
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1363
hw->phy.ops.write_reg(hw, IXGBE_MII_AUTONEG_XNP_TX_REG,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1370
hw->phy.ops.read_reg(hw, MDIO_AN_ADVERTISE,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1376
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_100_FULL)
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1379
hw->phy.ops.write_reg(hw, MDIO_AN_ADVERTISE,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1389
hw->phy.ops.read_reg(hw, MDIO_CTRL1,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1394
hw->phy.ops.write_reg(hw, MDIO_CTRL1,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1416
hw->phy.ops.read_reg(hw, MDIO_CTRL1, MDIO_MMD_PHYXS, &phy_data);
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1419
hw->phy.ops.write_reg(hw, MDIO_CTRL1, MDIO_MMD_PHYXS,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1423
hw->phy.ops.read_reg(hw, MDIO_CTRL1, MDIO_MMD_PHYXS,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1470
hw->phy.ops.write_reg(hw, phy_offset,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1518
hw->phy.sfp_type = ixgbe_sfp_type_not_present;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1533
enum ixgbe_sfp_type stored_sfp_type = hw->phy.sfp_type;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1549
hw->phy.sfp_type = ixgbe_sfp_type_not_present;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1556
status = hw->phy.ops.read_i2c_eeprom(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1564
hw->phy.type = ixgbe_phy_sfp_unsupported;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1567
status = hw->phy.ops.read_i2c_eeprom(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1574
status = hw->phy.ops.read_i2c_eeprom(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1580
status = hw->phy.ops.read_i2c_eeprom(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1586
status = hw->phy.ops.read_i2c_eeprom(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1610
hw->phy.sfp_type = ixgbe_sfp_type_da_cu;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1612
hw->phy.sfp_type = ixgbe_sfp_type_sr;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1614
hw->phy.sfp_type = ixgbe_sfp_type_lr;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1616
hw->phy.sfp_type = ixgbe_sfp_type_unknown;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1620
hw->phy.sfp_type =
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1623
hw->phy.sfp_type =
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1626
hw->phy.ops.read_i2c_eeprom(
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1632
hw->phy.sfp_type =
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1635
hw->phy.sfp_type =
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1638
hw->phy.sfp_type =
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1645
hw->phy.sfp_type =
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1648
hw->phy.sfp_type =
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1652
hw->phy.sfp_type =
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1655
hw->phy.sfp_type =
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1659
hw->phy.sfp_type =
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1662
hw->phy.sfp_type =
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1666
hw->phy.sfp_type =
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1669
hw->phy.sfp_type =
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1678
hw->phy.sfp_type =
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1681
hw->phy.sfp_type =
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
169
u32 swfw_mask = hw->phy.phy_semaphore_mask;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1690
status = hw->phy.ops.read_i2c_eeprom(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1695
status = hw->phy.ops.read_i2c_eeprom(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1702
hw->phy.sfp_type =
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1705
hw->phy.sfp_type =
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1708
hw->phy.sfp_type = ixgbe_sfp_type_unknown;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1711
hw->phy.sfp_type = ixgbe_sfp_type_unknown;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1715
if (hw->phy.sfp_type != stored_sfp_type)
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1716
hw->phy.sfp_setup_needed = true;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1719
hw->phy.multispeed_fiber = false;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1724
hw->phy.multispeed_fiber = true;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1727
if (hw->phy.type != ixgbe_phy_nl) {
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1728
hw->phy.id = identifier;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1729
status = hw->phy.ops.read_i2c_eeprom(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1736
status = hw->phy.ops.read_i2c_eeprom(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1743
status = hw->phy.ops.read_i2c_eeprom(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1758
hw->phy.type =
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1763
hw->phy.type = ixgbe_phy_sfp_ftl_active;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1765
hw->phy.type = ixgbe_phy_sfp_ftl;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1768
hw->phy.type = ixgbe_phy_sfp_avago;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1771
hw->phy.type = ixgbe_phy_sfp_intel;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1775
hw->phy.type =
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1778
hw->phy.type =
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1781
hw->phy.type = ixgbe_phy_sfp_unknown;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1793
!(hw->phy.sfp_type == ixgbe_sfp_type_1g_cu_core1 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1794
hw->phy.sfp_type == ixgbe_sfp_type_1g_cu_core0 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1795
hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core0 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1796
hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core1 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1797
hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core0 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1798
hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core1 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1799
hw->phy.sfp_type == ixgbe_sfp_type_1g_bx_core0 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1800
hw->phy.sfp_type == ixgbe_sfp_type_1g_bx_core1 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1801
hw->phy.sfp_type == ixgbe_sfp_type_10g_bx_core0 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1802
hw->phy.sfp_type == ixgbe_sfp_type_10g_bx_core1)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1803
hw->phy.type = ixgbe_phy_sfp_unsupported;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1813
!(hw->phy.sfp_type == ixgbe_sfp_type_1g_cu_core0 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1814
hw->phy.sfp_type == ixgbe_sfp_type_1g_cu_core1 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1815
hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core0 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1816
hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core1 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1817
hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core0 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1818
hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core1 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1819
hw->phy.sfp_type == ixgbe_sfp_type_1g_bx_core0 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1820
hw->phy.sfp_type == ixgbe_sfp_type_1g_bx_core1 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1821
hw->phy.sfp_type == ixgbe_sfp_type_10g_bx_core0 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1822
hw->phy.sfp_type == ixgbe_sfp_type_10g_bx_core1)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1824
if (hw->phy.type == ixgbe_phy_sfp_intel)
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1831
hw->phy.type = ixgbe_phy_sfp_unsupported;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1837
hw->phy.sfp_type = ixgbe_sfp_type_not_present;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1838
if (hw->phy.type != ixgbe_phy_nl) {
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1839
hw->phy.id = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1840
hw->phy.type = ixgbe_phy_unknown;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1856
enum ixgbe_sfp_type stored_sfp_type = hw->phy.sfp_type;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1868
hw->phy.sfp_type = ixgbe_sfp_type_not_present;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1875
status = hw->phy.ops.read_i2c_eeprom(hw, IXGBE_SFF_IDENTIFIER,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1882
hw->phy.type = ixgbe_phy_sfp_unsupported;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1886
hw->phy.id = identifier;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1888
status = hw->phy.ops.read_i2c_eeprom(hw, IXGBE_SFF_QSFP_10GBE_COMP,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1894
status = hw->phy.ops.read_i2c_eeprom(hw, IXGBE_SFF_QSFP_1GBE_COMP,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1901
hw->phy.type = ixgbe_phy_qsfp_passive_unknown;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1903
hw->phy.sfp_type = ixgbe_sfp_type_da_cu_core0;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1905
hw->phy.sfp_type = ixgbe_sfp_type_da_cu_core1;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1909
hw->phy.sfp_type = ixgbe_sfp_type_srlr_core0;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1911
hw->phy.sfp_type = ixgbe_sfp_type_srlr_core1;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1920
hw->phy.ops.read_i2c_eeprom(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1924
hw->phy.ops.read_i2c_eeprom(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1928
hw->phy.ops.read_i2c_eeprom(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1941
hw->phy.type = ixgbe_phy_qsfp_active_unknown;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1943
hw->phy.sfp_type =
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1946
hw->phy.sfp_type =
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1950
hw->phy.type = ixgbe_phy_sfp_unsupported;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1955
if (hw->phy.sfp_type != stored_sfp_type)
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1956
hw->phy.sfp_setup_needed = true;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1959
hw->phy.multispeed_fiber = false;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1964
hw->phy.multispeed_fiber = true;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1969
status = hw->phy.ops.read_i2c_eeprom(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1976
status = hw->phy.ops.read_i2c_eeprom(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1983
status = hw->phy.ops.read_i2c_eeprom(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1996
hw->phy.type = ixgbe_phy_qsfp_intel;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
1998
hw->phy.type = ixgbe_phy_qsfp_unknown;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
2003
if (hw->phy.type == ixgbe_phy_qsfp_intel)
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
2010
hw->phy.type = ixgbe_phy_sfp_unsupported;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
2018
hw->phy.sfp_type = ixgbe_sfp_type_not_present;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
2019
hw->phy.id = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
2020
hw->phy.type = ixgbe_phy_unknown;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
2039
u16 sfp_type = hw->phy.sfp_type;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
2041
if (hw->phy.sfp_type == ixgbe_sfp_type_unknown)
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
2044
if (hw->phy.sfp_type == ixgbe_sfp_type_not_present)
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
2048
(hw->phy.sfp_type == ixgbe_sfp_type_da_cu))
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
2131
return hw->phy.ops.read_i2c_byte(hw, byte_offset,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
2147
return hw->phy.ops.read_i2c_byte(hw, byte_offset,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
2163
return hw->phy.ops.write_i2c_byte(hw, byte_offset,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
2178
hw->phy.sfp_type == ixgbe_sfp_type_not_present)
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
2197
u32 swfw_mask = hw->phy.phy_semaphore_mask;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
232
hw->phy.mdio.prtad = phy_addr;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
2322
u32 swfw_mask = hw->phy.phy_semaphore_mask;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
233
if (mdio45_probe(&hw->phy.mdio, phy_addr) != 0)
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
239
hw->phy.type = ixgbe_get_phy_type_from_id(hw->phy.id);
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
241
if (hw->phy.type == ixgbe_phy_unknown) {
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
242
hw->phy.ops.read_reg(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
249
hw->phy.type = ixgbe_phy_cu_unknown;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
251
hw->phy.type = ixgbe_phy_generic;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
268
if (!hw->phy.phy_semaphore_mask) {
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
270
hw->phy.phy_semaphore_mask = IXGBE_GSSR_PHY1_SM;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
272
hw->phy.phy_semaphore_mask = IXGBE_GSSR_PHY0_SM;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
275
if (hw->phy.type != ixgbe_phy_unknown)
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
278
if (hw->phy.nw_mng_if_sel) {
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
280
hw->phy.nw_mng_if_sel);
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
2820
status = hw->phy.ops.read_reg(hw, IXGBE_TN_LASI_STATUS_REG,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
2844
status = hw->phy.ops.read_reg(hw, MDIO_CTRL1, MDIO_MMD_VEND1, &reg);
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
2856
status = hw->phy.ops.write_reg(hw, MDIO_CTRL1, MDIO_MMD_VEND1, reg);
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
299
hw->phy.mdio.prtad = MDIO_PRTAD_NONE;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
341
status = hw->phy.ops.read_reg(hw, MDIO_DEVID1, MDIO_MMD_PMAPMD,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
345
hw->phy.id = (u32)(phy_id_high << 16);
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
346
status = hw->phy.ops.read_reg(hw, MDIO_DEVID2, MDIO_MMD_PMAPMD,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
348
hw->phy.id |= (u32)(phy_id_low & IXGBE_PHY_REVISION_MASK);
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
349
hw->phy.revision = (u32)(phy_id_low & ~IXGBE_PHY_REVISION_MASK);
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
403
if (hw->phy.type == ixgbe_phy_unknown)
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
406
if (status != 0 || hw->phy.type == ixgbe_phy_none)
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
410
if (!hw->phy.reset_if_overtemp && hw->phy.ops.check_overtemp(hw))
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
421
hw->phy.ops.write_reg(hw, MDIO_CTRL1,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
432
if (hw->phy.type == ixgbe_phy_x550em_ext_t) {
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
433
status = hw->phy.ops.read_reg(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
444
status = hw->phy.ops.read_reg(hw, MDIO_CTRL1,
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
481
(hw->phy.mdio.prtad << IXGBE_MSCA_PHY_ADDR_SHIFT) |
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
509
(hw->phy.mdio.prtad << IXGBE_MSCA_PHY_ADDR_SHIFT) |
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
552
u32 gssr = hw->phy.phy_semaphore_mask;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
585
(hw->phy.mdio.prtad << IXGBE_MSCA_PHY_ADDR_SHIFT) |
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
614
(hw->phy.mdio.prtad << IXGBE_MSCA_PHY_ADDR_SHIFT) |
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
650
u32 gssr = hw->phy.phy_semaphore_mask;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
828
u32 gssr = hw->phy.phy_semaphore_mask;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
845
u32 gssr = hw->phy.phy_semaphore_mask;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
862
u32 gssr = hw->phy.phy_semaphore_mask;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
880
u32 gssr = hw->phy.phy_semaphore_mask;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
897
u32 gssr = hw->phy.phy_semaphore_mask;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
91
u32 swfw_mask = hw->phy.phy_semaphore_mask;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
915
u32 gssr = hw->phy.phy_semaphore_mask;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
933
u32 gssr = hw->phy.phy_semaphore_mask;
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
952
u32 gssr = hw->phy.phy_semaphore_mask;
drivers/net/ethernet/intel/ixgbe/ixgbe_type.h
3729
struct ixgbe_phy_info phy;
drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
33
struct ixgbe_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
36
phy->ops.set_phy_power = ixgbe_set_copper_phy_power;
drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
58
return hw->phy.ops.setup_link_speed(hw, speed,
drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
74
u32 swfw_mask = hw->phy.phy_semaphore_mask;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
1615
switch (hw->phy.sfp_type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
1818
if (hw->phy.mdio.prtad == MDIO_PRTAD_NONE)
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
1822
ret_val = hw->phy.ops.read_reg(hw, IXGBE_CS4227_EFUSE_PDF_SKU,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
1839
ret_val = hw->phy.ops.read_reg(hw, reg_slice,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
1852
ret_val = hw->phy.ops.write_reg(hw, reg_slice,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
1858
return hw->phy.ops.read_reg(hw, reg_slice,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
1891
!(hw->phy.nw_mng_if_sel & IXGBE_NW_MNG_IF_SEL_INT_PHY_MODE)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
1898
return hw->phy.ops.setup_link_speed(hw, speed, autoneg_wait);
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
1933
status = hw->phy.ops.read_reg(hw, MDIO_STAT1, MDIO_MMD_AN,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
20
struct ixgbe_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2090
return hw->phy.ops.setup_link_speed(hw, speed, autoneg_wait);
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2242
hw->phy.ops.reset = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2256
if (hw->phy.type == ixgbe_phy_fw) {
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2258
*speed = hw->phy.speeds_supported;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2263
if (hw->phy.media_type == ixgbe_media_type_fiber) {
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2267
if (hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core0 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2268
hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core1 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2269
hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core0 ||
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2270
hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core1) {
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2276
if (hw->phy.multispeed_fiber)
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2282
switch (hw->phy.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
229
u32 swfw_mask = hw->phy.phy_semaphore_mask;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2299
if (hw->phy.nw_mng_if_sel &
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2340
status = hw->phy.ops.read_reg(hw, IXGBE_MDIO_GLOBAL_CHIP_STD_INT_FLAG,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2348
status = hw->phy.ops.read_reg(hw, IXGBE_MDIO_GLOBAL_INT_CHIP_VEN_FLAG,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2357
status = hw->phy.ops.read_reg(hw, IXGBE_MDIO_GLOBAL_ALARM_1,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2373
status = hw->phy.ops.read_reg(hw, IXGBE_MDIO_GLOBAL_FAULT_MSG,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2389
status = hw->phy.ops.read_reg(hw, IXGBE_MDIO_GLOBAL_CHIP_STD_INT_FLAG,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2396
status = hw->phy.ops.read_reg(hw, IXGBE_MDIO_AUTO_NEG_VENDOR_TX_ALARM2,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2438
status = hw->phy.ops.read_reg(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2446
status = hw->phy.ops.write_reg(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2454
status = hw->phy.ops.read_reg(hw, IXGBE_MDIO_GLOBAL_INT_MASK,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2463
status = hw->phy.ops.write_reg(hw, IXGBE_MDIO_GLOBAL_INT_MASK,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2470
status = hw->phy.ops.read_reg(hw, IXGBE_MDIO_GLOBAL_INT_CHIP_VEN_MASK,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2479
status = hw->phy.ops.write_reg(hw, IXGBE_MDIO_GLOBAL_INT_CHIP_VEN_MASK,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2486
status = hw->phy.ops.read_reg(hw, IXGBE_MDIO_GLOBAL_INT_CHIP_STD_MASK,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2494
status = hw->phy.ops.write_reg(hw, IXGBE_MDIO_GLOBAL_INT_CHIP_STD_MASK,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2513
struct ixgbe_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2521
if (lsc && phy->ops.setup_internal_link)
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2522
return phy->ops.setup_internal_link(hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2592
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_2_5GB_FULL)
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2598
return ixgbe_setup_kr_speed_x550em(hw, hw->phy.autoneg_advertised);
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2615
ret = hw->phy.ops.read_reg(hw, MDIO_STAT1, MDIO_MMD_AN,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2620
ret = hw->phy.ops.read_reg(hw, MDIO_STAT1, MDIO_MMD_AN,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2652
!(hw->phy.nw_mng_if_sel & IXGBE_NW_MNG_IF_SEL_INT_PHY_MODE))) {
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2666
status = hw->phy.ops.read_reg(hw, IXGBE_MDIO_AUTO_NEG_VENDOR_STAT,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
27
phy->ops.set_phy_power = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2727
hw->phy.ops.read_reg(hw, IXGBE_X557_LED_PROVISIONING + led_idx,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2730
hw->phy.ops.write_reg(hw, IXGBE_X557_LED_PROVISIONING + led_idx,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2749
hw->phy.ops.read_reg(hw, IXGBE_X557_LED_PROVISIONING + led_idx,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2752
hw->phy.ops.write_reg(hw, IXGBE_X557_LED_PROVISIONING + led_idx,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
2830
status = hw->phy.ops.read_reg(hw, IXGBE_AUTO_NEG_LP_STATUS,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
302
hw->phy.phy_semaphore_mask = IXGBE_GSSR_PHY1_SM;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
304
hw->phy.phy_semaphore_mask = IXGBE_GSSR_PHY0_SM;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3066
status = hw->phy.ops.read_reg(hw, IXGBE_MDIO_AUTO_NEG_VENDOR_STAT,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
308
hw->phy.phy_semaphore_mask = IXGBE_GSSR_SHARED_I2C_SM;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3088
status = hw->phy.ops.read_reg(hw, IXGBE_MDIO_AUTO_NEG_VENDOR_TX_ALARM,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3094
status = hw->phy.ops.read_reg(hw, MDIO_AN_10GBT_CTRL,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3100
status = hw->phy.ops.read_reg(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3107
save_autoneg = hw->phy.autoneg_advertised;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3113
hw->phy.autoneg_advertised = save_autoneg;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3127
if (hw->phy.reset_disable || ixgbe_check_reset_blocked(hw))
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
315
hw->phy.type = ixgbe_phy_x550em_kx4;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3175
hw->phy.nw_mng_if_sel = IXGBE_READ_REG(hw, IXGBE_NW_MNG_IF_SEL);
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
318
hw->phy.type = ixgbe_phy_x550em_xfi;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3181
hw->phy.nw_mng_if_sel & IXGBE_NW_MNG_IF_SEL_MDIO_ACT) {
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3182
hw->phy.mdio.prtad = FIELD_GET(IXGBE_NW_MNG_IF_SEL_MDIO_PHY_ADD,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3183
hw->phy.nw_mng_if_sel);
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3196
struct ixgbe_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3204
phy->phy_semaphore_mask = IXGBE_GSSR_SHARED_I2C_SM;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3209
ret_val = phy->ops.identify(hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3215
if (phy->sfp_type != ixgbe_sfp_type_unknown)
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3216
phy->ops.reset = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3219
switch (hw->phy.type) {
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3221
phy->ops.setup_link = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3222
phy->ops.read_reg = ixgbe_read_phy_reg_x550em;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3223
phy->ops.write_reg = ixgbe_write_phy_reg_x550em;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3226
phy->ops.setup_link = ixgbe_setup_kr_x550em;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3227
phy->ops.read_reg = ixgbe_read_phy_reg_x550em;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3228
phy->ops.write_reg = ixgbe_write_phy_reg_x550em;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
323
hw->phy.type = ixgbe_phy_x550em_kr;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3232
phy->ops.setup_link = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3233
phy->ops.read_reg = ixgbe_read_phy_reg_x550em;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3234
phy->ops.write_reg = ixgbe_write_phy_reg_x550em;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3240
phy->nw_mng_if_sel = IXGBE_READ_REG(hw, IXGBE_NW_MNG_IF_SEL);
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3245
phy->ops.setup_internal_link =
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3252
phy->ops.enter_lplu = ixgbe_enter_lplu_t_x550em;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3254
phy->ops.handle_lasi = ixgbe_handle_lasi_ext_t_x550em;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3255
phy->ops.reset = ixgbe_reset_phy_t_X550em;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3258
phy->ops.setup_link = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3261
phy->ops.setup_link = ixgbe_setup_fw_link;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3262
phy->ops.reset = ixgbe_reset_phy_fw;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3265
phy->ops.setup_link = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3266
phy->ops.read_reg = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3267
phy->ops.write_reg = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3268
phy->ops.reset = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
327
hw->phy.phy_semaphore_mask = IXGBE_GSSR_PHY1_SM;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
329
hw->phy.phy_semaphore_mask = IXGBE_GSSR_PHY0_SM;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3291
hw->phy.type = ixgbe_phy_sgmii;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3327
status = hw->phy.ops.read_reg(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3338
status = hw->phy.ops.read_reg(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
334
hw->phy.type = ixgbe_phy_ext_1g_t;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3347
status = hw->phy.ops.write_reg(hw,
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
338
hw->phy.type = ixgbe_phy_fw;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
339
hw->phy.ops.read_reg = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3398
u32 swfw_mask = hw->phy.phy_semaphore_mask;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
340
hw->phy.ops.write_reg = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3417
status = hw->phy.ops.init(hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
342
hw->phy.phy_semaphore_mask |= IXGBE_GSSR_PHY1_SM;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3422
if (hw->phy.type == ixgbe_phy_x550em_ext_t) {
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3429
if (hw->phy.sfp_setup_needed) {
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3431
hw->phy.sfp_setup_needed = false;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3438
if (!hw->phy.reset_disable && hw->phy.ops.reset)
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3439
hw->phy.ops.reset(hw);
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
344
hw->phy.phy_semaphore_mask |= IXGBE_GSSR_PHY0_SM;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
36
struct ixgbe_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3765
u32 mask = hw->phy.phy_semaphore_mask | IXGBE_GSSR_TOKEN_SM;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3771
status = hw->phy.ops.read_reg_mdi(hw, reg_addr, device_type, phy_data);
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
3791
u32 mask = hw->phy.phy_semaphore_mask | IXGBE_GSSR_TOKEN_SM;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
41
phy->ops.set_phy_power = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
49
struct ixgbe_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
497
if (hw->phy.id)
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
504
hw->phy.speeds_supported = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
508
hw->phy.speeds_supported |= ixgbe_fw_map[i].phy_speed;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
511
hw->phy.id = info[0] & FW_PHY_INFO_ID_HI_MASK;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
513
hw->phy.id |= phy_id_lo & IXGBE_PHY_REVISION_MASK;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
514
hw->phy.revision = phy_id_lo & ~IXGBE_PHY_REVISION_MASK;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
515
if (!hw->phy.id || hw->phy.id == IXGBE_PHY_REVISION_MASK)
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
518
hw->phy.autoneg_advertised = hw->phy.speeds_supported;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
519
hw->phy.eee_speeds_supported = IXGBE_LINK_SPEED_100_FULL |
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
521
hw->phy.eee_speeds_advertised = hw->phy.eee_speeds_supported;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
534
hw->phy.phy_semaphore_mask = IXGBE_GSSR_PHY1_SM;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
536
hw->phy.phy_semaphore_mask = IXGBE_GSSR_PHY0_SM;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
538
hw->phy.type = ixgbe_phy_fw;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
539
hw->phy.ops.read_reg = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
540
hw->phy.ops.write_reg = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
55
phy->ops.set_phy_power = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
568
if (hw->phy.reset_disable || ixgbe_check_reset_blocked(hw))
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
594
if (hw->phy.autoneg_advertised & ixgbe_fw_map[i].phy_speed)
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
599
if (hw->phy.eee_speeds_advertised)
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
62
struct ixgbe_phy_info *phy = &hw->phy;
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
67
phy->ops.set_phy_power = NULL;
drivers/net/ethernet/jme.c
48
jme_mdio_read(struct net_device *netdev, int phy, int reg)
drivers/net/ethernet/jme.c
55
smi_phy_addr(phy) |
drivers/net/ethernet/jme.c
67
pr_err("phy(%d) read timeout : %d\n", phy, reg);
drivers/net/ethernet/jme.c
79
int phy, int reg, int val)
drivers/net/ethernet/jme.c
86
smi_phy_addr(phy) | smi_reg_addr(reg));
drivers/net/ethernet/jme.c
96
pr_err("phy(%d) write timeout : %d\n", phy, reg);
drivers/net/ethernet/korina.c
533
static int korina_mdio_read(struct net_device *dev, int phy, int reg)
drivers/net/ethernet/korina.c
542
writel(phy << 8 | reg, &lp->eth_regs->miimaddr);
drivers/net/ethernet/korina.c
557
static void korina_mdio_write(struct net_device *dev, int phy, int reg, int val)
drivers/net/ethernet/korina.c
565
writel(phy << 8 | reg, &lp->eth_regs->miimaddr);
drivers/net/ethernet/marvell/mv643xx_eth.c
3019
struct phy_device *phy = dev->phydev;
drivers/net/ethernet/marvell/mv643xx_eth.c
3022
phy->autoneg = AUTONEG_ENABLE;
drivers/net/ethernet/marvell/mv643xx_eth.c
3023
phy->speed = 0;
drivers/net/ethernet/marvell/mv643xx_eth.c
3024
phy->duplex = 0;
drivers/net/ethernet/marvell/mv643xx_eth.c
3025
linkmode_copy(phy->advertising, phy->supported);
drivers/net/ethernet/marvell/mv643xx_eth.c
3027
phy->advertising);
drivers/net/ethernet/marvell/mv643xx_eth.c
3029
phy->autoneg = AUTONEG_DISABLE;
drivers/net/ethernet/marvell/mv643xx_eth.c
3030
linkmode_zero(phy->advertising);
drivers/net/ethernet/marvell/mv643xx_eth.c
3031
phy->speed = speed;
drivers/net/ethernet/marvell/mv643xx_eth.c
3032
phy->duplex = duplex;
drivers/net/ethernet/marvell/mv643xx_eth.c
3034
phy_start_aneg(phy);
drivers/net/ethernet/marvell/mvneta.c
4243
struct phy_device *phy,
drivers/net/ethernet/marvell/mvneta.c
541
struct phy *comphy;
drivers/net/ethernet/marvell/mvneta.c
5487
struct phy *comphy;
drivers/net/ethernet/marvell/mvpp2/mvpp2.h
1252
struct phy *comphy;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
6615
struct phy_device *phy,
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
6829
struct phy *comphy = NULL;
drivers/net/ethernet/marvell/octeontx2/af/mbox.h
670
struct phy_s phy;
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3030
struct phy_s *phy;
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3090
phy = &fwdata->phy;
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3094
phy->misc.can_change_mod_type);
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3095
seq_printf(s, "\t\t Mod type \t\t\t :%x\n", phy->misc.mod_type);
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3096
seq_printf(s, "\t\t Support FEC \t\t\t :%x\n", phy->misc.has_fec_stats);
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3098
phy->fec_stats.rsfec_corr_cws);
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3100
phy->fec_stats.rsfec_uncorr_cws);
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3102
phy->fec_stats.brfec_corr_blks);
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c
3104
phy->fec_stats.brfec_uncorr_blks);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
1311
if (!IS_ERR(rsp) && rsp->fwdata.phy.misc.has_fec_stats &&
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
1318
struct fec_stats_s *p = &rsp->fwdata.phy.fec_stats;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
219
if (!IS_ERR(rsp) && rsp->fwdata.phy.misc.has_fec_stats &&
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
226
struct fec_stats_s *p = &rsp->fwdata.phy.fec_stats;
drivers/net/ethernet/marvell/prestera/prestera.h
222
} phy;
drivers/net/ethernet/marvell/prestera/prestera_hw.c
1180
*mdix = prestera_hw_mdix_to_eth(resp.param.link_evt.phy.mdix);
drivers/net/ethernet/marvell/prestera/prestera_hw.c
1183
*lmode_bmap = __le64_to_cpu(resp.param.link_evt.phy.lmode_bmap);
drivers/net/ethernet/marvell/prestera/prestera_hw.c
1186
prestera_hw_remote_fc_to_eth(resp.param.link_evt.phy.fc,
drivers/net/ethernet/marvell/prestera/prestera_hw.c
1202
.phy = {
drivers/net/ethernet/marvell/prestera/prestera_hw.c
1212
req.param.link.phy.mdix = prestera_hw_mdix_from_eth(mdix);
drivers/net/ethernet/marvell/prestera/prestera_hw.c
266
} __packed phy; /* make sure always 12 bytes size */
drivers/net/ethernet/marvell/prestera/prestera_hw.c
330
} phy;
drivers/net/ethernet/marvell/prestera/prestera_main.c
265
struct phy_device *phy,
drivers/net/ethernet/marvell/pxa168_eth.c
932
struct phy_device *phy = dev->phydev;
drivers/net/ethernet/marvell/pxa168_eth.c
939
if (phy->interface == PHY_INTERFACE_MODE_RMII)
drivers/net/ethernet/marvell/pxa168_eth.c
941
if (phy->speed == SPEED_100)
drivers/net/ethernet/marvell/pxa168_eth.c
943
if (phy->duplex)
drivers/net/ethernet/marvell/pxa168_eth.c
945
if (!phy->pause)
drivers/net/ethernet/marvell/pxa168_eth.c
955
phy_print_status(phy);
drivers/net/ethernet/marvell/pxa168_eth.c
962
struct phy_device *phy = NULL;
drivers/net/ethernet/marvell/pxa168_eth.c
968
phy = mdiobus_scan_c22(pep->smi_bus, pep->phy_addr);
drivers/net/ethernet/marvell/pxa168_eth.c
969
if (IS_ERR(phy))
drivers/net/ethernet/marvell/pxa168_eth.c
970
return PTR_ERR(phy);
drivers/net/ethernet/marvell/pxa168_eth.c
972
err = phy_connect_direct(dev, phy, pxa168_eth_adjust_link,
drivers/net/ethernet/marvell/sky2.c
2341
u16 phy;
drivers/net/ethernet/marvell/sky2.c
2349
phy = sky2_pci_read16(hw, PSM_CONFIG_REG4);
drivers/net/ethernet/marvell/sky2.c
2351
sky2_pci_write16(hw, PSM_CONFIG_REG4, phy | 1);
drivers/net/ethernet/mediatek/mtk_eth_soc.c
811
struct phy_device *phy,
drivers/net/ethernet/mediatek/mtk_eth_soc.c
850
struct phy_device *phy,
drivers/net/ethernet/mediatek/mtk_eth_soc.c
884
struct phy_device *phy,
drivers/net/ethernet/mediatek/mtk_eth_soc.c
892
mtk_xgdm_mac_link_up(mac, phy, mode, interface, speed, duplex,
drivers/net/ethernet/mediatek/mtk_eth_soc.c
895
mtk_gdm_mac_link_up(mac, phy, mode, interface, speed, duplex,
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
1405
&MLX5E_STATS_GRP(phy),
drivers/net/ethernet/mellanox/mlx5/core/en_stats.c
1268
static MLX5E_DECLARE_STATS_GRP_OP_NUM_STATS(phy)
drivers/net/ethernet/mellanox/mlx5/core/en_stats.c
1283
static MLX5E_DECLARE_STATS_GRP_OP_FILL_STRS(phy)
drivers/net/ethernet/mellanox/mlx5/core/en_stats.c
1306
static MLX5E_DECLARE_STATS_GRP_OP_FILL_STATS(phy)
drivers/net/ethernet/mellanox/mlx5/core/en_stats.c
1342
static MLX5E_DECLARE_STATS_GRP_OP_UPDATE_STATS(phy)
drivers/net/ethernet/mellanox/mlx5/core/en_stats.c
2695
MLX5E_DEFINE_STATS_GRP(phy, 0);
drivers/net/ethernet/mellanox/mlx5/core/en_stats.c
2715
&MLX5E_STATS_GRP(phy),
drivers/net/ethernet/mellanox/mlx5/core/en_stats.h
528
extern MLX5E_DECLARE_STATS_GRP(phy);
drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c
495
&MLX5E_STATS_GRP(phy),
drivers/net/ethernet/meta/fbnic/fbnic_ethtool.c
1735
phy_stats = &fbd->hw_stats.phy;
drivers/net/ethernet/meta/fbnic/fbnic_ethtool.c
1756
phy_stats = &fbd->hw_stats.phy;
drivers/net/ethernet/meta/fbnic/fbnic_hw_stats.c
547
fbnic_reset_phy_stats(fbd, &fbd->hw_stats.phy);
drivers/net/ethernet/meta/fbnic/fbnic_hw_stats.c
576
fbnic_get_phy_stats32(fbd, &fbd->hw_stats.phy);
drivers/net/ethernet/meta/fbnic/fbnic_hw_stats.h
141
struct fbnic_phy_stats phy;
drivers/net/ethernet/meta/fbnic/fbnic_phylink.c
163
struct phy_device *phy, unsigned int mode,
drivers/net/ethernet/micrel/ks8851_common.c
949
int phy, int reg, int value)
drivers/net/ethernet/micrel/ksz884x.c
2578
static inline void hw_r_phy_ctrl(struct ksz_hw *hw, int phy, u16 *data)
drivers/net/ethernet/micrel/ksz884x.c
2580
*data = readw(hw->io + phy + KS884X_PHY_CTRL_OFFSET);
drivers/net/ethernet/micrel/ksz884x.c
2583
static inline void hw_w_phy_ctrl(struct ksz_hw *hw, int phy, u16 data)
drivers/net/ethernet/micrel/ksz884x.c
2585
writew(data, hw->io + phy + KS884X_PHY_CTRL_OFFSET);
drivers/net/ethernet/micrel/ksz884x.c
2599
int phy;
drivers/net/ethernet/micrel/ksz884x.c
2601
phy = KS884X_PHY_1_CTRL_OFFSET + port * PHY_CTRL_INTERVAL + reg;
drivers/net/ethernet/micrel/ksz884x.c
2602
*val = readw(hw->io + phy);
drivers/net/ethernet/micrel/ksz884x.c
2616
int phy;
drivers/net/ethernet/micrel/ksz884x.c
2618
phy = KS884X_PHY_1_CTRL_OFFSET + port * PHY_CTRL_INTERVAL + reg;
drivers/net/ethernet/micrel/ksz884x.c
2619
writew(val, hw->io + phy);
drivers/net/ethernet/micrel/ksz884x.c
3052
int phy;
drivers/net/ethernet/micrel/ksz884x.c
3056
phy = KS884X_PHY_1_CTRL_OFFSET + p * PHY_CTRL_INTERVAL;
drivers/net/ethernet/micrel/ksz884x.c
3057
hw_r_phy_ctrl(hw, phy, &data);
drivers/net/ethernet/micrel/ksz884x.c
3069
hw_w_phy_ctrl(hw, phy, data);
drivers/net/ethernet/microchip/lan743x_main.h
1068
struct lan743x_phy phy;
drivers/net/ethernet/microchip/lan966x/lan966x_main.c
1195
struct phy *serdes;
drivers/net/ethernet/microchip/lan966x/lan966x_main.h
409
struct phy *serdes;
drivers/net/ethernet/microchip/lan966x/lan966x_phylink.c
47
struct phy_device *phy,
drivers/net/ethernet/microchip/sparx5/sparx5_main.c
44
struct phy *serdes;
drivers/net/ethernet/microchip/sparx5/sparx5_main.c
900
struct phy *serdes = NULL;
drivers/net/ethernet/microchip/sparx5/sparx5_main.h
213
struct phy *serdes;
drivers/net/ethernet/microchip/sparx5/sparx5_phylink.c
58
struct phy_device *phy,
drivers/net/ethernet/mscc/ocelot.c
1001
struct phy *serdes = of_phy_get(portnp, NULL);
drivers/net/ethernet/natsemi/ns83820.c
1791
static unsigned ns83820_mii_read_reg(struct ns83820 *dev, unsigned phy, unsigned reg)
drivers/net/ethernet/natsemi/ns83820.c
1807
ns83820_mii_write_bit(dev, phy & (0x10 >> i));
drivers/net/ethernet/natsemi/ns83820.c
1825
static unsigned ns83820_mii_write_reg(struct ns83820 *dev, unsigned phy, unsigned reg, unsigned data)
drivers/net/ethernet/natsemi/ns83820.c
1840
ns83820_mii_write_bit(dev, phy & (0x10 >> i));
drivers/net/ethernet/ni/nixge.c
869
struct phy_device *phy;
drivers/net/ethernet/ni/nixge.c
874
phy = of_phy_connect(ndev, priv->phy_node,
drivers/net/ethernet/ni/nixge.c
876
if (!phy)
drivers/net/ethernet/ni/nixge.c
879
phy_start(phy);
drivers/net/ethernet/ni/nixge.c
903
phy_stop(phy);
drivers/net/ethernet/ni/nixge.c
904
phy_disconnect(phy);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe.h
370
struct pch_gbe_phy_info phy;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
139
hw->phy.autoneg_advertised = advertising;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1961
hw->phy.reset_delay_us = PCH_GBE_PHY_RESET_DELAY_US;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
603
adapter->hw.phy.addr = adapter->mii.phy_id;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
313
hw->phy.autoneg_advertised = opt.def;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
318
hw->phy.autoneg_advertised = tmp;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
337
hw->phy.autoneg_advertised = PHY_ADVERTISE_10_HALF |
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
348
hw->phy.autoneg_advertised = PHY_ADVERTISE_10_FULL |
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
360
hw->phy.autoneg_advertised = PHY_ADVERTISE_10_HALF |
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
368
hw->phy.autoneg_advertised = 0;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
375
hw->phy.autoneg_advertised = 0;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
385
hw->phy.autoneg_advertised = PHY_ADVERTISE_100_HALF |
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
394
hw->phy.autoneg_advertised = 0;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
402
hw->phy.autoneg_advertised = 0;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
419
hw->phy.autoneg_advertised = PHY_ADVERTISE_1000_FULL;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
113
phy->id = (u32)phy_id1;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
114
phy->id = ((phy->id << 6) | ((phy_id2 & 0xFC00) >> 10));
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
115
phy->revision = (u32) (phy_id2 & 0x000F);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
118
phy->id, phy->revision);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
133
struct pch_gbe_phy_info *phy = &hw->phy;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
142
*data = pch_gbe_mac_ctrl_miim(hw, phy->addr, PCH_GBE_HAL_MIIM_READ,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
158
struct pch_gbe_phy_info *phy = &hw->phy;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
167
pch_gbe_mac_ctrl_miim(hw, phy->addr, PCH_GBE_HAL_MIIM_WRITE,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
265
switch (hw->phy.id) {
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
283
hw->phy.id);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
308
cmd.advertising = hw->phy.autoneg_advertised;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
339
switch (hw->phy.id) {
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
356
hw->phy.id);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
98
struct pch_gbe_phy_info *phy = &hw->phy;
drivers/net/ethernet/packetengines/hamachi.c
755
int phy, phy_idx = 0;
drivers/net/ethernet/packetengines/hamachi.c
756
for (phy = 0; phy < 32 && phy_idx < MII_CNT; phy++) {
drivers/net/ethernet/packetengines/hamachi.c
757
int mii_status = mdio_read(dev, phy, MII_BMSR);
drivers/net/ethernet/packetengines/hamachi.c
760
hmp->phys[phy_idx++] = phy;
drivers/net/ethernet/packetengines/hamachi.c
761
hmp->mii_if.advertising = mdio_read(dev, phy, MII_ADVERTISE);
drivers/net/ethernet/packetengines/hamachi.c
764
dev->name, phy, mii_status, hmp->mii_if.advertising);
drivers/net/ethernet/packetengines/yellowfin.c
495
int phy, phy_idx = 0;
drivers/net/ethernet/packetengines/yellowfin.c
496
for (phy = 0; phy < 32 && phy_idx < MII_CNT; phy++) {
drivers/net/ethernet/packetengines/yellowfin.c
497
int mii_status = mdio_read(ioaddr, phy, 1);
drivers/net/ethernet/packetengines/yellowfin.c
499
np->phys[phy_idx++] = phy;
drivers/net/ethernet/packetengines/yellowfin.c
500
np->advertising = mdio_read(ioaddr, phy, 4);
drivers/net/ethernet/packetengines/yellowfin.c
502
phy, mii_status, np->advertising);
drivers/net/ethernet/pensando/ionic/ionic_ethtool.c
285
if (idev->port_info->status.xcvr.phy == IONIC_PHY_TYPE_COPPER ||
drivers/net/ethernet/pensando/ionic/ionic_ethtool.c
288
else if (idev->port_info->status.xcvr.phy == IONIC_PHY_TYPE_FIBER)
drivers/net/ethernet/pensando/ionic/ionic_if.h
1427
u8 phy;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
412
u8 phy = adapter->physical_port;
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
414
if (phy >= NETXEN_NIU_MAX_XG_PORTS)
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
421
reg_lo = NETXEN_NIU_XGE_STATION_ADDR_0_1 + (0x10000 * phy);
drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c
422
reg_hi = NETXEN_NIU_XGE_STATION_ADDR_0_HI + (0x10000 * phy);
drivers/net/ethernet/qualcomm/emac/emac-sgmii-fsm9900.c
209
struct emac_sgmii *phy = &adpt->phy;
drivers/net/ethernet/qualcomm/emac/emac-sgmii-fsm9900.c
212
emac_reg_write_all(phy->base, physical_coding_sublayer_programming,
drivers/net/ethernet/qualcomm/emac/emac-sgmii-fsm9900.c
214
emac_reg_write_all(phy->base, sysclk_refclk_setting,
drivers/net/ethernet/qualcomm/emac/emac-sgmii-fsm9900.c
216
emac_reg_write_all(phy->base, pll_setting, ARRAY_SIZE(pll_setting));
drivers/net/ethernet/qualcomm/emac/emac-sgmii-fsm9900.c
217
emac_reg_write_all(phy->base, cdr_setting, ARRAY_SIZE(cdr_setting));
drivers/net/ethernet/qualcomm/emac/emac-sgmii-fsm9900.c
218
emac_reg_write_all(phy->base, tx_rx_setting, ARRAY_SIZE(tx_rx_setting));
drivers/net/ethernet/qualcomm/emac/emac-sgmii-fsm9900.c
221
writel(SERDES_START, phy->base + EMAC_SGMII_PHY_SERDES_START);
drivers/net/ethernet/qualcomm/emac/emac-sgmii-fsm9900.c
224
if (readl(phy->base + EMAC_QSERDES_COM_RESET_SM) & READY)
drivers/net/ethernet/qualcomm/emac/emac-sgmii-fsm9900.c
234
writel(0, phy->base + EMAC_SGMII_PHY_INTERRUPT_MASK);
drivers/net/ethernet/qualcomm/emac/emac-sgmii-qdf2400.c
175
struct emac_sgmii *phy = &adpt->phy;
drivers/net/ethernet/qualcomm/emac/emac-sgmii-qdf2400.c
176
void __iomem *phy_regs = phy->base;
drivers/net/ethernet/qualcomm/emac/emac-sgmii-qdf2400.c
177
void __iomem *laned = phy->digital;
drivers/net/ethernet/qualcomm/emac/emac-sgmii-qdf2400.c
182
emac_reg_write_all(phy->base, physical_coding_sublayer_programming,
drivers/net/ethernet/qualcomm/emac/emac-sgmii-qdf2400.c
186
emac_reg_write_all(phy->digital, sgmii_laned, ARRAY_SIZE(sgmii_laned));
drivers/net/ethernet/qualcomm/emac/emac-sgmii-qdf2432.c
162
struct emac_sgmii *phy = &adpt->phy;
drivers/net/ethernet/qualcomm/emac/emac-sgmii-qdf2432.c
163
void __iomem *phy_regs = phy->base;
drivers/net/ethernet/qualcomm/emac/emac-sgmii-qdf2432.c
164
void __iomem *laned = phy->digital;
drivers/net/ethernet/qualcomm/emac/emac-sgmii-qdf2432.c
169
emac_reg_write_all(phy->base, physical_coding_sublayer_programming,
drivers/net/ethernet/qualcomm/emac/emac-sgmii-qdf2432.c
173
emac_reg_write_all(phy->digital, sgmii_laned, ARRAY_SIZE(sgmii_laned));
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
102
writel(val, phy->base + EMAC_SGMII_PHY_AUTONEG_CFG2);
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
107
struct emac_sgmii *phy = &adpt->phy;
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
110
writel_relaxed(irq_bits, phy->base + EMAC_SGMII_PHY_INTERRUPT_CLEAR);
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
111
writel_relaxed(IRQ_GLOBAL_CLEAR, phy->base + EMAC_SGMII_PHY_IRQ_CMD);
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
119
if (readl_poll_timeout_atomic(phy->base +
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
129
writel_relaxed(0, phy->base + EMAC_SGMII_PHY_IRQ_CMD);
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
130
writel_relaxed(0, phy->base + EMAC_SGMII_PHY_INTERRUPT_CLEAR);
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
144
struct emac_sgmii *phy = &adpt->phy;
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
147
status = readl(phy->base + EMAC_SGMII_PHY_INTERRUPT_STATUS);
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
165
count = atomic_inc_return(&phy->decode_error_count);
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
168
atomic_set(&phy->decode_error_count, 0);
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
172
atomic_set(&phy->decode_error_count, 0);
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
183
struct emac_sgmii *phy = &adpt->phy;
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
187
val = readl(phy->base + EMAC_EMAC_WRAPPER_CSR2);
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
188
writel(((val & ~PHY_RESET) | PHY_RESET), phy->base +
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
192
val = readl(phy->base + EMAC_EMAC_WRAPPER_CSR2);
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
193
writel((val & ~PHY_RESET), phy->base + EMAC_EMAC_WRAPPER_CSR2);
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
216
struct emac_sgmii *sgmii = &adpt->phy;
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
240
struct emac_sgmii *sgmii = &adpt->phy;
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
250
struct emac_sgmii *sgmii = &adpt->phy;
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
361
struct emac_sgmii *phy = &adpt->phy;
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
367
.sgmii_ops = &phy->sgmii_ops,
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
406
phy->sgmii_ops = (struct sgmii_ops *)match->data;
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
416
phy->base = ioremap(res->start, resource_size(res));
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
417
if (!phy->base) {
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
425
phy->digital = ioremap(res->start, resource_size(res));
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
426
if (!phy->digital) {
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
440
phy->irq = ret;
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
450
if (phy->digital)
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
451
iounmap(phy->digital);
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
453
iounmap(phy->base);
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
52
if (!(adpt->phy.sgmii_ops && adpt->phy.sgmii_ops->init))
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
55
return adpt->phy.sgmii_ops->init(adpt);
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
60
if (!(adpt->phy.sgmii_ops && adpt->phy.sgmii_ops->open))
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
63
return adpt->phy.sgmii_ops->open(adpt);
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
68
if (!(adpt->phy.sgmii_ops && adpt->phy.sgmii_ops->close))
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
71
adpt->phy.sgmii_ops->close(adpt);
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
76
if (!(adpt->phy.sgmii_ops && adpt->phy.sgmii_ops->link_change))
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
79
return adpt->phy.sgmii_ops->link_change(adpt, link_state);
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
84
if (!(adpt->phy.sgmii_ops && adpt->phy.sgmii_ops->reset))
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
87
adpt->phy.sgmii_ops->reset(adpt);
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
93
struct emac_sgmii *phy = &adpt->phy;
drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
99
val = readl(phy->base + EMAC_SGMII_PHY_AUTONEG_CFG2);
drivers/net/ethernet/qualcomm/emac/emac.c
596
struct emac_sgmii *phy;
drivers/net/ethernet/qualcomm/emac/emac.c
623
phy = &adpt->phy;
drivers/net/ethernet/qualcomm/emac/emac.c
624
atomic_set(&phy->decode_error_count, 0);
drivers/net/ethernet/qualcomm/emac/emac.c
740
if (adpt->phy.digital)
drivers/net/ethernet/qualcomm/emac/emac.c
741
iounmap(adpt->phy.digital);
drivers/net/ethernet/qualcomm/emac/emac.c
742
iounmap(adpt->phy.base);
drivers/net/ethernet/qualcomm/emac/emac.h
333
struct emac_sgmii phy;
drivers/net/ethernet/realtek/8139too.c
1042
int phy, phy_idx = 0;
drivers/net/ethernet/realtek/8139too.c
1043
for (phy = 0; phy < 32 && phy_idx < sizeof(tp->phys); phy++) {
drivers/net/ethernet/realtek/8139too.c
1044
int mii_status = mdio_read(dev, phy, 1);
drivers/net/ethernet/realtek/8139too.c
1046
u16 advertising = mdio_read(dev, phy, 4);
drivers/net/ethernet/realtek/8139too.c
1047
tp->phys[phy_idx++] = phy;
drivers/net/ethernet/realtek/8139too.c
1049
phy, mii_status, advertising);
drivers/net/ethernet/renesas/rswitch.h
1027
struct phy *serdes;
drivers/net/ethernet/renesas/rswitch_main.c
1463
struct device_node *phy;
drivers/net/ethernet/renesas/rswitch_main.c
1469
phy = of_parse_phandle(rdev->np_port, "phy-handle", 0);
drivers/net/ethernet/renesas/rswitch_main.c
1470
if (!phy)
drivers/net/ethernet/renesas/rswitch_main.c
1476
phydev = of_phy_find_device(phy);
drivers/net/ethernet/renesas/rswitch_main.c
1482
phydev = of_phy_connect(rdev->ndev, phy, rswitch_adjust_link, 0,
drivers/net/ethernet/renesas/rswitch_main.c
1498
of_node_put(phy);
drivers/net/ethernet/renesas/rtsn.c
902
struct device_node *phy;
drivers/net/ethernet/renesas/rtsn.c
906
phy = of_parse_phandle(np, "phy-handle", 0);
drivers/net/ethernet/renesas/rtsn.c
907
if (!phy)
drivers/net/ethernet/renesas/rtsn.c
910
phydev = of_phy_connect(priv->ndev, phy, rtsn_adjust_link, 0,
drivers/net/ethernet/renesas/rtsn.c
912
of_node_put(phy);
drivers/net/ethernet/renesas/sh_eth.c
3045
static int sh_mdiobb_read_c22(struct mii_bus *bus, int phy, int reg)
drivers/net/ethernet/renesas/sh_eth.c
3050
res = mdiobb_read_c22(bus, phy, reg);
drivers/net/ethernet/renesas/sh_eth.c
3056
static int sh_mdiobb_write_c22(struct mii_bus *bus, int phy, int reg, u16 val)
drivers/net/ethernet/renesas/sh_eth.c
3061
res = mdiobb_write_c22(bus, phy, reg, val);
drivers/net/ethernet/renesas/sh_eth.c
3067
static int sh_mdiobb_read_c45(struct mii_bus *bus, int phy, int devad, int reg)
drivers/net/ethernet/renesas/sh_eth.c
3072
res = mdiobb_read_c45(bus, phy, devad, reg);
drivers/net/ethernet/renesas/sh_eth.c
3078
static int sh_mdiobb_write_c45(struct mii_bus *bus, int phy, int devad,
drivers/net/ethernet/renesas/sh_eth.c
3084
res = mdiobb_write_c45(bus, phy, devad, reg, val);
drivers/net/ethernet/renesas/sh_eth.c
3130
mdp->mii_bus->irq[pd->phy] = pd->phy_irq;
drivers/net/ethernet/renesas/sh_eth.c
3301
mdp->phy_id = pd->phy;
drivers/net/ethernet/samsung/sxgbe/sxgbe_mdio.c
237
struct phy_device *phy = mdiobus_get_phy(mdio_bus, phy_addr);
drivers/net/ethernet/samsung/sxgbe/sxgbe_mdio.c
239
if (phy) {
drivers/net/ethernet/samsung/sxgbe/sxgbe_mdio.c
248
phy->irq = mdio_data->probed_phy_irq;
drivers/net/ethernet/samsung/sxgbe/sxgbe_mdio.c
259
switch (phy->irq) {
drivers/net/ethernet/samsung/sxgbe/sxgbe_mdio.c
267
sprintf(irq_num, "%d", phy->irq);
drivers/net/ethernet/samsung/sxgbe/sxgbe_mdio.c
272
phy->phy_id, phy_addr, irq_str,
drivers/net/ethernet/samsung/sxgbe/sxgbe_mdio.c
273
phydev_name(phy), act ? " active" : "");
drivers/net/ethernet/sgi/ioc3-eth.c
258
static int ioc3_mdio_read(struct net_device *dev, int phy, int reg)
drivers/net/ethernet/sgi/ioc3-eth.c
265
writel((phy << MICR_PHYADDR_SHIFT) | reg | MICR_READTRIG,
drivers/net/ethernet/sgi/ioc3-eth.c
273
static void ioc3_mdio_write(struct net_device *dev, int phy, int reg, int data)
drivers/net/ethernet/sgi/ioc3-eth.c
281
writel((phy << MICR_PHYADDR_SHIFT) | reg, &regs->micr);
drivers/net/ethernet/sis/sis190.c
1272
struct sis190_phy *phy, *phy_home, *phy_default, *phy_lan;
drivers/net/ethernet/sis/sis190.c
1280
list_for_each_entry(phy, &tp->first_phy, list) {
drivers/net/ethernet/sis/sis190.c
1281
status = mdio_read_latched(ioaddr, phy->phy_id, MII_BMSR);
drivers/net/ethernet/sis/sis190.c
1286
(phy->type != UNKNOWN)) {
drivers/net/ethernet/sis/sis190.c
1287
phy_default = phy;
drivers/net/ethernet/sis/sis190.c
1289
status = mdio_read(ioaddr, phy->phy_id, MII_BMCR);
drivers/net/ethernet/sis/sis190.c
1290
mdio_write(ioaddr, phy->phy_id, MII_BMCR,
drivers/net/ethernet/sis/sis190.c
1292
if (phy->type == HOME)
drivers/net/ethernet/sis/sis190.c
1293
phy_home = phy;
drivers/net/ethernet/sis/sis190.c
1294
else if (phy->type == LAN)
drivers/net/ethernet/sis/sis190.c
1295
phy_lan = phy;
drivers/net/ethernet/sis/sis190.c
1326
struct sis190_phy *phy, unsigned int phy_id,
drivers/net/ethernet/sis/sis190.c
1332
INIT_LIST_HEAD(&phy->list);
drivers/net/ethernet/sis/sis190.c
1333
phy->status = mii_status;
drivers/net/ethernet/sis/sis190.c
1334
phy->phy_id = phy_id;
drivers/net/ethernet/sis/sis190.c
1336
phy->id[0] = mdio_read(ioaddr, phy_id, MII_PHYSID1);
drivers/net/ethernet/sis/sis190.c
1337
phy->id[1] = mdio_read(ioaddr, phy_id, MII_PHYSID2);
drivers/net/ethernet/sis/sis190.c
1340
if ((p->id[0] == phy->id[0]) &&
drivers/net/ethernet/sis/sis190.c
1341
(p->id[1] == (phy->id[1] & 0xfff0))) {
drivers/net/ethernet/sis/sis190.c
1347
phy->type = (p->type == MIX) ?
drivers/net/ethernet/sis/sis190.c
1355
phy->type = UNKNOWN;
drivers/net/ethernet/sis/sis190.c
1359
phy->id[0], (phy->id[1] & 0xfff0), phy_id);
drivers/net/ethernet/sis/sis190.c
1401
struct sis190_phy *phy;
drivers/net/ethernet/sis/sis190.c
1410
phy = kmalloc_obj(*phy);
drivers/net/ethernet/sis/sis190.c
1411
if (!phy) {
drivers/net/ethernet/sis/sis190.c
1417
sis190_init_phy(dev, tp, phy, phy_id, status);
drivers/net/ethernet/sis/sis190.c
1419
list_add(&tp->first_phy, &phy->list);
drivers/net/ethernet/sis/sis900.c
1486
struct mii_phy *phy = sis_priv->mii;
drivers/net/ethernet/sis/sis900.c
1514
if ((phy->phy_id0 == 0x0000) && ((phy->phy_id1 & 0xFFF0) == 0x8200)) {
drivers/net/ethernet/sis/sis900.c
237
static void sis900_set_capability( struct net_device *net_dev ,struct mii_phy *phy);
drivers/net/ethernet/sis/sis900.c
2484
struct mii_phy *phy = sis_priv->first_mii;
drivers/net/ethernet/sis/sis900.c
2486
sis_priv->first_mii = phy->next;
drivers/net/ethernet/sis/sis900.c
2487
kfree(phy);
drivers/net/ethernet/sis/sis900.c
625
struct mii_phy *phy;
drivers/net/ethernet/sis/sis900.c
626
phy = mii_phy;
drivers/net/ethernet/sis/sis900.c
628
kfree(phy);
drivers/net/ethernet/sis/sis900.c
724
struct mii_phy *phy = NULL, *phy_home = NULL,
drivers/net/ethernet/sis/sis900.c
728
for (phy=sis_priv->first_mii; phy; phy=phy->next) {
drivers/net/ethernet/sis/sis900.c
729
status = mdio_read(net_dev, phy->phy_addr, MII_STATUS);
drivers/net/ethernet/sis/sis900.c
730
status = mdio_read(net_dev, phy->phy_addr, MII_STATUS);
drivers/net/ethernet/sis/sis900.c
734
(phy->phy_types != UNKNOWN)) {
drivers/net/ethernet/sis/sis900.c
735
default_phy = phy;
drivers/net/ethernet/sis/sis900.c
737
status = mdio_read(net_dev, phy->phy_addr, MII_CONTROL);
drivers/net/ethernet/sis/sis900.c
738
mdio_write(net_dev, phy->phy_addr, MII_CONTROL,
drivers/net/ethernet/sis/sis900.c
740
if (phy->phy_types == HOME)
drivers/net/ethernet/sis/sis900.c
741
phy_home = phy;
drivers/net/ethernet/sis/sis900.c
742
else if(phy->phy_types == LAN)
drivers/net/ethernet/sis/sis900.c
743
phy_lan = phy;
drivers/net/ethernet/sis/sis900.c
783
static void sis900_set_capability(struct net_device *net_dev, struct mii_phy *phy)
drivers/net/ethernet/sis/sis900.c
787
mdio_read(net_dev, phy->phy_addr, MII_STATUS);
drivers/net/ethernet/sis/sis900.c
788
mdio_read(net_dev, phy->phy_addr, MII_STATUS);
drivers/net/ethernet/sis/sis900.c
791
((phy->status & MII_STAT_CAN_TX_FDX)? MII_NWAY_TX_FDX:0) |
drivers/net/ethernet/sis/sis900.c
792
((phy->status & MII_STAT_CAN_TX) ? MII_NWAY_TX:0) |
drivers/net/ethernet/sis/sis900.c
793
((phy->status & MII_STAT_CAN_T_FDX) ? MII_NWAY_T_FDX:0)|
drivers/net/ethernet/sis/sis900.c
794
((phy->status & MII_STAT_CAN_T) ? MII_NWAY_T:0);
drivers/net/ethernet/sis/sis900.c
796
mdio_write(net_dev, phy->phy_addr, MII_ANADV, cap);
drivers/net/ethernet/smsc/epic100.c
428
int phy, phy_idx = 0;
drivers/net/ethernet/smsc/epic100.c
429
for (phy = 1; phy < 32 && phy_idx < sizeof(ep->phys); phy++) {
drivers/net/ethernet/smsc/epic100.c
430
int mii_status = mdio_read(dev, phy, MII_BMSR);
drivers/net/ethernet/smsc/epic100.c
432
ep->phys[phy_idx++] = phy;
drivers/net/ethernet/smsc/epic100.c
436
phy, mdio_read(dev, phy, 0), mii_status);
drivers/net/ethernet/smsc/epic100.c
441
phy = ep->phys[0];
drivers/net/ethernet/smsc/epic100.c
442
ep->mii.advertising = mdio_read(dev, phy, MII_ADVERTISE);
drivers/net/ethernet/smsc/epic100.c
446
ep->mii.advertising, mdio_read(dev, phy, 5));
drivers/net/ethernet/smsc/smc91x.c
944
static int smc_phy_reset(struct net_device *dev, int phy)
drivers/net/ethernet/smsc/smc91x.c
950
smc_phy_write(dev, phy, MII_BMCR, BMCR_RESET);
drivers/net/ethernet/smsc/smc91x.c
957
bmcr = smc_phy_read(dev, phy, MII_BMCR);
drivers/net/ethernet/smsc/smc91x.c
975
int phy = lp->mii.phy_id;
drivers/net/ethernet/smsc/smc91x.c
985
bmcr = smc_phy_read(dev, phy, MII_BMCR);
drivers/net/ethernet/smsc/smc91x.c
986
smc_phy_write(dev, phy, MII_BMCR, bmcr | BMCR_PDOWN);
drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
107
struct phy *serdes_phy;
drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c
52
dma_addr_t phy, u32 chan)
drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c
61
writel(upper_32_bits(phy), ioaddr + XGMAC_DMA_CH_RxDESC_HADDR(chan));
drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c
62
writel(lower_32_bits(phy), ioaddr + XGMAC_DMA_CH_RxDESC_LADDR(chan));
drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c
68
dma_addr_t phy, u32 chan)
drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c
77
writel(upper_32_bits(phy), ioaddr + XGMAC_DMA_CH_TxDESC_HADDR(chan));
drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c
78
writel(lower_32_bits(phy), ioaddr + XGMAC_DMA_CH_TxDESC_LADDR(chan));
drivers/net/ethernet/stmicro/stmmac/hwif.h
186
dma_addr_t phy, u32 chan);
drivers/net/ethernet/stmicro/stmmac/hwif.h
189
dma_addr_t phy, u32 chan);
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
1000
struct phy_device *phy,
drivers/net/ethernet/tehuti/tn40_phy.c
15
static void tn40_link_up(struct phylink_config *config, struct phy_device *phy,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
1994
static void am65_cpsw_disable_phy(struct phy *phy)
drivers/net/ethernet/ti/am65-cpsw-nuss.c
1996
phy_power_off(phy);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
1997
phy_exit(phy);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2000
static int am65_cpsw_enable_phy(struct phy *phy)
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2004
ret = phy_init(phy);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2008
ret = phy_power_on(phy);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2010
phy_exit(phy);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2020
struct phy *phy;
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2025
phy = port->slave.serdes_phy;
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2026
if (phy)
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2027
am65_cpsw_disable_phy(phy);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2035
struct phy *phy;
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2038
phy = devm_of_phy_optional_get(dev, port_np, name);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2039
if (IS_ERR_OR_NULL(phy))
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2040
return PTR_ERR_OR_ZERO(phy);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2043
port->slave.serdes_phy = phy;
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2045
ret = am65_cpsw_enable_phy(phy);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2052
devm_phy_put(dev, phy);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2119
static void am65_cpsw_nuss_mac_link_up(struct phylink_config *config, struct phy_device *phy,
drivers/net/ethernet/ti/am65-cpsw-nuss.h
33
struct phy *ifphy;
drivers/net/ethernet/ti/am65-cpsw-nuss.h
34
struct phy *serdes_phy;
drivers/net/ethernet/ti/cpsw.c
1187
struct phy_device *phy;
drivers/net/ethernet/ti/cpsw.c
1192
phy = cpsw->slaves[slave_no].phy;
drivers/net/ethernet/ti/cpsw.c
1193
if (phy)
drivers/net/ethernet/ti/cpsw.c
1194
return phy_mii_ioctl(phy, req, cmd);
drivers/net/ethernet/ti/cpsw.c
480
struct phy_device *phy = slave->phy;
drivers/net/ethernet/ti/cpsw.c
485
if (!phy)
drivers/net/ethernet/ti/cpsw.c
490
if (phy->link) {
drivers/net/ethernet/ti/cpsw.c
493
if (phy->speed == 1000)
drivers/net/ethernet/ti/cpsw.c
495
if (phy->duplex)
drivers/net/ethernet/ti/cpsw.c
499
if (phy->speed == 100)
drivers/net/ethernet/ti/cpsw.c
502
else if ((phy->speed == 10) && phy_interface_is_rgmii(phy))
drivers/net/ethernet/ti/cpsw.c
521
priv->shp_cfg_speed != slave->phy->speed &&
drivers/net/ethernet/ti/cpsw.c
537
phy_print_status(phy);
drivers/net/ethernet/ti/cpsw.c
588
struct phy_device *phy;
drivers/net/ethernet/ti/cpsw.c
637
phy = of_phy_connect(priv->ndev, slave->data->phy_node,
drivers/net/ethernet/ti/cpsw.c
639
if (!phy) {
drivers/net/ethernet/ti/cpsw.c
646
phy = phy_connect(priv->ndev, slave->data->phy_id,
drivers/net/ethernet/ti/cpsw.c
648
if (IS_ERR(phy)) {
drivers/net/ethernet/ti/cpsw.c
652
PTR_ERR(phy));
drivers/net/ethernet/ti/cpsw.c
657
phy->mac_managed_pm = true;
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
672
cpsw_phy_sel(cpsw->dev, slave->phy->interface,
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_ethtool.c
326
if (cpsw->slaves[slave_no].phy)
drivers/net/ethernet/ti/cpsw_ethtool.c
327
phy_ethtool_get_wol(cpsw->slaves[slave_no].phy, wol);
drivers/net/ethernet/ti/cpsw_ethtool.c
336
if (cpsw->slaves[slave_no].phy)
drivers/net/ethernet/ti/cpsw_ethtool.c
337
return phy_ethtool_set_wol(cpsw->slaves[slave_no].phy, wol);
drivers/net/ethernet/ti/cpsw_ethtool.c
402
if (!cpsw->slaves[slave_no].phy)
drivers/net/ethernet/ti/cpsw_ethtool.c
405
phy_ethtool_ksettings_get(cpsw->slaves[slave_no].phy, ecmd);
drivers/net/ethernet/ti/cpsw_ethtool.c
416
if (!cpsw->slaves[slave_no].phy)
drivers/net/ethernet/ti/cpsw_ethtool.c
419
return phy_ethtool_ksettings_set(cpsw->slaves[slave_no].phy, ecmd);
drivers/net/ethernet/ti/cpsw_ethtool.c
428
if (cpsw->slaves[slave_no].phy)
drivers/net/ethernet/ti/cpsw_ethtool.c
429
return phy_ethtool_get_eee(cpsw->slaves[slave_no].phy, edata);
drivers/net/ethernet/ti/cpsw_ethtool.c
440
if (cpsw->slaves[slave_no].phy)
drivers/net/ethernet/ti/cpsw_ethtool.c
441
return genphy_restart_aneg(cpsw->slaves[slave_no].phy);
drivers/net/ethernet/ti/cpsw_new.c
1192
if (!cpsw->slaves[slave_no].phy)
drivers/net/ethernet/ti/cpsw_new.c
1195
if (!phy_validate_pause(cpsw->slaves[slave_no].phy, pause))
drivers/net/ethernet/ti/cpsw_new.c
1201
phy_set_asym_pause(cpsw->slaves[slave_no].phy,
drivers/net/ethernet/ti/cpsw_new.c
675
struct phy_device *phy;
drivers/net/ethernet/ti/cpsw_new.c
679
phy = slave->phy;
drivers/net/ethernet/ti/cpsw_new.c
681
if (!phy)
drivers/net/ethernet/ti/cpsw_new.c
684
if (phy->link) {
drivers/net/ethernet/ti/cpsw_new.c
687
if (phy->speed == 1000)
drivers/net/ethernet/ti/cpsw_new.c
689
if (phy->duplex)
drivers/net/ethernet/ti/cpsw_new.c
693
if (phy->speed == 100)
drivers/net/ethernet/ti/cpsw_new.c
696
else if ((phy->speed == 10) && phy_interface_is_rgmii(phy))
drivers/net/ethernet/ti/cpsw_new.c
715
priv->shp_cfg_speed != slave->phy->speed &&
drivers/net/ethernet/ti/cpsw_new.c
732
phy_print_status(phy);
drivers/net/ethernet/ti/cpsw_new.c
736
if (phy->link && cpsw_need_resplit(cpsw))
drivers/net/ethernet/ti/cpsw_new.c
743
struct phy_device *phy;
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
792
if (!phy) {
drivers/net/ethernet/ti/cpsw_new.c
799
phy->mac_managed_pm = true;
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
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
314
if (cpsw->slaves[i].phy && cpsw->slaves[i].phy->link)
drivers/net/ethernet/ti/cpsw_priv.c
315
speed += cpsw->slaves[i].phy->speed;
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.h
289
struct phy *ifphy;
drivers/net/ethernet/ti/cpsw_priv.h
310
struct phy_device *phy;
drivers/net/ethernet/ti/davinci_emac.c
1420
struct device *phy = NULL;
drivers/net/ethernet/ti/davinci_emac.c
1513
phy = bus_find_device(&mdio_bus_type, NULL, NULL,
drivers/net/ethernet/ti/davinci_emac.c
1515
if (phy) {
drivers/net/ethernet/ti/davinci_emac.c
1516
priv->phy_id = dev_name(phy);
drivers/net/ethernet/ti/davinci_emac.c
1518
put_device(phy);
drivers/net/ethernet/ti/davinci_emac.c
1526
put_device(phy); /* reference taken by bus_find_device */
drivers/net/ethernet/ti/davinci_mdio.c
227
static int davinci_mdiobb_read_c22(struct mii_bus *bus, int phy, int reg)
drivers/net/ethernet/ti/davinci_mdio.c
235
ret = mdiobb_read_c22(bus, phy, reg);
drivers/net/ethernet/ti/davinci_mdio.c
242
static int davinci_mdiobb_write_c22(struct mii_bus *bus, int phy, int reg,
drivers/net/ethernet/ti/davinci_mdio.c
251
ret = mdiobb_write_c22(bus, phy, reg, val);
drivers/net/ethernet/ti/davinci_mdio.c
258
static int davinci_mdiobb_read_c45(struct mii_bus *bus, int phy, int devad,
drivers/net/ethernet/ti/davinci_mdio.c
267
ret = mdiobb_read_c45(bus, phy, devad, reg);
drivers/net/ethernet/ti/davinci_mdio.c
274
static int davinci_mdiobb_write_c45(struct mii_bus *bus, int phy, int devad,
drivers/net/ethernet/ti/davinci_mdio.c
283
ret = mdiobb_write_c45(bus, phy, devad, reg, val);
drivers/net/ethernet/ti/davinci_mdio.c
543
struct phy_device *phy;
drivers/net/ethernet/ti/davinci_mdio.c
648
mdiobus_for_each_phy(data->bus, phy)
drivers/net/ethernet/ti/davinci_mdio.c
650
phy->mdio.addr, phydev_name(phy),
drivers/net/ethernet/ti/davinci_mdio.c
651
phy->drv ? phy->drv->name : "unknown");
drivers/net/ethernet/ti/netcp_ethss.c
1934
struct phy_device *phy = ndev->phydev;
drivers/net/ethernet/ti/netcp_ethss.c
1937
if (!phy)
drivers/net/ethernet/ti/netcp_ethss.c
1947
phy_ethtool_ksettings_get(phy, cmd);
drivers/net/ethernet/ti/netcp_ethss.c
1957
struct phy_device *phy = ndev->phydev;
drivers/net/ethernet/ti/netcp_ethss.c
1969
if (!phy)
drivers/net/ethernet/ti/netcp_ethss.c
1997
return phy_ethtool_ksettings_set(phy, cmd);
drivers/net/ethernet/ti/netcp_ethss.c
2073
struct phy_device *phy = slave->phy;
drivers/net/ethernet/ti/netcp_ethss.c
2078
if (phy && (phy->speed == SPEED_1000)) {
drivers/net/ethernet/ti/netcp_ethss.c
2081
} else if (phy && (phy->speed == SPEED_10000)) {
drivers/net/ethernet/ti/netcp_ethss.c
2111
if (phy)
drivers/net/ethernet/ti/netcp_ethss.c
2112
phy_print_status(phy);
drivers/net/ethernet/ti/netcp_ethss.c
2117
return !slave->phy || slave->phy->link;
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
2339
slave->phy = of_phy_connect(gbe_intf->ndev,
drivers/net/ethernet/ti/netcp_ethss.c
2343
if (!slave->phy) {
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
2598
struct phy_device *phy;
drivers/net/ethernet/ti/netcp_ethss.c
2605
phy = gbe_intf->slave->phy;
drivers/net/ethernet/ti/netcp_ethss.c
2606
if (phy_has_hwtstamp(phy))
drivers/net/ethernet/ti/netcp_ethss.c
2651
struct phy_device *phy;
drivers/net/ethernet/ti/netcp_ethss.c
2658
phy = gbe_intf->slave->phy;
drivers/net/ethernet/ti/netcp_ethss.c
2659
if (phy_has_hwtstamp(phy))
drivers/net/ethernet/ti/netcp_ethss.c
2660
return phy->mii_ts->hwtstamp_set(phy->mii_ts, cfg, extack);
drivers/net/ethernet/ti/netcp_ethss.c
2830
struct phy_device *phy = gbe_intf->slave->phy;
drivers/net/ethernet/ti/netcp_ethss.c
2832
if (phy)
drivers/net/ethernet/ti/netcp_ethss.c
2833
return phy_mii_ioctl(phy, req, cmd);
drivers/net/ethernet/ti/netcp_ethss.c
3186
slave->phy =
drivers/net/ethernet/ti/netcp_ethss.c
3191
if (!slave->phy) {
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
3209
if (slave->phy)
drivers/net/ethernet/ti/netcp_ethss.c
3210
phy_disconnect(slave->phy);
drivers/net/ethernet/ti/netcp_ethss.c
697
struct phy_device *phy;
drivers/net/ethernet/ti/tlan.c
1680
u32 phy;
drivers/net/ethernet/ti/tlan.c
1698
phy = priv->phy[priv->phy_num];
drivers/net/ethernet/ti/tlan.c
1707
__tlan_mii_read_reg(dev, phy, TLAN_TLPHY_STS, &tlphy_sts);
drivers/net/ethernet/ti/tlan.c
1708
__tlan_mii_read_reg(dev, phy, TLAN_TLPHY_CTL, &tlphy_ctl);
drivers/net/ethernet/ti/tlan.c
1712
__tlan_mii_write_reg(dev, phy, TLAN_TLPHY_CTL,
drivers/net/ethernet/ti/tlan.c
1717
__tlan_mii_write_reg(dev, phy, TLAN_TLPHY_CTL,
drivers/net/ethernet/ti/tlan.c
2233
u32 phy;
drivers/net/ethernet/ti/tlan.c
2242
phy = priv->phy[priv->phy_num];
drivers/net/ethernet/ti/tlan.c
2253
tlan_mii_read_reg(dev, phy, MII_GEN_ID_HI, &tlphy_id1);
drivers/net/ethernet/ti/tlan.c
2254
tlan_mii_read_reg(dev, phy, MII_GEN_ID_LO, &tlphy_id2);
drivers/net/ethernet/ti/tlan.c
2261
tlan_mii_read_reg(dev, phy, MII_GEN_STS, &status);
drivers/net/ethernet/ti/tlan.c
2263
tlan_mii_read_reg(dev, phy, MII_GEN_STS, &status);
drivers/net/ethernet/ti/tlan.c
2268
tlan_mii_read_reg(dev, phy, MII_AN_LPA,
drivers/net/ethernet/ti/tlan.c
2270
tlan_mii_read_reg(dev, phy, TLAN_TLPHY_PAR,
drivers/net/ethernet/ti/tlan.c
2299
tlan_mii_read_reg(dev, phy, TLAN_TLPHY_CTL, &tlphy_ctl);
drivers/net/ethernet/ti/tlan.c
2301
tlan_mii_write_reg(dev, phy, TLAN_TLPHY_CTL, tlphy_ctl);
drivers/net/ethernet/ti/tlan.c
2398
u16 i, data0, data1, data2, data3, phy;
drivers/net/ethernet/ti/tlan.c
2402
phy = priv->phy[priv->phy_num];
drivers/net/ethernet/ti/tlan.c
2406
} else if (phy <= TLAN_PHY_MAX_ADDR) {
drivers/net/ethernet/ti/tlan.c
2407
netdev_info(dev, "PHY 0x%02x\n", phy);
drivers/net/ethernet/ti/tlan.c
2410
__tlan_mii_read_reg(dev, phy, i, &data0);
drivers/net/ethernet/ti/tlan.c
2411
__tlan_mii_read_reg(dev, phy, i + 1, &data1);
drivers/net/ethernet/ti/tlan.c
2412
__tlan_mii_read_reg(dev, phy, i + 2, &data2);
drivers/net/ethernet/ti/tlan.c
2413
__tlan_mii_read_reg(dev, phy, i + 3, &data3);
drivers/net/ethernet/ti/tlan.c
2457
u32 phy;
drivers/net/ethernet/ti/tlan.c
2467
priv->phy[0] = TLAN_PHY_MAX_ADDR;
drivers/net/ethernet/ti/tlan.c
2469
priv->phy[0] = TLAN_PHY_NONE;
drivers/net/ethernet/ti/tlan.c
2471
priv->phy[1] = TLAN_PHY_NONE;
drivers/net/ethernet/ti/tlan.c
2472
for (phy = 0; phy <= TLAN_PHY_MAX_ADDR; phy++) {
drivers/net/ethernet/ti/tlan.c
2473
tlan_mii_read_reg(dev, phy, MII_GEN_CTL, &control);
drivers/net/ethernet/ti/tlan.c
2474
tlan_mii_read_reg(dev, phy, MII_GEN_ID_HI, &hi);
drivers/net/ethernet/ti/tlan.c
2475
tlan_mii_read_reg(dev, phy, MII_GEN_ID_LO, &lo);
drivers/net/ethernet/ti/tlan.c
2480
phy, control, hi, lo);
drivers/net/ethernet/ti/tlan.c
2481
if ((priv->phy[1] == TLAN_PHY_NONE) &&
drivers/net/ethernet/ti/tlan.c
2482
(phy != TLAN_PHY_MAX_ADDR)) {
drivers/net/ethernet/ti/tlan.c
2483
priv->phy[1] = phy;
drivers/net/ethernet/ti/tlan.c
2488
if (priv->phy[1] != TLAN_PHY_NONE)
drivers/net/ethernet/ti/tlan.c
2490
else if (priv->phy[0] != TLAN_PHY_NONE)
drivers/net/ethernet/ti/tlan.c
2508
tlan_mii_write_reg(dev, priv->phy[priv->phy_num], MII_GEN_CTL, value);
drivers/net/ethernet/ti/tlan.c
2509
if ((priv->phy_num == 0) && (priv->phy[1] != TLAN_PHY_NONE)) {
drivers/net/ethernet/ti/tlan.c
2514
tlan_mii_write_reg(dev, priv->phy[1], MII_GEN_CTL, value);
drivers/net/ethernet/ti/tlan.c
2536
tlan_mii_write_reg(dev, priv->phy[priv->phy_num], MII_GEN_CTL, value);
drivers/net/ethernet/ti/tlan.c
2552
u16 phy;
drivers/net/ethernet/ti/tlan.c
2556
phy = priv->phy[priv->phy_num];
drivers/net/ethernet/ti/tlan.c
2561
tlan_mii_write_reg(dev, phy, MII_GEN_CTL, value);
drivers/net/ethernet/ti/tlan.c
2563
tlan_mii_read_reg(dev, phy, MII_GEN_CTL, &value);
drivers/net/ethernet/ti/tlan.c
2587
u16 phy;
drivers/net/ethernet/ti/tlan.c
2591
phy = priv->phy[priv->phy_num];
drivers/net/ethernet/ti/tlan.c
2593
tlan_mii_read_reg(dev, phy, MII_GEN_STS, &status);
drivers/net/ethernet/ti/tlan.c
2594
tlan_mii_read_reg(dev, phy, MII_GEN_STS, &ability);
drivers/net/ethernet/ti/tlan.c
2601
tlan_mii_write_reg(dev, phy, MII_GEN_CTL, 0x0000);
drivers/net/ethernet/ti/tlan.c
2605
tlan_mii_write_reg(dev, phy, MII_GEN_CTL, 0x0100);
drivers/net/ethernet/ti/tlan.c
2608
tlan_mii_write_reg(dev, phy, MII_GEN_CTL, 0x2000);
drivers/net/ethernet/ti/tlan.c
2612
tlan_mii_write_reg(dev, phy, MII_GEN_CTL, 0x2100);
drivers/net/ethernet/ti/tlan.c
2616
tlan_mii_write_reg(dev, phy, MII_AN_ADV,
drivers/net/ethernet/ti/tlan.c
2619
tlan_mii_write_reg(dev, phy, MII_GEN_CTL, 0x1000);
drivers/net/ethernet/ti/tlan.c
2621
tlan_mii_write_reg(dev, phy, MII_GEN_CTL, 0x1200);
drivers/net/ethernet/ti/tlan.c
2643
tlan_mii_read_reg(dev, phy, TLAN_TLPHY_CTL, &tctl);
drivers/net/ethernet/ti/tlan.c
2655
tlan_mii_write_reg(dev, phy, MII_GEN_CTL, control);
drivers/net/ethernet/ti/tlan.c
2656
tlan_mii_write_reg(dev, phy, TLAN_TLPHY_CTL, tctl);
drivers/net/ethernet/ti/tlan.c
2675
u16 phy;
drivers/net/ethernet/ti/tlan.c
2678
phy = priv->phy[priv->phy_num];
drivers/net/ethernet/ti/tlan.c
2680
tlan_mii_read_reg(dev, phy, MII_GEN_STS, &status);
drivers/net/ethernet/ti/tlan.c
2682
tlan_mii_read_reg(dev, phy, MII_GEN_STS, &status);
drivers/net/ethernet/ti/tlan.c
2693
tlan_mii_read_reg(dev, phy, MII_AN_ADV, &an_adv);
drivers/net/ethernet/ti/tlan.c
2694
tlan_mii_read_reg(dev, phy, MII_AN_LPA, &an_lpa);
drivers/net/ethernet/ti/tlan.c
2713
tlan_mii_write_reg(dev, phy, MII_GEN_CTL,
drivers/net/ethernet/ti/tlan.c
2717
tlan_mii_write_reg(dev, phy, MII_GEN_CTL,
drivers/net/ethernet/ti/tlan.c
2751
u16 phy;
drivers/net/ethernet/ti/tlan.c
2754
phy = priv->phy[priv->phy_num];
drivers/net/ethernet/ti/tlan.c
2757
tlan_mii_read_reg(dev, phy, MII_GEN_STS, &phy_status);
drivers/net/ethernet/ti/tlan.c
2772
tlan_mii_write_reg(dev, priv->phy[0],
drivers/net/ethernet/ti/tlan.c
2833
__tlan_mii_read_reg(struct net_device *dev, u16 phy, u16 reg, u16 *val)
drivers/net/ethernet/ti/tlan.c
2856
tlan_mii_send_data(dev->base_addr, phy, 5); /* device # */
drivers/net/ethernet/ti/tlan.c
2896
static void tlan_mii_read_reg(struct net_device *dev, u16 phy, u16 reg,
drivers/net/ethernet/ti/tlan.c
2903
__tlan_mii_read_reg(dev, phy, reg, val);
drivers/net/ethernet/ti/tlan.c
3007
__tlan_mii_write_reg(struct net_device *dev, u16 phy, u16 reg, u16 val)
drivers/net/ethernet/ti/tlan.c
3026
tlan_mii_send_data(dev->base_addr, phy, 5); /* device # */
drivers/net/ethernet/ti/tlan.c
3041
tlan_mii_write_reg(struct net_device *dev, u16 phy, u16 reg, u16 val)
drivers/net/ethernet/ti/tlan.c
3047
__tlan_mii_write_reg(dev, phy, reg, val);
drivers/net/ethernet/ti/tlan.c
940
u32 phy = priv->phy[priv->phy_num];
drivers/net/ethernet/ti/tlan.c
947
data->phy_id = phy;
drivers/net/ethernet/ti/tlan.h
204
u32 phy[2];
drivers/net/ethernet/tundra/tsi108_eth.c
1092
if (0x8 == data->phy)
drivers/net/ethernet/tundra/tsi108_eth.c
1566
einfo->phy, einfo->irq_num);
drivers/net/ethernet/tundra/tsi108_eth.c
1583
data->mii_if.phy_id = einfo->phy;
drivers/net/ethernet/tundra/tsi108_eth.c
1587
data->phy = einfo->phy;
drivers/net/ethernet/tundra/tsi108_eth.c
185
(data->phy << TSI108_MAC_MII_ADDR_PHY) |
drivers/net/ethernet/tundra/tsi108_eth.c
207
(data->phy << TSI108_MAC_MII_ADDR_PHY) |
drivers/net/ethernet/tundra/tsi108_eth.c
69
unsigned int phy; /* Index of PHY for this interface */
drivers/net/ethernet/wangxun/ngbe/ngbe_mdio.c
79
struct phy_device *phy,
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
417
struct phy_device *phy,
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
195
struct phy_device *phy,
drivers/net/ethernet/xilinx/ll_temac_main.c
710
struct phy_device *phy = ndev->phydev;
drivers/net/ethernet/xilinx/ll_temac_main.c
716
link_state = phy->speed | (phy->duplex << 1) | phy->link;
drivers/net/ethernet/xilinx/ll_temac_main.c
723
switch (phy->speed) {
drivers/net/ethernet/xilinx/ll_temac_main.c
740
phy_print_status(phy);
drivers/net/ethernet/xilinx/xilinx_axienet_main.c
2623
struct phy_device *phy,
drivers/net/ethernet/xilinx/xilinx_emaclite.c
888
struct phy_device *phy = lp->phy_dev;
drivers/net/ethernet/xilinx/xilinx_emaclite.c
892
link_state = phy->speed | (phy->duplex << 1) | phy->link;
drivers/net/ethernet/xilinx/xilinx_emaclite.c
896
phy_print_status(phy);
drivers/net/fddi/skfp/cfm.c
110
static void selection_criteria (struct s_smc *smc, struct s_phy *phy)
drivers/net/fddi/skfp/cfm.c
113
switch (phy->mib->fddiPORTMy_Type) {
drivers/net/fddi/skfp/cfm.c
116
phy->wc_flag = TRUE ;
drivers/net/fddi/skfp/cfm.c
118
phy->wc_flag = FALSE ;
drivers/net/fddi/skfp/cfm.c
124
phy->wc_flag = FALSE ;
drivers/net/fddi/skfp/cfm.c
127
phy->wc_flag = FALSE ;
drivers/net/fddi/skfp/cfm.c
130
phy->wc_flag = FALSE ;
drivers/net/fddi/skfp/cfm.c
138
struct s_phy *phy ;
drivers/net/fddi/skfp/cfm.c
141
for ( p = 0,phy = smc->y ; p < NUMPHYS; p++, phy++ ) {
drivers/net/fddi/skfp/cfm.c
143
selection_criteria (smc,phy);
drivers/net/fddi/skfp/drvfbi.c
390
struct s_phy *phy ;
drivers/net/fddi/skfp/drvfbi.c
394
phy = &smc->y[PA] ;
drivers/net/fddi/skfp/drvfbi.c
395
mib_a = phy->mib ;
drivers/net/fddi/skfp/drvfbi.c
396
phy = &smc->y[PB] ;
drivers/net/fddi/skfp/drvfbi.c
397
mib_b = phy->mib ;
drivers/net/fddi/skfp/h/cmtdef.h
563
int sm_pm_get_ls(struct s_smc *smc, int phy);
drivers/net/fddi/skfp/pcmplc.c
1009
DB_PCMN(1, "PCM %c : MAINT", phy->phy_name);
drivers/net/fddi/skfp/pcmplc.c
1026
static void sm_ph_linestate(struct s_smc *smc, int phy, int ls)
drivers/net/fddi/skfp/pcmplc.c
1032
cntrl = (inpw(PLC(phy,PL_CNTRL_B)) & ~PL_MAINT_LS) |
drivers/net/fddi/skfp/pcmplc.c
1052
outpw(PLC(phy,PL_CNTRL_B),cntrl) ;
drivers/net/fddi/skfp/pcmplc.c
1055
static void reset_lem_struct(struct s_phy *phy)
drivers/net/fddi/skfp/pcmplc.c
1057
struct lem_counter *lem = &phy->lem ;
drivers/net/fddi/skfp/pcmplc.c
1059
phy->mib->fddiPORTLer_Estimate = 15 ;
drivers/net/fddi/skfp/pcmplc.c
1066
static void lem_evaluate(struct s_smc *smc, struct s_phy *phy)
drivers/net/fddi/skfp/pcmplc.c
1070
struct lem_counter *lem = &phy->lem ;
drivers/net/fddi/skfp/pcmplc.c
1074
mib = phy->mib ;
drivers/net/fddi/skfp/pcmplc.c
1079
errors = inpw(PLC(((int) phy->np),PL_LINK_ERR_CTR)) ;
drivers/net/fddi/skfp/pcmplc.c
1118
DB_PCMN(1, "LEM %c :", phy->np == PB ? 'B' : 'A');
drivers/net/fddi/skfp/pcmplc.c
1132
smt_ler_alarm_check(smc,phy,cond) ;
drivers/net/fddi/skfp/pcmplc.c
1136
(int) (INDEX_PORT+ phy->np) ,cond) ;
drivers/net/fddi/skfp/pcmplc.c
1141
phy->pc_lem_fail = TRUE ; /* flag */
drivers/net/fddi/skfp/pcmplc.c
1152
phy->np, mib->fddiPORTLer_Cutoff);
drivers/net/fddi/skfp/pcmplc.c
1155
smt_port_off_event(smc,phy->np);
drivers/net/fddi/skfp/pcmplc.c
1157
queue_event(smc,(int)(EVENT_PCM+phy->np),PC_START) ;
drivers/net/fddi/skfp/pcmplc.c
1173
static void lem_check_lct(struct s_smc *smc, struct s_phy *phy)
drivers/net/fddi/skfp/pcmplc.c
1175
struct lem_counter *lem = &phy->lem ;
drivers/net/fddi/skfp/pcmplc.c
1179
mib = phy->mib ;
drivers/net/fddi/skfp/pcmplc.c
1181
phy->pc_lem_fail = FALSE ; /* flag */
drivers/net/fddi/skfp/pcmplc.c
1182
errors = inpw(PLC(((int)phy->np),PL_LINK_ERR_CTR)) ;
drivers/net/fddi/skfp/pcmplc.c
1186
switch(phy->lc_test) {
drivers/net/fddi/skfp/pcmplc.c
1189
phy->pc_lem_fail = TRUE ;
drivers/net/fddi/skfp/pcmplc.c
1193
phy->pc_lem_fail = TRUE ;
drivers/net/fddi/skfp/pcmplc.c
1197
phy->pc_lem_fail = TRUE ;
drivers/net/fddi/skfp/pcmplc.c
1201
phy->pc_lem_fail = TRUE ;
drivers/net/fddi/skfp/pcmplc.c
1206
if (phy->pc_lem_fail) {
drivers/net/fddi/skfp/pcmplc.c
1252
static void pc_rcode_actions(struct s_smc *smc, int bit, struct s_phy *phy)
drivers/net/fddi/skfp/pcmplc.c
1256
mib = phy->mib ;
drivers/net/fddi/skfp/pcmplc.c
1258
DB_PCMN(1, "SIG rec %x %x:", bit, phy->r_val[bit]);
drivers/net/fddi/skfp/pcmplc.c
1267
if (phy->r_val[1] == 0 && phy->r_val[2] == 0)
drivers/net/fddi/skfp/pcmplc.c
1269
else if (phy->r_val[1] == 0 && phy->r_val[2] == 1)
drivers/net/fddi/skfp/pcmplc.c
1271
else if (phy->r_val[1] == 1 && phy->r_val[2] == 0)
drivers/net/fddi/skfp/pcmplc.c
1273
else if (phy->r_val[1] == 1 && phy->r_val[2] == 1)
drivers/net/fddi/skfp/pcmplc.c
1280
phy->phy_name);
drivers/net/fddi/skfp/pcmplc.c
1284
else if (phy->t_val[3] || phy->r_val[3]) {
drivers/net/fddi/skfp/pcmplc.c
1288
phy->pc_mode = PM_TREE ;
drivers/net/fddi/skfp/pcmplc.c
1290
phy->pc_mode = PM_PEER ;
drivers/net/fddi/skfp/pcmplc.c
1295
if (phy->wc_flag) {
drivers/net/fddi/skfp/pcmplc.c
1303
phy->phy_name);
drivers/net/fddi/skfp/pcmplc.c
1305
phy->twisted = ((mib->fddiPORTMy_Type != TS) &&
drivers/net/fddi/skfp/pcmplc.c
1309
if (phy->twisted) {
drivers/net/fddi/skfp/pcmplc.c
1311
phy->phy_name);
drivers/net/fddi/skfp/pcmplc.c
1317
if (phy->t_val[4] || phy->r_val[4]) {
drivers/net/fddi/skfp/pcmplc.c
1318
if ((phy->t_val[4] && phy->t_val[5]) ||
drivers/net/fddi/skfp/pcmplc.c
1319
(phy->r_val[4] && phy->r_val[5]) )
drivers/net/fddi/skfp/pcmplc.c
1320
phy->lc_test = LC_EXTENDED ;
drivers/net/fddi/skfp/pcmplc.c
1322
phy->lc_test = LC_LONG ;
drivers/net/fddi/skfp/pcmplc.c
1324
else if (phy->t_val[5] || phy->r_val[5])
drivers/net/fddi/skfp/pcmplc.c
1325
phy->lc_test = LC_MEDIUM ;
drivers/net/fddi/skfp/pcmplc.c
1327
phy->lc_test = LC_SHORT ;
drivers/net/fddi/skfp/pcmplc.c
1328
switch (phy->lc_test) {
drivers/net/fddi/skfp/pcmplc.c
1330
outpw(PLC((int)phy->np,PL_LC_LENGTH), TP_LC_LENGTH ) ;
drivers/net/fddi/skfp/pcmplc.c
1331
phy->t_next[7] = smc->s.pcm_lc_short ;
drivers/net/fddi/skfp/pcmplc.c
1334
outpw(PLC((int)phy->np,PL_LC_LENGTH), TP_LC_LONGLN ) ;
drivers/net/fddi/skfp/pcmplc.c
1335
phy->t_next[7] = smc->s.pcm_lc_medium ;
drivers/net/fddi/skfp/pcmplc.c
1338
SETMASK(PLC((int)phy->np,PL_CNTRL_B),PL_LONG,PL_LONG) ;
drivers/net/fddi/skfp/pcmplc.c
1339
phy->t_next[7] = smc->s.pcm_lc_long ;
drivers/net/fddi/skfp/pcmplc.c
1342
SETMASK(PLC((int)phy->np,PL_CNTRL_B),PL_LONG,PL_LONG) ;
drivers/net/fddi/skfp/pcmplc.c
1343
phy->t_next[7] = smc->s.pcm_lc_extended ;
drivers/net/fddi/skfp/pcmplc.c
1346
if (phy->t_next[7] > smc->s.pcm_lc_medium) {
drivers/net/fddi/skfp/pcmplc.c
1347
start_pcm_timer0(smc,phy->t_next[7],PC_TIMEOUT_LCT,phy);
drivers/net/fddi/skfp/pcmplc.c
1349
DB_PCMN(1, "LCT timer = %ld us", phy->t_next[7]);
drivers/net/fddi/skfp/pcmplc.c
1350
phy->t_next[9] = smc->s.pcm_t_next_9 ;
drivers/net/fddi/skfp/pcmplc.c
1353
if (phy->t_val[6]) {
drivers/net/fddi/skfp/pcmplc.c
1354
phy->cf_loop = TRUE ;
drivers/net/fddi/skfp/pcmplc.c
1356
phy->td_flag = TRUE ;
drivers/net/fddi/skfp/pcmplc.c
1359
if (phy->t_val[7] || phy->r_val[7]) {
drivers/net/fddi/skfp/pcmplc.c
1361
phy->phy_name,
drivers/net/fddi/skfp/pcmplc.c
1362
phy->t_val[7] ? "local" : "remote");
drivers/net/fddi/skfp/pcmplc.c
1363
queue_event(smc,(int)(EVENT_PCM+phy->np),PC_START) ;
drivers/net/fddi/skfp/pcmplc.c
1367
if (phy->t_val[8] || phy->r_val[8]) {
drivers/net/fddi/skfp/pcmplc.c
1368
if (phy->t_val[8])
drivers/net/fddi/skfp/pcmplc.c
1369
phy->cf_loop = TRUE ;
drivers/net/fddi/skfp/pcmplc.c
1370
phy->td_flag = TRUE ;
drivers/net/fddi/skfp/pcmplc.c
1374
if (phy->r_val[9]) {
drivers/net/fddi/skfp/pcmplc.c
1389
static void pc_tcode_actions(struct s_smc *smc, const int bit, struct s_phy *phy)
drivers/net/fddi/skfp/pcmplc.c
1391
int np = phy->np ;
drivers/net/fddi/skfp/pcmplc.c
1394
mib = phy->mib ;
drivers/net/fddi/skfp/pcmplc.c
1398
phy->t_val[0] = 0 ; /* no escape used */
drivers/net/fddi/skfp/pcmplc.c
1402
phy->t_val[1] = 1 ;
drivers/net/fddi/skfp/pcmplc.c
1404
phy->t_val[1] = 0 ;
drivers/net/fddi/skfp/pcmplc.c
1408
phy->t_val[2] = 1 ;
drivers/net/fddi/skfp/pcmplc.c
1410
phy->t_val[2] = 0 ;
drivers/net/fddi/skfp/pcmplc.c
1421
phy->t_val[3] = 1 ; /* Accept connection */
drivers/net/fddi/skfp/pcmplc.c
1429
phy->t_val[3] = 0 ; /* Reject */
drivers/net/fddi/skfp/pcmplc.c
1437
phy->t_val[3] = 0 ; /* Reject */
drivers/net/fddi/skfp/pcmplc.c
1445
phy->t_val[3] = 0 ; /* Reject */
drivers/net/fddi/skfp/pcmplc.c
1453
phy->t_val[3] = 0 ; /* Reject */
drivers/net/fddi/skfp/pcmplc.c
1467
(int) (INDEX_PORT+ phy->np) ,0) ;
drivers/net/fddi/skfp/pcmplc.c
1474
if (phy->pc_lem_fail) {
drivers/net/fddi/skfp/pcmplc.c
1475
phy->t_val[4] = 1 ; /* long */
drivers/net/fddi/skfp/pcmplc.c
1476
phy->t_val[5] = 0 ;
drivers/net/fddi/skfp/pcmplc.c
1479
phy->t_val[4] = 0 ;
drivers/net/fddi/skfp/pcmplc.c
1481
phy->t_val[5] = 1 ; /* medium */
drivers/net/fddi/skfp/pcmplc.c
1483
phy->t_val[5] = 0 ; /* short */
drivers/net/fddi/skfp/pcmplc.c
1490
if (phy->wc_flag)
drivers/net/fddi/skfp/pcmplc.c
1491
phy->t_val[5] = 1 ; /* medium */
drivers/net/fddi/skfp/pcmplc.c
1497
phy->t_val[4] = 1 ; /* extended */
drivers/net/fddi/skfp/pcmplc.c
1498
phy->t_val[5] = 1 ;
drivers/net/fddi/skfp/pcmplc.c
1505
phy->t_val[6] = 0 ;
drivers/net/fddi/skfp/pcmplc.c
1508
phy->cf_loop = FALSE ;
drivers/net/fddi/skfp/pcmplc.c
1509
lem_check_lct(smc,phy) ;
drivers/net/fddi/skfp/pcmplc.c
1510
if (phy->pc_lem_fail) {
drivers/net/fddi/skfp/pcmplc.c
1511
DB_PCMN(1, "PCM %c : E104 LCT failed", phy->phy_name);
drivers/net/fddi/skfp/pcmplc.c
1512
phy->t_val[7] = 1 ;
drivers/net/fddi/skfp/pcmplc.c
1515
phy->t_val[7] = 0 ;
drivers/net/fddi/skfp/pcmplc.c
1518
phy->t_val[8] = 0 ; /* Don't request MAC loopback */
drivers/net/fddi/skfp/pcmplc.c
1521
phy->cf_loop = 0 ;
drivers/net/fddi/skfp/pcmplc.c
1523
((smc->s.sas == SMT_DAS) && (phy->wc_flag))) {
drivers/net/fddi/skfp/pcmplc.c
1527
phy->t_val[9] = FALSE ;
drivers/net/fddi/skfp/pcmplc.c
1533
if (phy->pc_mode == PM_TREE) {
drivers/net/fddi/skfp/pcmplc.c
1537
phy->t_val[9] = TRUE ;
drivers/net/fddi/skfp/pcmplc.c
1541
phy->t_val[9] = TRUE ;
drivers/net/fddi/skfp/pcmplc.c
1546
phy->t_val[9] = TRUE ;
drivers/net/fddi/skfp/pcmplc.c
1554
phy->t_val[9] = TRUE ;
drivers/net/fddi/skfp/pcmplc.c
1558
mib->fddiPORTMacIndicated.T_val = phy->t_val[9] ;
drivers/net/fddi/skfp/pcmplc.c
1561
DB_PCMN(1, "SIG snd %x %x:", bit, phy->t_val[bit]);
drivers/net/fddi/skfp/pcmplc.c
1589
struct s_phy *phy = &smc->y[np] ;
drivers/net/fddi/skfp/pcmplc.c
1592
mib = phy->mib ;
drivers/net/fddi/skfp/pcmplc.c
1628
struct s_phy *phy = &smc->y[np] ;
drivers/net/fddi/skfp/pcmplc.c
1629
struct s_plc *plc = &phy->plc ;
drivers/net/fddi/skfp/pcmplc.c
1644
if (!plc->ebuf_cont && phy->mib->fddiPORTPCMState == PC8_ACTIVE){
drivers/net/fddi/skfp/pcmplc.c
1651
phy->mib->fddiPORTEBError_Ct ++ ;
drivers/net/fddi/skfp/pcmplc.c
1724
if (phy->lem.lem_on) {
drivers/net/fddi/skfp/pcmplc.c
1728
phy->lem.lem_errors += i ;
drivers/net/fddi/skfp/pcmplc.c
1729
phy->mib->fddiPORTLem_Ct += i ;
drivers/net/fddi/skfp/pcmplc.c
1743
case PL_I_IDLE : phy->curr_ls = PC_ILS ; break ;
drivers/net/fddi/skfp/pcmplc.c
1744
case PL_I_HALT : phy->curr_ls = PC_HLS ; break ;
drivers/net/fddi/skfp/pcmplc.c
1745
case PL_I_MASTR : phy->curr_ls = PC_MLS ; break ;
drivers/net/fddi/skfp/pcmplc.c
1746
case PL_I_QUIET : phy->curr_ls = PC_QLS ; break ;
drivers/net/fddi/skfp/pcmplc.c
1782
phy->r_val[plc->p_start+i] = n & 1 ;
drivers/net/fddi/skfp/pcmplc.c
1791
if (!phy->tr_flag) {
drivers/net/fddi/skfp/pcmplc.c
1794
phy->tr_flag = TRUE ;
drivers/net/fddi/skfp/pcmplc.c
1803
if ((cmd & PL_SELF_TEST) && (phy->mib->fddiPORTPCMState == PC2_TRACE)) {
drivers/net/fddi/skfp/pcmplc.c
1808
phy->mib->fddiPORTPCMState);
drivers/net/fddi/skfp/pcmplc.c
1816
if (phy->mib->fddiPORTPCMState == PC8_ACTIVE) {
drivers/net/fddi/skfp/pcmplc.c
1817
if (!phy->tr_flag) {
drivers/net/fddi/skfp/pcmplc.c
1819
phy->phy_name, "NSE");
drivers/net/fddi/skfp/pcmplc.c
1848
struct s_phy *phy ;
drivers/net/fddi/skfp/pcmplc.c
1856
for (i = 0, phy = smc->y, pcs = state->pcm_state ; i < NUMPHYS ;
drivers/net/fddi/skfp/pcmplc.c
1857
i++ , phy++, pcs++ ) {
drivers/net/fddi/skfp/pcmplc.c
1858
mib = phy->mib ;
drivers/net/fddi/skfp/pcmplc.c
1861
pcs->pcm_mode = phy->pc_mode ;
drivers/net/fddi/skfp/pcmplc.c
1864
pcs->pcm_lsf = phy->ls_flag ;
drivers/net/fddi/skfp/pcmplc.c
1870
if (phy->r_val[NUMBITS-1-ii])
drivers/net/fddi/skfp/pcmplc.c
1872
if (phy->t_val[NUMBITS-1-ii])
drivers/net/fddi/skfp/pcmplc.c
191
static void pcm_fsm(struct s_smc *smc, struct s_phy *phy, int cmd);
drivers/net/fddi/skfp/pcmplc.c
192
static void pc_rcode_actions(struct s_smc *smc, int bit, struct s_phy *phy);
drivers/net/fddi/skfp/pcmplc.c
193
static void pc_tcode_actions(struct s_smc *smc, const int bit, struct s_phy *phy);
drivers/net/fddi/skfp/pcmplc.c
194
static void reset_lem_struct(struct s_phy *phy);
drivers/net/fddi/skfp/pcmplc.c
1977
struct s_phy *phy ;
drivers/net/fddi/skfp/pcmplc.c
198
static void sm_ph_linestate(struct s_smc *smc, int phy, int ls);
drivers/net/fddi/skfp/pcmplc.c
1984
for (i = 0,phy = smc->y ; i < NUMPHYS ; i++,phy++) {
drivers/net/fddi/skfp/pcmplc.c
1987
mib = phy->mib ;
drivers/net/fddi/skfp/pcmplc.c
206
struct s_phy *phy)
drivers/net/fddi/skfp/pcmplc.c
208
phy->timer0_exp = FALSE ; /* clear timer event flag */
drivers/net/fddi/skfp/pcmplc.c
209
smt_timer_start(smc,&phy->pcm_timer0,value,
drivers/net/fddi/skfp/pcmplc.c
210
EV_TOKEN(EVENT_PCM+phy->np,event)) ;
drivers/net/fddi/skfp/pcmplc.c
216
static void stop_pcm_timer0(struct s_smc *smc, struct s_phy *phy)
drivers/net/fddi/skfp/pcmplc.c
218
if (phy->pcm_timer0.tm_active)
drivers/net/fddi/skfp/pcmplc.c
219
smt_timer_stop(smc,&phy->pcm_timer0) ;
drivers/net/fddi/skfp/pcmplc.c
230
struct s_phy *phy ;
drivers/net/fddi/skfp/pcmplc.c
233
for (np = 0,phy = smc->y ; np < NUMPHYS ; np++,phy++) {
drivers/net/fddi/skfp/pcmplc.c
235
mib = phy->mib ;
drivers/net/fddi/skfp/pcmplc.c
237
phy->np = np ;
drivers/net/fddi/skfp/pcmplc.c
269
phy->pmd_scramble = 0 ;
drivers/net/fddi/skfp/pcmplc.c
270
switch (phy->pmd_type[PMD_SK_PMD]) {
drivers/net/fddi/skfp/pcmplc.c
282
phy->pmd_scramble = TRUE ;
drivers/net/fddi/skfp/pcmplc.c
286
phy->pmd_scramble = TRUE ;
drivers/net/fddi/skfp/pcmplc.c
364
phy->pc_lem_fail = FALSE ;
drivers/net/fddi/skfp/pcmplc.c
370
phy->ls_flag = 0 ;
drivers/net/fddi/skfp/pcmplc.c
371
phy->rc_flag = 0 ;
drivers/net/fddi/skfp/pcmplc.c
372
phy->tc_flag = 0 ;
drivers/net/fddi/skfp/pcmplc.c
373
phy->td_flag = 0 ;
drivers/net/fddi/skfp/pcmplc.c
375
phy->phy_name = '0' + np - PM ;
drivers/net/fddi/skfp/pcmplc.c
377
phy->phy_name = 'A' + np ;
drivers/net/fddi/skfp/pcmplc.c
378
phy->wc_flag = FALSE ; /* set by SMT */
drivers/net/fddi/skfp/pcmplc.c
379
memset((char *)&phy->lem,0,sizeof(struct lem_counter)) ;
drivers/net/fddi/skfp/pcmplc.c
380
reset_lem_struct(phy) ;
drivers/net/fddi/skfp/pcmplc.c
381
memset((char *)&phy->plc,0,sizeof(struct s_plc)) ;
drivers/net/fddi/skfp/pcmplc.c
382
phy->plc.p_state = PS_OFF ;
drivers/net/fddi/skfp/pcmplc.c
384
phy->t_next[i] = 0 ;
drivers/net/fddi/skfp/pcmplc.c
490
int sm_pm_get_ls(struct s_smc *smc, int phy)
drivers/net/fddi/skfp/pcmplc.c
495
if (!plc_is_installed(smc,phy))
drivers/net/fddi/skfp/pcmplc.c
499
state = inpw(PLC(phy,PL_STATUS_A)) & PL_LINE_ST ;
drivers/net/fddi/skfp/pcmplc.c
523
static int plc_send_bits(struct s_smc *smc, struct s_phy *phy, int len)
drivers/net/fddi/skfp/pcmplc.c
525
int np = phy->np ; /* PHY index */
drivers/net/fddi/skfp/pcmplc.c
533
n = (n<<1) | phy->t_val[phy->bitn+i] ;
drivers/net/fddi/skfp/pcmplc.c
551
printf("SIGNALING bit %d .. %d\n",phy->bitn,phy->bitn+len-1) ;
drivers/net/fddi/skfp/pcmplc.c
588
struct s_phy *phy ;
drivers/net/fddi/skfp/pcmplc.c
598
phy = &smc->y[np] ;
drivers/net/fddi/skfp/pcmplc.c
599
mib = phy->mib ;
drivers/net/fddi/skfp/pcmplc.c
603
phy->phy_name,
drivers/net/fddi/skfp/pcmplc.c
608
pcm_fsm(smc,phy,event) ;
drivers/net/fddi/skfp/pcmplc.c
629
(int) (INDEX_PORT+ phy->np),0) ;
drivers/net/fddi/skfp/pcmplc.c
662
static void pcm_fsm(struct s_smc *smc, struct s_phy *phy, int cmd)
drivers/net/fddi/skfp/pcmplc.c
665
int np = phy->np ; /* PHY index */
drivers/net/fddi/skfp/pcmplc.c
672
plc = &phy->plc ;
drivers/net/fddi/skfp/pcmplc.c
673
mib = phy->mib ;
drivers/net/fddi/skfp/pcmplc.c
702
stop_pcm_timer0(smc,phy) ;
drivers/net/fddi/skfp/pcmplc.c
710
stop_pcm_timer0(smc,phy) ;
drivers/net/fddi/skfp/pcmplc.c
715
phy->cf_loop = FALSE ;
drivers/net/fddi/skfp/pcmplc.c
716
phy->cf_join = FALSE ;
drivers/net/fddi/skfp/pcmplc.c
731
stop_pcm_timer0(smc,phy) ;
drivers/net/fddi/skfp/pcmplc.c
753
phy->cf_loop = FALSE ;
drivers/net/fddi/skfp/pcmplc.c
754
phy->cf_join = FALSE ;
drivers/net/fddi/skfp/pcmplc.c
756
phy->ls_flag = FALSE ;
drivers/net/fddi/skfp/pcmplc.c
757
phy->pc_mode = PM_NONE ; /* needed by CFM */
drivers/net/fddi/skfp/pcmplc.c
758
phy->bitn = 0 ; /* bit signaling start bit */
drivers/net/fddi/skfp/pcmplc.c
760
pc_tcode_actions(smc,i,phy) ;
drivers/net/fddi/skfp/pcmplc.c
782
if (plc_send_bits(smc,phy,3)) {
drivers/net/fddi/skfp/pcmplc.c
819
(void) plc_send_bits(smc,phy,3) ;
drivers/net/fddi/skfp/pcmplc.c
853
pc_rcode_actions(smc,i,phy) ;
drivers/net/fddi/skfp/pcmplc.c
854
pc_tcode_actions(smc,3,phy) ;
drivers/net/fddi/skfp/pcmplc.c
858
phy->bitn = 3 ;
drivers/net/fddi/skfp/pcmplc.c
859
if (plc_send_bits(smc,phy,1)) {
drivers/net/fddi/skfp/pcmplc.c
864
pc_rcode_actions(smc,3,phy) ;
drivers/net/fddi/skfp/pcmplc.c
866
pc_tcode_actions(smc,i,phy) ;
drivers/net/fddi/skfp/pcmplc.c
870
phy->bitn = 4 ;
drivers/net/fddi/skfp/pcmplc.c
871
if (plc_send_bits(smc,phy,3)) {
drivers/net/fddi/skfp/pcmplc.c
877
pc_rcode_actions(smc,i,phy) ;
drivers/net/fddi/skfp/pcmplc.c
881
phy->bitn = 7 ;
drivers/net/fddi/skfp/pcmplc.c
890
pc_tcode_actions(smc,7,phy) ;
drivers/net/fddi/skfp/pcmplc.c
897
phy->bitn = 7 ;
drivers/net/fddi/skfp/pcmplc.c
898
if (plc_send_bits(smc,phy,1)) {
drivers/net/fddi/skfp/pcmplc.c
904
pc_rcode_actions(smc,7,phy) ;
drivers/net/fddi/skfp/pcmplc.c
905
if (phy->t_val[7] || phy->r_val[7]) {
drivers/net/fddi/skfp/pcmplc.c
911
pc_tcode_actions(smc,i,phy) ;
drivers/net/fddi/skfp/pcmplc.c
915
phy->bitn = 8 ;
drivers/net/fddi/skfp/pcmplc.c
916
if (plc_send_bits(smc,phy,2)) {
drivers/net/fddi/skfp/pcmplc.c
922
pc_rcode_actions(smc,i,phy) ;
drivers/net/fddi/skfp/pcmplc.c
950
if (!phy->cf_join) {
drivers/net/fddi/skfp/pcmplc.c
951
phy->cf_join = TRUE ;
drivers/net/fddi/skfp/pcmplc.c
972
sm_ph_lem_start(smc,(int)phy->np,LCT_LEM_MAX) ;
drivers/net/fddi/skfp/pcmplc.c
974
phy->tr_flag = FALSE ;
drivers/net/fddi/skfp/pcmplc.c
993
stop_pcm_timer0(smc,phy) ;
drivers/net/fddi/skfp/pcmplc.c
998
phy->cf_loop = FALSE ;
drivers/net/fddi/skfp/pcmplc.c
999
phy->cf_join = FALSE ;
drivers/net/fddi/skfp/smt.c
1336
struct smt_phy_rec *phy ;
drivers/net/fddi/skfp/smt.c
1346
for (p = 0,phy = path->pd_phy ; p < ALLPHYS ; p++, phy++) {
drivers/net/fddi/skfp/smt.c
1354
phy->phy_mib_index = smt_swap_short((u_short)p+INDEX_PORT) ;
drivers/net/fddi/skfp/smt.c
1356
phy->phy_mib_index = p+INDEX_PORT ;
drivers/net/fddi/skfp/smt.c
1358
phy->phy_type = type ;
drivers/net/fddi/skfp/smt.c
1359
phy->phy_connect_state = state ;
drivers/net/fddi/skfp/smt.c
1360
phy->phy_remote_type = remote ;
drivers/net/fddi/skfp/smt.c
1361
phy->phy_remote_mac = mac ;
drivers/net/fddi/skfp/smt.c
1362
phy->phy_resource_idx = phy_con_resource_index(smc,p) ;
drivers/net/fddi/skfp/smt.c
1366
pd_mac = (struct smt_mac_rec *) phy ;
drivers/net/fddi/skfp/smt.c
1402
static void smt_fill_lem(struct s_smc *smc, struct smt_p_lem *lem, int phy)
drivers/net/fddi/skfp/smt.c
1406
mib = smc->y[phy].mib ;
drivers/net/fddi/skfp/smt.c
1409
lem->lem_mib_index = phy+INDEX_PORT ;
drivers/net/fddi/skfp/smt.c
1410
lem->lem_phy_index = phy_index(smc,phy) ;
drivers/net/fddi/skfp/smt.c
1732
static int phy_index(struct s_smc *smc, int phy)
drivers/net/fddi/skfp/smt.c
1735
return phy + 1;
drivers/net/fddi/skfp/smt.c
1765
static int phy_con_resource_index(struct s_smc *smc, int phy)
drivers/net/fddi/skfp/smt.c
1768
return entity_to_index(smc, cem_get_downstream(smc, ENTITY_PHY(phy))) ;
drivers/net/fddi/skfp/smt.c
1772
return phy == PA ? 3 : 2;
drivers/net/fddi/skfp/smt.c
1774
return phy == PA ? 1 : 3;
drivers/net/fddi/skfp/smt.c
1776
return phy == PA ? 3 : 1;
drivers/net/fddi/skfp/smt.c
1778
return phy == PA ? 2 : 3;
drivers/net/fddi/skfp/smt.c
1782
return phy;
drivers/net/fddi/skfp/smt.c
281
struct s_phy *phy ;
drivers/net/fddi/skfp/smt.c
343
phy = &smc->y[port] ;
drivers/net/fddi/skfp/smt.c
345
if (!phy->mib->fddiPORTHardwarePresent) {
drivers/net/fddi/skfp/smt.c
349
cond = (phy->mib->fddiPORTEBError_Ct -
drivers/net/fddi/skfp/smt.c
350
phy->mib->fddiPORTOldEBError_Ct > 5) ;
drivers/net/fddi/skfp/smt.c
356
(int) (INDEX_PORT+ phy->np) ,cond) ;
drivers/net/fddi/skfp/smt.c
361
phy->mib->fddiPORTOldEBError_Ct =
drivers/net/fddi/skfp/smt.c
362
phy->mib->fddiPORTEBError_Ct ;
drivers/net/fddi/skfp/smt.c
55
static int phy_index(struct s_smc *smc, int phy);
drivers/net/fddi/skfp/smt.c
57
static int phy_con_resource_index(struct s_smc *smc, int phy);
drivers/net/fddi/skfp/smt.c
82
static void smt_fill_lem(struct s_smc *smc, struct smt_p_lem *lem, int phy);
drivers/net/ieee802154/adf7242.c
1215
hw->phy->supported.channels[0] = 0x7FFF800;
drivers/net/ieee802154/adf7242.c
1222
hw->phy->flags = WPAN_PHY_FLAG_TXPOWER |
drivers/net/ieee802154/adf7242.c
1226
hw->phy->supported.cca_modes = BIT(NL802154_CCA_ENERGY);
drivers/net/ieee802154/adf7242.c
1228
hw->phy->supported.cca_ed_levels = adf7242_ed_levels;
drivers/net/ieee802154/adf7242.c
1229
hw->phy->supported.cca_ed_levels_size = ARRAY_SIZE(adf7242_ed_levels);
drivers/net/ieee802154/adf7242.c
1231
hw->phy->cca.mode = NL802154_CCA_ENERGY;
drivers/net/ieee802154/adf7242.c
1233
hw->phy->supported.tx_powers = adf7242_powers;
drivers/net/ieee802154/adf7242.c
1234
hw->phy->supported.tx_powers_size = ARRAY_SIZE(adf7242_powers);
drivers/net/ieee802154/adf7242.c
1236
hw->phy->supported.min_minbe = 0;
drivers/net/ieee802154/adf7242.c
1237
hw->phy->supported.max_minbe = 8;
drivers/net/ieee802154/adf7242.c
1239
hw->phy->supported.min_maxbe = 3;
drivers/net/ieee802154/adf7242.c
1240
hw->phy->supported.max_maxbe = 8;
drivers/net/ieee802154/adf7242.c
1242
hw->phy->supported.min_frame_retries = 0;
drivers/net/ieee802154/adf7242.c
1243
hw->phy->supported.max_frame_retries = 15;
drivers/net/ieee802154/adf7242.c
1245
hw->phy->supported.min_csma_backoffs = 0;
drivers/net/ieee802154/adf7242.c
1246
hw->phy->supported.max_csma_backoffs = 5;
drivers/net/ieee802154/adf7242.c
1248
ieee802154_random_extended_addr(&hw->phy->perm_extended_addr);
drivers/net/ieee802154/at86rf230.c
1110
for (i = 0; i < lp->hw->phy->supported.tx_powers_size; i++) {
drivers/net/ieee802154/at86rf230.c
1111
if (lp->hw->phy->supported.tx_powers[i] == mbm)
drivers/net/ieee802154/at86rf230.c
1123
for (i = 0; i < lp->hw->phy->supported.tx_powers_size; i++) {
drivers/net/ieee802154/at86rf230.c
1124
if (lp->hw->phy->supported.tx_powers[i] == mbm)
drivers/net/ieee802154/at86rf230.c
1187
for (i = 0; i < hw->phy->supported.cca_ed_levels_size; i++) {
drivers/net/ieee802154/at86rf230.c
1188
if (hw->phy->supported.cca_ed_levels[i] == mbm)
drivers/net/ieee802154/at86rf230.c
1454
lp->hw->phy->flags = WPAN_PHY_FLAG_TXPOWER |
drivers/net/ieee802154/at86rf230.c
1458
lp->hw->phy->supported.cca_modes = BIT(NL802154_CCA_ENERGY) |
drivers/net/ieee802154/at86rf230.c
1460
lp->hw->phy->supported.cca_opts = BIT(NL802154_CCA_OPT_ENERGY_CARRIER_AND) |
drivers/net/ieee802154/at86rf230.c
1463
lp->hw->phy->cca.mode = NL802154_CCA_ENERGY;
drivers/net/ieee802154/at86rf230.c
1473
lp->hw->phy->supported.channels[0] = 0x7FFF800;
drivers/net/ieee802154/at86rf230.c
1474
lp->hw->phy->current_channel = 11;
drivers/net/ieee802154/at86rf230.c
1475
lp->hw->phy->supported.tx_powers = at86rf231_powers;
drivers/net/ieee802154/at86rf230.c
1476
lp->hw->phy->supported.tx_powers_size = ARRAY_SIZE(at86rf231_powers);
drivers/net/ieee802154/at86rf230.c
1477
lp->hw->phy->supported.cca_ed_levels = at86rf231_ed_levels;
drivers/net/ieee802154/at86rf230.c
1478
lp->hw->phy->supported.cca_ed_levels_size = ARRAY_SIZE(at86rf231_ed_levels);
drivers/net/ieee802154/at86rf230.c
1484
lp->hw->phy->supported.channels[0] = 0x00007FF;
drivers/net/ieee802154/at86rf230.c
1485
lp->hw->phy->supported.channels[2] = 0x00007FF;
drivers/net/ieee802154/at86rf230.c
1486
lp->hw->phy->current_channel = 5;
drivers/net/ieee802154/at86rf230.c
1487
lp->hw->phy->supported.lbt = NL802154_SUPPORTED_BOOL_BOTH;
drivers/net/ieee802154/at86rf230.c
1488
lp->hw->phy->supported.tx_powers = at86rf212_powers;
drivers/net/ieee802154/at86rf230.c
1489
lp->hw->phy->supported.tx_powers_size = ARRAY_SIZE(at86rf212_powers);
drivers/net/ieee802154/at86rf230.c
1490
lp->hw->phy->supported.cca_ed_levels = at86rf212_ed_levels_100;
drivers/net/ieee802154/at86rf230.c
1491
lp->hw->phy->supported.cca_ed_levels_size = ARRAY_SIZE(at86rf212_ed_levels_100);
drivers/net/ieee802154/at86rf230.c
1496
lp->hw->phy->supported.channels[0] = 0x7FFF800;
drivers/net/ieee802154/at86rf230.c
1497
lp->hw->phy->current_channel = 13;
drivers/net/ieee802154/at86rf230.c
1498
lp->hw->phy->supported.tx_powers = at86rf233_powers;
drivers/net/ieee802154/at86rf230.c
1499
lp->hw->phy->supported.tx_powers_size = ARRAY_SIZE(at86rf233_powers);
drivers/net/ieee802154/at86rf230.c
1500
lp->hw->phy->supported.cca_ed_levels = at86rf233_ed_levels;
drivers/net/ieee802154/at86rf230.c
1501
lp->hw->phy->supported.cca_ed_levels_size = ARRAY_SIZE(at86rf233_ed_levels);
drivers/net/ieee802154/at86rf230.c
1509
lp->hw->phy->cca_ed_level = lp->hw->phy->supported.cca_ed_levels[7];
drivers/net/ieee802154/at86rf230.c
1510
lp->hw->phy->transmit_power = lp->hw->phy->supported.tx_powers[0];
drivers/net/ieee802154/at86rf230.c
1575
ieee802154_random_extended_addr(&hw->phy->perm_extended_addr);
drivers/net/ieee802154/at86rf230.c
984
lp->hw->phy->supported.cca_ed_levels = at86rf212_ed_levels_98;
drivers/net/ieee802154/at86rf230.c
985
lp->hw->phy->supported.cca_ed_levels_size = ARRAY_SIZE(at86rf212_ed_levels_98);
drivers/net/ieee802154/at86rf230.c
986
lp->hw->phy->cca_ed_level = at86rf212_ed_levels_98[cca_ed_thres];
drivers/net/ieee802154/at86rf230.c
989
lp->hw->phy->supported.cca_ed_levels = at86rf212_ed_levels_100;
drivers/net/ieee802154/at86rf230.c
990
lp->hw->phy->supported.cca_ed_levels_size = ARRAY_SIZE(at86rf212_ed_levels_100);
drivers/net/ieee802154/at86rf230.c
991
lp->hw->phy->cca_ed_level = at86rf212_ed_levels_100[cca_ed_thres];
drivers/net/ieee802154/atusb.c
467
for (i = 0; i < hw->phy->supported.tx_powers_size; i++) {
drivers/net/ieee802154/atusb.c
468
if (hw->phy->supported.tx_powers[i] == mbm)
drivers/net/ieee802154/atusb.c
480
for (i = 0; i < hw->phy->supported.tx_powers_size; i++) {
drivers/net/ieee802154/atusb.c
481
if (hw->phy->supported.tx_powers[i] == mbm)
drivers/net/ieee802154/atusb.c
555
lp->hw->phy->supported.cca_ed_levels = at86rf212_ed_levels_98;
drivers/net/ieee802154/atusb.c
556
lp->hw->phy->supported.cca_ed_levels_size = ARRAY_SIZE(at86rf212_ed_levels_98);
drivers/net/ieee802154/atusb.c
557
lp->hw->phy->cca_ed_level = at86rf212_ed_levels_98[cca_ed_thres];
drivers/net/ieee802154/atusb.c
560
lp->hw->phy->supported.cca_ed_levels = at86rf212_ed_levels_100;
drivers/net/ieee802154/atusb.c
561
lp->hw->phy->supported.cca_ed_levels_size = ARRAY_SIZE(at86rf212_ed_levels_100);
drivers/net/ieee802154/atusb.c
562
lp->hw->phy->cca_ed_level = at86rf212_ed_levels_100[cca_ed_thres];
drivers/net/ieee802154/atusb.c
577
for (i = 0; i < hw->phy->supported.cca_ed_levels_size; i++) {
drivers/net/ieee802154/atusb.c
578
if (hw->phy->supported.cca_ed_levels[i] == mbm)
drivers/net/ieee802154/atusb.c
838
hw->phy->flags = WPAN_PHY_FLAG_TXPOWER | WPAN_PHY_FLAG_CCA_ED_LEVEL |
drivers/net/ieee802154/atusb.c
841
hw->phy->supported.cca_modes = BIT(NL802154_CCA_ENERGY) |
drivers/net/ieee802154/atusb.c
844
hw->phy->supported.cca_opts = BIT(NL802154_CCA_OPT_ENERGY_CARRIER_AND) |
drivers/net/ieee802154/atusb.c
847
hw->phy->cca.mode = NL802154_CCA_ENERGY;
drivers/net/ieee802154/atusb.c
849
hw->phy->current_page = 0;
drivers/net/ieee802154/atusb.c
861
atusb->hw->phy->supported.channels[0] = 0x7FFF800;
drivers/net/ieee802154/atusb.c
862
atusb->hw->phy->current_channel = 11; /* reset default */
drivers/net/ieee802154/atusb.c
863
atusb->hw->phy->supported.tx_powers = atusb_powers;
drivers/net/ieee802154/atusb.c
864
atusb->hw->phy->supported.tx_powers_size = ARRAY_SIZE(atusb_powers);
drivers/net/ieee802154/atusb.c
865
hw->phy->supported.cca_ed_levels = atusb_ed_levels;
drivers/net/ieee802154/atusb.c
866
hw->phy->supported.cca_ed_levels_size = ARRAY_SIZE(atusb_ed_levels);
drivers/net/ieee802154/atusb.c
870
atusb->hw->phy->supported.channels[0] = 0x7FFF800;
drivers/net/ieee802154/atusb.c
871
atusb->hw->phy->current_channel = 11; /* reset default */
drivers/net/ieee802154/atusb.c
872
atusb->hw->phy->supported.tx_powers = atusb_powers;
drivers/net/ieee802154/atusb.c
873
atusb->hw->phy->supported.tx_powers_size = ARRAY_SIZE(atusb_powers);
drivers/net/ieee802154/atusb.c
874
hw->phy->supported.cca_ed_levels = atusb_ed_levels;
drivers/net/ieee802154/atusb.c
875
hw->phy->supported.cca_ed_levels_size = ARRAY_SIZE(atusb_ed_levels);
drivers/net/ieee802154/atusb.c
880
atusb->hw->phy->supported.channels[0] = 0x00007FF;
drivers/net/ieee802154/atusb.c
881
atusb->hw->phy->supported.channels[2] = 0x00007FF;
drivers/net/ieee802154/atusb.c
882
atusb->hw->phy->current_channel = 5;
drivers/net/ieee802154/atusb.c
883
atusb->hw->phy->supported.lbt = NL802154_SUPPORTED_BOOL_BOTH;
drivers/net/ieee802154/atusb.c
884
atusb->hw->phy->supported.tx_powers = at86rf212_powers;
drivers/net/ieee802154/atusb.c
885
atusb->hw->phy->supported.tx_powers_size = ARRAY_SIZE(at86rf212_powers);
drivers/net/ieee802154/atusb.c
886
atusb->hw->phy->supported.cca_ed_levels = at86rf212_ed_levels_100;
drivers/net/ieee802154/atusb.c
887
atusb->hw->phy->supported.cca_ed_levels_size = ARRAY_SIZE(at86rf212_ed_levels_100);
drivers/net/ieee802154/atusb.c
896
hw->phy->transmit_power = hw->phy->supported.tx_powers[0];
drivers/net/ieee802154/atusb.c
897
hw->phy->cca_ed_level = hw->phy->supported.cca_ed_levels[7];
drivers/net/ieee802154/atusb.c
920
ieee802154_random_extended_addr(&atusb->hw->phy->perm_extended_addr);
drivers/net/ieee802154/atusb.c
929
ieee802154_random_extended_addr(&atusb->hw->phy->perm_extended_addr);
drivers/net/ieee802154/atusb.c
937
ieee802154_random_extended_addr(&atusb->hw->phy->perm_extended_addr);
drivers/net/ieee802154/atusb.c
939
atusb->hw->phy->perm_extended_addr = extended_addr;
drivers/net/ieee802154/atusb.c
940
addr = swab64((__force u64)atusb->hw->phy->perm_extended_addr);
drivers/net/ieee802154/ca8210.c
2889
ca8210_hw->phy->supported.channels[0] = CA8210_VALID_CHANNELS;
drivers/net/ieee802154/ca8210.c
2890
ca8210_hw->phy->supported.tx_powers_size = CA8210_MAX_TX_POWERS;
drivers/net/ieee802154/ca8210.c
2891
ca8210_hw->phy->supported.tx_powers = ca8210_tx_powers;
drivers/net/ieee802154/ca8210.c
2892
ca8210_hw->phy->supported.cca_ed_levels_size = CA8210_MAX_ED_LEVELS;
drivers/net/ieee802154/ca8210.c
2893
ca8210_hw->phy->supported.cca_ed_levels = ca8210_ed_levels;
drivers/net/ieee802154/ca8210.c
2894
ca8210_hw->phy->current_channel = 18;
drivers/net/ieee802154/ca8210.c
2895
ca8210_hw->phy->current_page = 0;
drivers/net/ieee802154/ca8210.c
2896
ca8210_hw->phy->transmit_power = 800;
drivers/net/ieee802154/ca8210.c
2897
ca8210_hw->phy->cca.mode = NL802154_CCA_ENERGY_CARRIER;
drivers/net/ieee802154/ca8210.c
2898
ca8210_hw->phy->cca.opt = NL802154_CCA_OPT_ENERGY_CARRIER_AND;
drivers/net/ieee802154/ca8210.c
2899
ca8210_hw->phy->cca_ed_level = -9800;
drivers/net/ieee802154/ca8210.c
2900
ca8210_hw->phy->symbol_duration = 16;
drivers/net/ieee802154/ca8210.c
2901
ca8210_hw->phy->lifs_period = 40 * ca8210_hw->phy->symbol_duration;
drivers/net/ieee802154/ca8210.c
2902
ca8210_hw->phy->sifs_period = 12 * ca8210_hw->phy->symbol_duration;
drivers/net/ieee802154/ca8210.c
2909
ca8210_hw->phy->flags =
drivers/net/ieee802154/ca8210.c
3067
ieee802154_random_extended_addr(&hw->phy->perm_extended_addr);
drivers/net/ieee802154/cc2520.c
836
ieee802154_random_extended_addr(&priv->hw->phy->perm_extended_addr);
drivers/net/ieee802154/cc2520.c
839
priv->hw->phy->supported.channels[0] = 0x7FFF800;
drivers/net/ieee802154/cc2520.c
843
priv->hw->phy->flags = WPAN_PHY_FLAG_TXPOWER;
drivers/net/ieee802154/cc2520.c
846
priv->hw->phy->supported.tx_powers = cc2520_powers;
drivers/net/ieee802154/cc2520.c
847
priv->hw->phy->supported.tx_powers_size = ARRAY_SIZE(cc2520_powers);
drivers/net/ieee802154/cc2520.c
848
priv->hw->phy->transmit_power = priv->hw->phy->supported.tx_powers[4];
drivers/net/ieee802154/cc2520.c
850
priv->hw->phy->supported.tx_powers = cc2520_cc2591_powers;
drivers/net/ieee802154/cc2520.c
851
priv->hw->phy->supported.tx_powers_size = ARRAY_SIZE(cc2520_cc2591_powers);
drivers/net/ieee802154/cc2520.c
852
priv->hw->phy->transmit_power = priv->hw->phy->supported.tx_powers[0];
drivers/net/ieee802154/cc2520.c
855
priv->hw->phy->current_channel = 11;
drivers/net/ieee802154/fakelb.c
102
phy->suspended = true;
drivers/net/ieee802154/fakelb.c
103
list_del(&phy->list_ifup);
drivers/net/ieee802154/fakelb.c
130
struct fakelb_phy *phy;
drivers/net/ieee802154/fakelb.c
133
hw = ieee802154_alloc_hw(sizeof(*phy), &fakelb_ops);
drivers/net/ieee802154/fakelb.c
137
phy = hw->priv;
drivers/net/ieee802154/fakelb.c
138
phy->hw = hw;
drivers/net/ieee802154/fakelb.c
141
hw->phy->supported.channels[0] |= 1;
drivers/net/ieee802154/fakelb.c
143
hw->phy->supported.channels[0] |= 0x7fe;
drivers/net/ieee802154/fakelb.c
145
hw->phy->supported.channels[0] |= 0x7FFF800;
drivers/net/ieee802154/fakelb.c
147
hw->phy->supported.channels[1] |= 1;
drivers/net/ieee802154/fakelb.c
149
hw->phy->supported.channels[1] |= 0x7fe;
drivers/net/ieee802154/fakelb.c
151
hw->phy->supported.channels[2] |= 1;
drivers/net/ieee802154/fakelb.c
153
hw->phy->supported.channels[2] |= 0x7fe;
drivers/net/ieee802154/fakelb.c
155
hw->phy->supported.channels[3] |= 0x3fff;
drivers/net/ieee802154/fakelb.c
157
hw->phy->supported.channels[4] |= 1;
drivers/net/ieee802154/fakelb.c
159
hw->phy->supported.channels[4] |= 0x1e;
drivers/net/ieee802154/fakelb.c
161
hw->phy->supported.channels[4] |= 0xffe0;
drivers/net/ieee802154/fakelb.c
163
hw->phy->supported.channels[5] |= 0xf;
drivers/net/ieee802154/fakelb.c
165
hw->phy->supported.channels[5] |= 0xf0;
drivers/net/ieee802154/fakelb.c
167
hw->phy->supported.channels[6] |= 0x3ff;
drivers/net/ieee802154/fakelb.c
169
hw->phy->supported.channels[6] |= 0x3ffc00;
drivers/net/ieee802154/fakelb.c
171
ieee802154_random_extended_addr(&hw->phy->perm_extended_addr);
drivers/net/ieee802154/fakelb.c
173
hw->phy->current_channel = 13;
drivers/net/ieee802154/fakelb.c
174
phy->channel = hw->phy->current_channel;
drivers/net/ieee802154/fakelb.c
184
list_add_tail(&phy->list, &fakelb_phys);
drivers/net/ieee802154/fakelb.c
190
ieee802154_free_hw(phy->hw);
drivers/net/ieee802154/fakelb.c
194
static void fakelb_del(struct fakelb_phy *phy)
drivers/net/ieee802154/fakelb.c
196
list_del(&phy->list);
drivers/net/ieee802154/fakelb.c
198
ieee802154_unregister_hw(phy->hw);
drivers/net/ieee802154/fakelb.c
199
ieee802154_free_hw(phy->hw);
drivers/net/ieee802154/fakelb.c
204
struct fakelb_phy *phy, *tmp;
drivers/net/ieee802154/fakelb.c
218
list_for_each_entry_safe(phy, tmp, &fakelb_phys, list)
drivers/net/ieee802154/fakelb.c
219
fakelb_del(phy);
drivers/net/ieee802154/fakelb.c
226
struct fakelb_phy *phy, *tmp;
drivers/net/ieee802154/fakelb.c
229
list_for_each_entry_safe(phy, tmp, &fakelb_phys, list)
drivers/net/ieee802154/fakelb.c
230
fakelb_del(phy);
drivers/net/ieee802154/fakelb.c
52
struct fakelb_phy *phy = hw->priv;
drivers/net/ieee802154/fakelb.c
55
phy->page = page;
drivers/net/ieee802154/fakelb.c
56
phy->channel = channel;
drivers/net/ieee802154/fakelb.c
63
struct fakelb_phy *current_phy = hw->priv, *phy;
drivers/net/ieee802154/fakelb.c
67
list_for_each_entry(phy, &fakelb_ifup_phys, list_ifup) {
drivers/net/ieee802154/fakelb.c
68
if (current_phy == phy)
drivers/net/ieee802154/fakelb.c
71
if (current_phy->page == phy->page &&
drivers/net/ieee802154/fakelb.c
72
current_phy->channel == phy->channel) {
drivers/net/ieee802154/fakelb.c
76
ieee802154_rx_irqsafe(phy->hw, newskb, 0xcc);
drivers/net/ieee802154/fakelb.c
87
struct fakelb_phy *phy = hw->priv;
drivers/net/ieee802154/fakelb.c
90
phy->suspended = false;
drivers/net/ieee802154/fakelb.c
91
list_add(&phy->list_ifup, &fakelb_ifup_phys);
drivers/net/ieee802154/fakelb.c
99
struct fakelb_phy *phy = hw->priv;
drivers/net/ieee802154/mac802154_hwsim.c
1000
list_del(&phy->list);
drivers/net/ieee802154/mac802154_hwsim.c
1003
list_for_each_entry_rcu(e, &phy->edges, list) {
drivers/net/ieee802154/mac802154_hwsim.c
1007
pib = rcu_dereference(phy->pib);
drivers/net/ieee802154/mac802154_hwsim.c
1012
ieee802154_unregister_hw(phy->hw);
drivers/net/ieee802154/mac802154_hwsim.c
1013
ieee802154_free_hw(phy->hw);
drivers/net/ieee802154/mac802154_hwsim.c
1018
struct hwsim_phy *phy, *tmp;
drivers/net/ieee802154/mac802154_hwsim.c
1032
list_for_each_entry_safe(phy, tmp, &hwsim_phys, list)
drivers/net/ieee802154/mac802154_hwsim.c
1033
hwsim_del(phy);
drivers/net/ieee802154/mac802154_hwsim.c
1040
struct hwsim_phy *phy, *tmp;
drivers/net/ieee802154/mac802154_hwsim.c
1043
list_for_each_entry_safe(phy, tmp, &hwsim_phys, list)
drivers/net/ieee802154/mac802154_hwsim.c
1044
hwsim_del(phy);
drivers/net/ieee802154/mac802154_hwsim.c
105
pib_old = rtnl_dereference(phy->pib);
drivers/net/ieee802154/mac802154_hwsim.c
115
rcu_assign_pointer(phy->pib, pib);
drivers/net/ieee802154/mac802154_hwsim.c
122
struct hwsim_phy *phy = hw->priv;
drivers/net/ieee802154/mac802154_hwsim.c
127
pib = rcu_dereference(phy->pib);
drivers/net/ieee802154/mac802154_hwsim.c
138
struct hwsim_phy *phy = hw->priv;
drivers/net/ieee802154/mac802154_hwsim.c
143
pib = rcu_dereference(phy->pib);
drivers/net/ieee802154/mac802154_hwsim.c
154
struct hwsim_phy *phy = hw->priv;
drivers/net/ieee802154/mac802154_hwsim.c
158
pib = rcu_dereference(phy->pib);
drivers/net/ieee802154/mac802154_hwsim.c
294
struct hwsim_phy *phy = hw->priv;
drivers/net/ieee802154/mac802154_hwsim.c
296
phy->suspended = false;
drivers/net/ieee802154/mac802154_hwsim.c
303
struct hwsim_phy *phy = hw->priv;
drivers/net/ieee802154/mac802154_hwsim.c
305
phy->suspended = true;
drivers/net/ieee802154/mac802154_hwsim.c
312
struct hwsim_phy *phy = hw->priv;
drivers/net/ieee802154/mac802154_hwsim.c
322
pib = rcu_dereference(phy->pib);
drivers/net/ieee802154/mac802154_hwsim.c
347
struct hwsim_phy *phy, *tmp;
drivers/net/ieee802154/mac802154_hwsim.c
356
list_for_each_entry_safe(phy, tmp, &hwsim_phys, list) {
drivers/net/ieee802154/mac802154_hwsim.c
357
if (idx == phy->idx) {
drivers/net/ieee802154/mac802154_hwsim.c
358
hwsim_del(phy);
drivers/net/ieee802154/mac802154_hwsim.c
368
static int append_radio_msg(struct sk_buff *skb, struct hwsim_phy *phy)
drivers/net/ieee802154/mac802154_hwsim.c
375
ret = nla_put_u32(skb, MAC802154_HWSIM_ATTR_RADIO_ID, phy->idx);
drivers/net/ieee802154/mac802154_hwsim.c
380
if (list_empty(&phy->edges)) {
drivers/net/ieee802154/mac802154_hwsim.c
392
list_for_each_entry_rcu(e, &phy->edges, list) {
drivers/net/ieee802154/mac802154_hwsim.c
429
static int hwsim_get_radio(struct sk_buff *skb, struct hwsim_phy *phy,
drivers/net/ieee802154/mac802154_hwsim.c
444
res = append_radio_msg(skb, phy);
drivers/net/ieee802154/mac802154_hwsim.c
458
struct hwsim_phy *phy;
drivers/net/ieee802154/mac802154_hwsim.c
467
list_for_each_entry(phy, &hwsim_phys, list) {
drivers/net/ieee802154/mac802154_hwsim.c
468
if (phy->idx != idx)
drivers/net/ieee802154/mac802154_hwsim.c
477
res = hwsim_get_radio(skb, phy, info->snd_portid,
drivers/net/ieee802154/mac802154_hwsim.c
498
struct hwsim_phy *phy;
drivers/net/ieee802154/mac802154_hwsim.c
506
list_for_each_entry(phy, &hwsim_phys, list) {
drivers/net/ieee802154/mac802154_hwsim.c
507
if (phy->idx < idx)
drivers/net/ieee802154/mac802154_hwsim.c
510
res = hwsim_get_radio(skb, phy, NETLINK_CB(cb->skb).portid,
drivers/net/ieee802154/mac802154_hwsim.c
515
idx = phy->idx + 1;
drivers/net/ieee802154/mac802154_hwsim.c
528
struct hwsim_phy *phy;
drivers/net/ieee802154/mac802154_hwsim.c
530
list_for_each_entry(phy, &hwsim_phys, list) {
drivers/net/ieee802154/mac802154_hwsim.c
531
if (phy->idx == idx)
drivers/net/ieee802154/mac802154_hwsim.c
532
return phy;
drivers/net/ieee802154/mac802154_hwsim.c
814
static void hwsim_mcast_new_radio(struct genl_info *info, struct hwsim_phy *phy)
drivers/net/ieee802154/mac802154_hwsim.c
828
if (append_radio_msg(mcast_skb, phy) < 0)
drivers/net/ieee802154/mac802154_hwsim.c
841
static void hwsim_edge_unsubscribe_me(struct hwsim_phy *phy)
drivers/net/ieee802154/mac802154_hwsim.c
85
static void hwsim_del(struct hwsim_phy *phy);
drivers/net/ieee802154/mac802154_hwsim.c
850
if (e->endpoint->idx == phy->idx) {
drivers/net/ieee802154/mac802154_hwsim.c
861
static int hwsim_subscribe_all_others(struct hwsim_phy *phy)
drivers/net/ieee802154/mac802154_hwsim.c
871
list_add_rcu(&e->list, &phy->edges);
drivers/net/ieee802154/mac802154_hwsim.c
875
e = hwsim_alloc_edge(phy, 0xff);
drivers/net/ieee802154/mac802154_hwsim.c
885
hwsim_edge_unsubscribe_me(phy);
drivers/net/ieee802154/mac802154_hwsim.c
888
list_for_each_entry_rcu(e, &phy->edges, list) {
drivers/net/ieee802154/mac802154_hwsim.c
900
struct hwsim_phy *phy;
drivers/net/ieee802154/mac802154_hwsim.c
907
hw = ieee802154_alloc_hw(sizeof(*phy), &hwsim_ops);
drivers/net/ieee802154/mac802154_hwsim.c
911
phy = hw->priv;
drivers/net/ieee802154/mac802154_hwsim.c
912
phy->hw = hw;
drivers/net/ieee802154/mac802154_hwsim.c
915
hw->phy->supported.channels[0] |= 1;
drivers/net/ieee802154/mac802154_hwsim.c
917
hw->phy->supported.channels[0] |= 0x7fe;
drivers/net/ieee802154/mac802154_hwsim.c
919
hw->phy->supported.channels[0] |= 0x7FFF800;
drivers/net/ieee802154/mac802154_hwsim.c
921
hw->phy->supported.channels[1] |= 1;
drivers/net/ieee802154/mac802154_hwsim.c
923
hw->phy->supported.channels[1] |= 0x7fe;
drivers/net/ieee802154/mac802154_hwsim.c
925
hw->phy->supported.channels[2] |= 1;
drivers/net/ieee802154/mac802154_hwsim.c
927
hw->phy->supported.channels[2] |= 0x7fe;
drivers/net/ieee802154/mac802154_hwsim.c
929
hw->phy->supported.channels[3] |= 0x3fff;
drivers/net/ieee802154/mac802154_hwsim.c
931
hw->phy->supported.channels[4] |= 1;
drivers/net/ieee802154/mac802154_hwsim.c
933
hw->phy->supported.channels[4] |= 0x1e;
drivers/net/ieee802154/mac802154_hwsim.c
935
hw->phy->supported.channels[4] |= 0xffe0;
drivers/net/ieee802154/mac802154_hwsim.c
937
hw->phy->supported.channels[5] |= 0xf;
drivers/net/ieee802154/mac802154_hwsim.c
939
hw->phy->supported.channels[5] |= 0xf0;
drivers/net/ieee802154/mac802154_hwsim.c
941
hw->phy->supported.channels[6] |= 0x3ff;
drivers/net/ieee802154/mac802154_hwsim.c
943
hw->phy->supported.channels[6] |= 0x3ffc00;
drivers/net/ieee802154/mac802154_hwsim.c
945
ieee802154_random_extended_addr(&hw->phy->perm_extended_addr);
drivers/net/ieee802154/mac802154_hwsim.c
948
hw->phy->current_channel = 13;
drivers/net/ieee802154/mac802154_hwsim.c
958
rcu_assign_pointer(phy->pib, pib);
drivers/net/ieee802154/mac802154_hwsim.c
959
phy->idx = idx;
drivers/net/ieee802154/mac802154_hwsim.c
960
INIT_LIST_HEAD(&phy->edges);
drivers/net/ieee802154/mac802154_hwsim.c
971
err = hwsim_subscribe_all_others(phy);
drivers/net/ieee802154/mac802154_hwsim.c
977
list_add_tail(&phy->list, &hwsim_phys);
drivers/net/ieee802154/mac802154_hwsim.c
98
struct hwsim_phy *phy = hw->priv;
drivers/net/ieee802154/mac802154_hwsim.c
980
hwsim_mcast_new_radio(info, phy);
drivers/net/ieee802154/mac802154_hwsim.c
985
ieee802154_unregister_hw(phy->hw);
drivers/net/ieee802154/mac802154_hwsim.c
989
ieee802154_free_hw(phy->hw);
drivers/net/ieee802154/mac802154_hwsim.c
993
static void hwsim_del(struct hwsim_phy *phy)
drivers/net/ieee802154/mac802154_hwsim.c
998
hwsim_edge_unsubscribe_me(phy);
drivers/net/ieee802154/mcr20a.c
1000
phy->supported.channels[0] = MCR20A_VALID_CHANNELS;
drivers/net/ieee802154/mcr20a.c
1001
phy->current_page = 0;
drivers/net/ieee802154/mcr20a.c
1003
phy->current_channel = 20;
drivers/net/ieee802154/mcr20a.c
1004
phy->supported.tx_powers = mcr20a_powers;
drivers/net/ieee802154/mcr20a.c
1005
phy->supported.tx_powers_size = ARRAY_SIZE(mcr20a_powers);
drivers/net/ieee802154/mcr20a.c
1006
phy->cca_ed_level = phy->supported.cca_ed_levels[75];
drivers/net/ieee802154/mcr20a.c
1007
phy->transmit_power = phy->supported.tx_powers[0x0F];
drivers/net/ieee802154/mcr20a.c
1260
ieee802154_random_extended_addr(&hw->phy->perm_extended_addr);
drivers/net/ieee802154/mcr20a.c
623
for (i = 0; i < lp->hw->phy->supported.tx_powers_size; i++) {
drivers/net/ieee802154/mcr20a.c
624
if (lp->hw->phy->supported.tx_powers[i] == mbm)
drivers/net/ieee802154/mcr20a.c
703
for (i = 0; i < hw->phy->supported.cca_ed_levels_size; i++) {
drivers/net/ieee802154/mcr20a.c
704
if (hw->phy->supported.cca_ed_levels[i] == mbm)
drivers/net/ieee802154/mcr20a.c
973
struct wpan_phy *phy = lp->hw->phy;
drivers/net/ieee802154/mcr20a.c
981
phy->flags = WPAN_PHY_FLAG_TXPOWER | WPAN_PHY_FLAG_CCA_ED_LEVEL |
drivers/net/ieee802154/mcr20a.c
984
phy->supported.cca_modes = BIT(NL802154_CCA_ENERGY) |
drivers/net/ieee802154/mcr20a.c
986
phy->supported.cca_opts = BIT(NL802154_CCA_OPT_ENERGY_CARRIER_AND) |
drivers/net/ieee802154/mcr20a.c
995
phy->supported.cca_ed_levels = mcr20a_ed_levels;
drivers/net/ieee802154/mcr20a.c
996
phy->supported.cca_ed_levels_size = ARRAY_SIZE(mcr20a_ed_levels);
drivers/net/ieee802154/mcr20a.c
998
phy->cca.mode = NL802154_CCA_ENERGY;
drivers/net/ieee802154/mrf24j40.c
1238
ieee802154_random_extended_addr(&devrec->hw->phy->perm_extended_addr);
drivers/net/ieee802154/mrf24j40.c
1239
devrec->hw->phy->current_channel = 11;
drivers/net/ieee802154/mrf24j40.c
1242
devrec->hw->phy->supported.max_minbe = 3;
drivers/net/ieee802154/mrf24j40.c
1246
devrec->hw->phy->supported.min_maxbe = 5;
drivers/net/ieee802154/mrf24j40.c
1247
devrec->hw->phy->supported.max_maxbe = 5;
drivers/net/ieee802154/mrf24j40.c
1249
devrec->hw->phy->cca.mode = NL802154_CCA_CARRIER;
drivers/net/ieee802154/mrf24j40.c
1250
devrec->hw->phy->supported.cca_modes = BIT(NL802154_CCA_ENERGY) |
drivers/net/ieee802154/mrf24j40.c
1253
devrec->hw->phy->supported.cca_opts = BIT(NL802154_CCA_OPT_ENERGY_CARRIER_AND);
drivers/net/ieee802154/mrf24j40.c
1255
devrec->hw->phy->cca_ed_level = -6900;
drivers/net/ieee802154/mrf24j40.c
1256
devrec->hw->phy->supported.cca_ed_levels = mrf24j40_ed_levels;
drivers/net/ieee802154/mrf24j40.c
1257
devrec->hw->phy->supported.cca_ed_levels_size = ARRAY_SIZE(mrf24j40_ed_levels);
drivers/net/ieee802154/mrf24j40.c
1262
devrec->hw->phy->supported.tx_powers = mrf24j40ma_powers;
drivers/net/ieee802154/mrf24j40.c
1263
devrec->hw->phy->supported.tx_powers_size = ARRAY_SIZE(mrf24j40ma_powers);
drivers/net/ieee802154/mrf24j40.c
1264
devrec->hw->phy->flags |= WPAN_PHY_FLAG_TXPOWER;
drivers/net/ieee802154/mrf24j40.c
1290
devrec->hw->phy->supported.channels[0] = CHANNEL_MASK;
drivers/net/ieee802154/mrf24j40.c
1295
devrec->hw->phy->flags = WPAN_PHY_FLAG_CCA_MODE |
drivers/net/mdio/fwnode_mdio.c
104
rc = phy_device_register(phy);
drivers/net/mdio/fwnode_mdio.c
106
device_set_node(&phy->mdio.dev, NULL);
drivers/net/mdio/fwnode_mdio.c
122
struct phy_device *phy;
drivers/net/mdio/fwnode_mdio.c
133
phy = get_phy_device(bus, addr, is_c45);
drivers/net/mdio/fwnode_mdio.c
135
phy = phy_device_create(bus, addr, phy_id, 0, NULL);
drivers/net/mdio/fwnode_mdio.c
136
if (IS_ERR(phy)) {
drivers/net/mdio/fwnode_mdio.c
137
rc = PTR_ERR(phy);
drivers/net/mdio/fwnode_mdio.c
142
phy->irq = bus->irq[addr];
drivers/net/mdio/fwnode_mdio.c
147
phy->mdio.dev.fwnode = fwnode_handle_get(child);
drivers/net/mdio/fwnode_mdio.c
150
rc = phy_device_register(phy);
drivers/net/mdio/fwnode_mdio.c
152
phy->mdio.dev.fwnode = NULL;
drivers/net/mdio/fwnode_mdio.c
157
rc = fwnode_mdiobus_phy_device_register(bus, phy, child, addr);
drivers/net/mdio/fwnode_mdio.c
162
psec = fwnode_find_pse_control(child, phy);
drivers/net/mdio/fwnode_mdio.c
168
phy->psec = psec;
drivers/net/mdio/fwnode_mdio.c
175
phy->mii_ts = mii_ts;
drivers/net/mdio/fwnode_mdio.c
181
phy_device_remove(phy);
drivers/net/mdio/fwnode_mdio.c
183
phy_device_free(phy);
drivers/net/mdio/fwnode_mdio.c
71
struct phy_device *phy,
drivers/net/mdio/fwnode_mdio.c
81
rc = driver_deferred_probe_check_state(&phy->mdio.dev);
drivers/net/mdio/fwnode_mdio.c
86
phy->irq = rc;
drivers/net/mdio/fwnode_mdio.c
89
phy->irq = mdio->irq[addr];
drivers/net/mdio/fwnode_mdio.c
99
device_set_node(&phy->mdio.dev, child);
drivers/net/mdio/mdio-bitbang.c
124
mdiobb_send_num(ctrl, phy, 5);
drivers/net/mdio/mdio-bitbang.c
133
static void mdiobb_cmd_addr(struct mdiobb_ctrl *ctrl, int phy, int dev_addr,
drivers/net/mdio/mdio-bitbang.c
136
mdiobb_cmd(ctrl, MDIO_C45_ADDR, phy, dev_addr);
drivers/net/mdio/mdio-bitbang.c
148
static int mdiobb_read_common(struct mii_bus *bus, int phy)
drivers/net/mdio/mdio-bitbang.c
159
!(bus->phy_ignore_ta_mask & (1 << phy))) {
drivers/net/mdio/mdio-bitbang.c
174
int mdiobb_read_c22(struct mii_bus *bus, int phy, int reg)
drivers/net/mdio/mdio-bitbang.c
178
mdiobb_cmd(ctrl, ctrl->op_c22_read, phy, reg);
drivers/net/mdio/mdio-bitbang.c
180
return mdiobb_read_common(bus, phy);
drivers/net/mdio/mdio-bitbang.c
184
int mdiobb_read_c45(struct mii_bus *bus, int phy, int devad, int reg)
drivers/net/mdio/mdio-bitbang.c
188
mdiobb_cmd_addr(ctrl, phy, devad, reg);
drivers/net/mdio/mdio-bitbang.c
189
mdiobb_cmd(ctrl, MDIO_C45_READ, phy, devad);
drivers/net/mdio/mdio-bitbang.c
191
return mdiobb_read_common(bus, phy);
drivers/net/mdio/mdio-bitbang.c
210
int mdiobb_write_c22(struct mii_bus *bus, int phy, int reg, u16 val)
drivers/net/mdio/mdio-bitbang.c
214
mdiobb_cmd(ctrl, ctrl->op_c22_write, phy, reg);
drivers/net/mdio/mdio-bitbang.c
220
int mdiobb_write_c45(struct mii_bus *bus, int phy, int devad, int reg, u16 val)
drivers/net/mdio/mdio-bitbang.c
224
mdiobb_cmd_addr(ctrl, phy, devad, reg);
drivers/net/mdio/mdio-bitbang.c
225
mdiobb_cmd(ctrl, MDIO_C45_WRITE, phy, devad);
drivers/net/mdio/mdio-bitbang.c
94
static void mdiobb_cmd(struct mdiobb_ctrl *ctrl, int op, u8 phy, u8 reg)
drivers/net/mdio/of_mdio.c
318
struct phy_device *phy = of_phy_find_device(phy_np);
drivers/net/mdio/of_mdio.c
321
if (!phy)
drivers/net/mdio/of_mdio.c
324
phy->dev_flags |= flags;
drivers/net/mdio/of_mdio.c
326
ret = phy_connect_direct(dev, phy, hndlr, iface);
drivers/net/mdio/of_mdio.c
329
put_device(&phy->mdio.dev);
drivers/net/mdio/of_mdio.c
331
return ret ? NULL : phy;
drivers/net/mdio/of_mdio.c
352
struct phy_device *phy;
drivers/net/mdio/of_mdio.c
37
int of_mdiobus_phy_device_register(struct mii_bus *mdio, struct phy_device *phy,
drivers/net/mdio/of_mdio.c
371
phy = of_phy_connect(dev, phy_np, hndlr, 0, iface);
drivers/net/mdio/of_mdio.c
375
return phy;
drivers/net/mdio/of_mdio.c
40
return fwnode_mdiobus_phy_device_register(mdio, phy,
drivers/net/phy/fixed_phy.c
134
struct phy_device *phy;
drivers/net/phy/fixed_phy.c
153
phy = get_phy_device(fmb_mii_bus, phy_addr, false);
drivers/net/phy/fixed_phy.c
154
if (IS_ERR(phy)) {
drivers/net/phy/fixed_phy.c
160
phy->mdio.dev.of_node = np;
drivers/net/phy/fixed_phy.c
161
phy->is_pseudo_fixed_link = true;
drivers/net/phy/fixed_phy.c
163
ret = phy_device_register(phy);
drivers/net/phy/fixed_phy.c
165
phy_device_free(phy);
drivers/net/phy/fixed_phy.c
171
return phy;
drivers/net/phy/fixed_phy.c
186
void fixed_phy_unregister(struct phy_device *phy)
drivers/net/phy/fixed_phy.c
188
phy_device_remove(phy);
drivers/net/phy/fixed_phy.c
189
of_node_put(phy->mdio.dev.of_node);
drivers/net/phy/fixed_phy.c
190
fixed_phy_del(phy->mdio.addr);
drivers/net/phy/fixed_phy.c
191
phy_device_free(phy);
drivers/net/phy/nxp-tja11xx.c
563
struct phy_device *phy;
drivers/net/phy/nxp-tja11xx.c
586
phy = phy_device_create(bus, addr, PHY_ID_TJA1102, false, NULL);
drivers/net/phy/nxp-tja11xx.c
587
if (IS_ERR(phy)) {
drivers/net/phy/nxp-tja11xx.c
596
phy->mdio.dev.parent = dev;
drivers/net/phy/nxp-tja11xx.c
598
ret = of_mdiobus_phy_device_register(bus, phy, child, addr);
drivers/net/phy/nxp-tja11xx.c
607
phy_device_free(phy);
drivers/net/phy/phy.c
226
unsigned int phy_supported_speeds(struct phy_device *phy,
drivers/net/phy/phy.c
230
return phy_caps_speeds(speeds, size, phy->supported);
drivers/net/phy/phy_device.c
1481
static int phy_sfp_connect_phy(void *upstream, struct phy_device *phy)
drivers/net/phy/phy_device.c
1487
return phy_link_topo_add_phy(dev, phy, PHY_UPSTREAM_PHY, phydev);
drivers/net/phy/phy_device.c
1502
static void phy_sfp_disconnect_phy(void *upstream, struct phy_device *phy)
drivers/net/phy/phy_device.c
1508
phy_link_topo_del_phy(dev, phy);
drivers/net/phy/phy_device.c
1677
port->phy = phydev;
drivers/net/phy/phy_device.c
3445
port->phy = phydev;
drivers/net/phy/phy_device.c
3496
port->phy = phydev;
drivers/net/phy/phy_led_triggers.c
10
static struct phy_led_trigger *phy_speed_to_led_trigger(struct phy_device *phy,
drivers/net/phy/phy_led_triggers.c
102
err = phy_led_trigger_register(phy, phy->led_link_trigger, 0, "link");
drivers/net/phy/phy_led_triggers.c
106
phy->phy_led_triggers = kzalloc_objs(struct phy_led_trigger,
drivers/net/phy/phy_led_triggers.c
107
phy->phy_num_led_triggers);
drivers/net/phy/phy_led_triggers.c
108
if (!phy->phy_led_triggers) {
drivers/net/phy/phy_led_triggers.c
113
for (i = 0; i < phy->phy_num_led_triggers; i++) {
drivers/net/phy/phy_led_triggers.c
114
err = phy_led_trigger_register(phy, &phy->phy_led_triggers[i],
drivers/net/phy/phy_led_triggers.c
121
phy->last_triggered = NULL;
drivers/net/phy/phy_led_triggers.c
122
phy_led_trigger_change_speed(phy);
drivers/net/phy/phy_led_triggers.c
127
phy_led_trigger_unregister(&phy->phy_led_triggers[i]);
drivers/net/phy/phy_led_triggers.c
128
kfree(phy->phy_led_triggers);
drivers/net/phy/phy_led_triggers.c
130
phy_led_trigger_unregister(phy->led_link_trigger);
drivers/net/phy/phy_led_triggers.c
132
kfree(phy->led_link_trigger);
drivers/net/phy/phy_led_triggers.c
133
phy->led_link_trigger = NULL;
drivers/net/phy/phy_led_triggers.c
135
phy->phy_num_led_triggers = 0;
drivers/net/phy/phy_led_triggers.c
140
void phy_led_triggers_unregister(struct phy_device *phy)
drivers/net/phy/phy_led_triggers.c
144
for (i = 0; i < phy->phy_num_led_triggers; i++)
drivers/net/phy/phy_led_triggers.c
145
phy_led_trigger_unregister(&phy->phy_led_triggers[i]);
drivers/net/phy/phy_led_triggers.c
146
kfree(phy->phy_led_triggers);
drivers/net/phy/phy_led_triggers.c
147
phy->phy_led_triggers = NULL;
drivers/net/phy/phy_led_triggers.c
149
if (phy->led_link_trigger) {
drivers/net/phy/phy_led_triggers.c
15
for (i = 0; i < phy->phy_num_led_triggers; i++) {
drivers/net/phy/phy_led_triggers.c
150
phy_led_trigger_unregister(phy->led_link_trigger);
drivers/net/phy/phy_led_triggers.c
151
kfree(phy->led_link_trigger);
drivers/net/phy/phy_led_triggers.c
152
phy->led_link_trigger = NULL;
drivers/net/phy/phy_led_triggers.c
16
if (phy->phy_led_triggers[i].speed == speed)
drivers/net/phy/phy_led_triggers.c
17
return &phy->phy_led_triggers[i];
drivers/net/phy/phy_led_triggers.c
22
static void phy_led_trigger_no_link(struct phy_device *phy)
drivers/net/phy/phy_led_triggers.c
24
if (phy->last_triggered) {
drivers/net/phy/phy_led_triggers.c
25
led_trigger_event(&phy->last_triggered->trigger, LED_OFF);
drivers/net/phy/phy_led_triggers.c
26
led_trigger_event(&phy->led_link_trigger->trigger, LED_OFF);
drivers/net/phy/phy_led_triggers.c
27
phy->last_triggered = NULL;
drivers/net/phy/phy_led_triggers.c
31
void phy_led_trigger_change_speed(struct phy_device *phy)
drivers/net/phy/phy_led_triggers.c
35
if (!phy->link)
drivers/net/phy/phy_led_triggers.c
36
return phy_led_trigger_no_link(phy);
drivers/net/phy/phy_led_triggers.c
38
if (phy->speed == 0)
drivers/net/phy/phy_led_triggers.c
41
plt = phy_speed_to_led_trigger(phy, phy->speed);
drivers/net/phy/phy_led_triggers.c
43
netdev_alert(phy->attached_dev,
drivers/net/phy/phy_led_triggers.c
45
phy->speed);
drivers/net/phy/phy_led_triggers.c
46
return phy_led_trigger_no_link(phy);
drivers/net/phy/phy_led_triggers.c
49
if (plt != phy->last_triggered) {
drivers/net/phy/phy_led_triggers.c
50
if (!phy->last_triggered)
drivers/net/phy/phy_led_triggers.c
51
led_trigger_event(&phy->led_link_trigger->trigger,
drivers/net/phy/phy_led_triggers.c
54
led_trigger_event(&phy->last_triggered->trigger, LED_OFF);
drivers/net/phy/phy_led_triggers.c
57
phy->last_triggered = plt;
drivers/net/phy/phy_led_triggers.c
62
static void phy_led_trigger_format_name(struct phy_device *phy, char *buf,
drivers/net/phy/phy_led_triggers.c
66
phy->mdio.bus->id, phy->mdio.addr, suffix);
drivers/net/phy/phy_led_triggers.c
69
static int phy_led_trigger_register(struct phy_device *phy,
drivers/net/phy/phy_led_triggers.c
75
phy_led_trigger_format_name(phy, plt->name, sizeof(plt->name), suffix);
drivers/net/phy/phy_led_triggers.c
86
int phy_led_triggers_register(struct phy_device *phy)
drivers/net/phy/phy_led_triggers.c
91
phy->phy_num_led_triggers = phy_supported_speeds(phy, speeds,
drivers/net/phy/phy_led_triggers.c
93
if (!phy->phy_num_led_triggers)
drivers/net/phy/phy_led_triggers.c
96
phy->led_link_trigger = kzalloc_obj(*phy->led_link_trigger);
drivers/net/phy/phy_led_triggers.c
97
if (!phy->led_link_trigger) {
drivers/net/phy/phy_link_topology.c
31
struct phy_device *phy,
drivers/net/phy/phy_link_topology.c
50
pdn->phy = phy;
drivers/net/phy/phy_link_topology.c
54
if (phy_on_sfp(phy))
drivers/net/phy/phy_link_topology.c
59
if (phy_on_sfp(phy))
drivers/net/phy/phy_link_topology.c
69
if (phy->phyindex)
drivers/net/phy/phy_link_topology.c
70
ret = xa_insert(&topo->phys, phy->phyindex, pdn, GFP_KERNEL);
drivers/net/phy/phy_link_topology.c
72
ret = xa_alloc_cyclic(&topo->phys, &phy->phyindex, pdn,
drivers/net/phy/phy_link_topology.c
88
struct phy_device *phy)
drivers/net/phy/phy_link_topology.c
96
pdn = xa_erase(&topo->phys, phy->phyindex);
drivers/net/phy/phylib-internal.h
14
unsigned int phy_supported_speeds(struct phy_device *phy,
drivers/net/phy/phylink.c
1450
struct phy_device *phy = pl->phydev;
drivers/net/phy/phylink.c
1474
if (phy)
drivers/net/phy/phylink.c
1475
mutex_lock(&phy->lock);
drivers/net/phy/phylink.c
1477
if (phy)
drivers/net/phy/phylink.c
1478
mutex_unlock(&phy->lock);
drivers/net/phy/phylink.c
1614
struct phy_device *phy;
drivers/net/phy/phylink.c
1618
phy = pl->phydev;
drivers/net/phy/phylink.c
1619
if (phy)
drivers/net/phy/phylink.c
1620
mutex_lock(&phy->lock);
drivers/net/phy/phylink.c
1654
if (phy)
drivers/net/phy/phylink.c
1658
if (phy && pl->phy_state.link) {
drivers/net/phy/phylink.c
1722
if (phy)
drivers/net/phy/phylink.c
1723
mutex_unlock(&phy->lock);
drivers/net/phy/phylink.c
2007
static int phylink_validate_phy(struct phylink *pl, struct phy_device *phy,
drivers/net/phy/phylink.c
2017
if (!phy_interface_empty(phy->possible_interfaces)) {
drivers/net/phy/phylink.c
2021
phy_interface_and(interfaces, phy->possible_interfaces,
drivers/net/phy/phylink.c
2029
if (phy_on_sfp(phy)) {
drivers/net/phy/phylink.c
2043
phydev_name(phy),
drivers/net/phy/phylink.c
2045
phy->possible_interfaces,
drivers/net/phy/phylink.c
2048
return phylink_validate_mask(pl, phy, supported, state,
drivers/net/phy/phylink.c
2053
phydev_name(phy));
drivers/net/phy/phylink.c
2058
state->rate_matching = phy_get_rate_matching(phy, state->interface);
drivers/net/phy/phylink.c
2071
if (phy->is_c45 && state->rate_matching == RATE_MATCH_NONE &&
drivers/net/phy/phylink.c
2080
static int phylink_bringup_phy(struct phylink *pl, struct phy_device *phy,
drivers/net/phy/phylink.c
2095
phy_support_asym_pause(phy);
drivers/net/phy/phylink.c
2098
linkmode_copy(supported, phy->supported);
drivers/net/phy/phylink.c
2099
linkmode_copy(config.advertising, phy->advertising);
drivers/net/phy/phylink.c
2102
ret = phylink_validate_phy(pl, phy, supported, &config);
drivers/net/phy/phylink.c
2106
__ETHTOOL_LINK_MODE_MASK_NBITS, phy->supported,
drivers/net/phy/phylink.c
2112
phy->phylink = pl;
drivers/net/phy/phylink.c
2113
phy->phy_link_change = phylink_phy_change;
drivers/net/phy/phylink.c
2115
irq_str = phy_attached_info_irq(phy);
drivers/net/phy/phylink.c
2118
dev_name(&phy->mdio.dev), phy->drv->name, irq_str);
drivers/net/phy/phylink.c
2122
mutex_lock(&phy->lock);
drivers/net/phy/phylink.c
2124
pl->phydev = phy;
drivers/net/phy/phylink.c
2134
linkmode_copy(phy->advertising, config.advertising);
drivers/net/phy/phylink.c
2145
phy_support_eee(phy);
drivers/net/phy/phylink.c
2147
phy->eee_cfg.tx_lpi_enabled = pl->eee_cfg.tx_lpi_enabled;
drivers/net/phy/phylink.c
2148
phy->eee_cfg.tx_lpi_timer = pl->eee_cfg.tx_lpi_timer;
drivers/net/phy/phylink.c
2158
linkmode_and(phy->advertising_eee, phy->advertising_eee,
drivers/net/phy/phylink.c
2162
phy_disable_eee(phy);
drivers/net/phy/phylink.c
2166
mutex_unlock(&phy->lock);
drivers/net/phy/phylink.c
2173
__ETHTOOL_LINK_MODE_MASK_NBITS, phy->advertising);
drivers/net/phy/phylink.c
2176
phy->mac_managed_pm = true;
drivers/net/phy/phylink.c
2179
pl->mac_tx_clk_stop = phy_eee_tx_clock_stop_capable(phy) > 0;
drivers/net/phy/phylink.c
2185
ret = phy_eee_rx_clock_stop(phy,
drivers/net/phy/phylink.c
2191
if (ret == 0 && phy_interrupt_is_valid(phy))
drivers/net/phy/phylink.c
2192
phy_request_interrupt(phy);
drivers/net/phy/phylink.c
2197
static int phylink_attach_phy(struct phylink *pl, struct phy_device *phy,
drivers/net/phy/phylink.c
2213
return phy_attach_direct(pl->netdev, phy, flags, interface);
drivers/net/phy/phylink.c
2231
int phylink_connect_phy(struct phylink *pl, struct phy_device *phy)
drivers/net/phy/phylink.c
2237
pl->link_interface = phy->interface;
drivers/net/phy/phylink.c
2241
ret = phylink_attach_phy(pl, phy, pl->link_interface);
drivers/net/phy/phylink.c
2245
ret = phylink_bringup_phy(pl, phy, pl->link_config.interface);
drivers/net/phy/phylink.c
2247
phy_detach(phy);
drivers/net/phy/phylink.c
2342
struct phy_device *phy;
drivers/net/phy/phylink.c
2347
phy = pl->phydev;
drivers/net/phy/phylink.c
2348
if (phy) {
drivers/net/phy/phylink.c
2349
mutex_lock(&phy->lock);
drivers/net/phy/phylink.c
2355
mutex_unlock(&phy->lock);
drivers/net/phy/phylink.c
2359
if (phy) {
drivers/net/phy/phylink.c
2361
phy_disconnect(phy);
drivers/net/phy/phylink.c
3698
static int phylink_sfp_config_phy(struct phylink *pl, struct phy_device *phy)
drivers/net/phy/phylink.c
3706
linkmode_copy(support, phy->supported);
drivers/net/phy/phylink.c
3709
linkmode_copy(config.advertising, phy->advertising);
drivers/net/phy/phylink.c
3731
ret = phylink_attach_phy(pl, phy, config.interface);
drivers/net/phy/phylink.c
3736
ret = phylink_bringup_phy(pl, phy, config.interface);
drivers/net/phy/phylink.c
3738
phy_detach(phy);
drivers/net/phy/phylink.c
3915
static int phylink_sfp_connect_phy(void *upstream, struct phy_device *phy)
drivers/net/phy/phylink.c
3919
if (!phy->drv) {
drivers/net/phy/phylink.c
3921
phydev_name(phy), (unsigned long)phy->phy_id);
drivers/net/phy/phylink.c
3933
phy_support_asym_pause(phy);
drivers/net/phy/phylink.c
3936
phy_interface_and(phy->host_interfaces, phylink_sfp_interfaces,
drivers/net/phy/phylink.c
3940
return phylink_sfp_config_phy(pl, phy);
drivers/net/phy/phylink.c
580
static void phylink_validate_one(struct phylink *pl, struct phy_device *phy,
drivers/net/phy/phylink.c
595
if (phy)
drivers/net/phy/phylink.c
596
tmp_state.rate_matching = phy_get_rate_matching(phy, interface);
drivers/net/phy/phylink.c
610
static int phylink_validate_mask(struct phylink *pl, struct phy_device *phy,
drivers/net/phy/phylink.c
620
phylink_validate_one(pl, phy, supported, state, interface,
drivers/net/phy/qcom/qca807x.c
120
struct phy_device *phy;
drivers/net/phy/qcom/qca807x.c
376
val = phy_read_mmd(priv->phy, MDIO_MMD_AN, reg);
drivers/net/phy/qcom/qca807x.c
389
val = phy_read_mmd(priv->phy, MDIO_MMD_AN, reg);
drivers/net/phy/qcom/qca807x.c
397
return phy_write_mmd(priv->phy, MDIO_MMD_AN, reg, val);
drivers/net/phy/qcom/qca807x.c
415
priv->phy = phydev;
drivers/net/phy/sfp.c
1903
struct phy_device *phy;
drivers/net/phy/sfp.c
1906
phy = get_phy_device(sfp->i2c_mii, addr, is_c45);
drivers/net/phy/sfp.c
1907
if (phy == ERR_PTR(-ENODEV))
drivers/net/phy/sfp.c
1908
return PTR_ERR(phy);
drivers/net/phy/sfp.c
1909
if (IS_ERR(phy)) {
drivers/net/phy/sfp.c
1910
dev_err(sfp->dev, "mdiobus scan returned %pe\n", phy);
drivers/net/phy/sfp.c
1911
return PTR_ERR(phy);
drivers/net/phy/sfp.c
1915
phy->is_on_sfp_module = true;
drivers/net/phy/sfp.c
1917
err = phy_device_register(phy);
drivers/net/phy/sfp.c
1919
phy_device_free(phy);
drivers/net/phy/sfp.c
1925
err = sfp_add_phy(sfp->sfp_bus, phy);
drivers/net/phy/sfp.c
1927
phy_device_remove(phy);
drivers/net/phy/sfp.c
1928
phy_device_free(phy);
drivers/net/phy/sfp.c
1933
sfp->mod_phy = phy;
drivers/net/sungem_phy.c
104
static int bcm5201_suspend(struct mii_phy* phy)
drivers/net/sungem_phy.c
106
sungem_phy_write(phy, MII_BCM5201_INTERRUPT, 0);
drivers/net/sungem_phy.c
107
sungem_phy_write(phy, MII_BCM5201_MULTIPHY, MII_BCM5201_MULTIPHY_SUPERISOLATE);
drivers/net/sungem_phy.c
112
static int bcm5221_init(struct mii_phy* phy)
drivers/net/sungem_phy.c
116
data = sungem_phy_read(phy, MII_BCM5221_TEST);
drivers/net/sungem_phy.c
1160
int sungem_phy_probe(struct mii_phy *phy, int mii_id)
drivers/net/sungem_phy.c
117
sungem_phy_write(phy, MII_BCM5221_TEST,
drivers/net/sungem_phy.c
1170
phy->mii_id = mii_id;
drivers/net/sungem_phy.c
1173
rc = reset_one_mii_phy(phy, mii_id);
drivers/net/sungem_phy.c
1178
id = (sungem_phy_read(phy, MII_PHYSID1) << 16 | sungem_phy_read(phy, MII_PHYSID2));
drivers/net/sungem_phy.c
1188
phy->def = def;
drivers/net/sungem_phy.c
1192
phy->speed = 0;
drivers/net/sungem_phy.c
1193
phy->duplex = 0;
drivers/net/sungem_phy.c
1194
phy->pause = 0;
drivers/net/sungem_phy.c
1195
phy->advertising = 0;
drivers/net/sungem_phy.c
120
data = sungem_phy_read(phy, MII_BCM5221_SHDOW_AUX_STAT2);
drivers/net/sungem_phy.c
121
sungem_phy_write(phy, MII_BCM5221_SHDOW_AUX_STAT2,
drivers/net/sungem_phy.c
124
data = sungem_phy_read(phy, MII_BCM5221_SHDOW_AUX_MODE4);
drivers/net/sungem_phy.c
125
sungem_phy_write(phy, MII_BCM5221_SHDOW_AUX_MODE4,
drivers/net/sungem_phy.c
128
data = sungem_phy_read(phy, MII_BCM5221_TEST);
drivers/net/sungem_phy.c
129
sungem_phy_write(phy, MII_BCM5221_TEST,
drivers/net/sungem_phy.c
135
static int bcm5221_suspend(struct mii_phy* phy)
drivers/net/sungem_phy.c
139
data = sungem_phy_read(phy, MII_BCM5221_TEST);
drivers/net/sungem_phy.c
140
sungem_phy_write(phy, MII_BCM5221_TEST,
drivers/net/sungem_phy.c
143
data = sungem_phy_read(phy, MII_BCM5221_SHDOW_AUX_MODE4);
drivers/net/sungem_phy.c
144
sungem_phy_write(phy, MII_BCM5221_SHDOW_AUX_MODE4,
drivers/net/sungem_phy.c
150
static int bcm5241_init(struct mii_phy* phy)
drivers/net/sungem_phy.c
154
data = sungem_phy_read(phy, MII_BCM5221_TEST);
drivers/net/sungem_phy.c
155
sungem_phy_write(phy, MII_BCM5221_TEST,
drivers/net/sungem_phy.c
158
data = sungem_phy_read(phy, MII_BCM5221_SHDOW_AUX_STAT2);
drivers/net/sungem_phy.c
159
sungem_phy_write(phy, MII_BCM5221_SHDOW_AUX_STAT2,
drivers/net/sungem_phy.c
162
data = sungem_phy_read(phy, MII_BCM5221_SHDOW_AUX_MODE4);
drivers/net/sungem_phy.c
163
sungem_phy_write(phy, MII_BCM5221_SHDOW_AUX_MODE4,
drivers/net/sungem_phy.c
166
data = sungem_phy_read(phy, MII_BCM5221_TEST);
drivers/net/sungem_phy.c
167
sungem_phy_write(phy, MII_BCM5221_TEST,
drivers/net/sungem_phy.c
173
static int bcm5241_suspend(struct mii_phy* phy)
drivers/net/sungem_phy.c
177
data = sungem_phy_read(phy, MII_BCM5221_TEST);
drivers/net/sungem_phy.c
178
sungem_phy_write(phy, MII_BCM5221_TEST,
drivers/net/sungem_phy.c
181
data = sungem_phy_read(phy, MII_BCM5221_SHDOW_AUX_MODE4);
drivers/net/sungem_phy.c
182
sungem_phy_write(phy, MII_BCM5221_SHDOW_AUX_MODE4,
drivers/net/sungem_phy.c
188
static int bcm5400_init(struct mii_phy* phy)
drivers/net/sungem_phy.c
193
data = sungem_phy_read(phy, MII_BCM5400_AUXCONTROL);
drivers/net/sungem_phy.c
195
sungem_phy_write(phy, MII_BCM5400_AUXCONTROL, data);
drivers/net/sungem_phy.c
197
data = sungem_phy_read(phy, MII_BCM5400_GB_CONTROL);
drivers/net/sungem_phy.c
199
sungem_phy_write(phy, MII_BCM5400_GB_CONTROL, data);
drivers/net/sungem_phy.c
204
(void)reset_one_mii_phy(phy, 0x1f);
drivers/net/sungem_phy.c
206
data = __sungem_phy_read(phy, 0x1f, MII_BCM5201_MULTIPHY);
drivers/net/sungem_phy.c
208
__sungem_phy_write(phy, 0x1f, MII_BCM5201_MULTIPHY, data);
drivers/net/sungem_phy.c
210
data = sungem_phy_read(phy, MII_BCM5400_AUXCONTROL);
drivers/net/sungem_phy.c
212
sungem_phy_write(phy, MII_BCM5400_AUXCONTROL, data);
drivers/net/sungem_phy.c
217
static int bcm5400_suspend(struct mii_phy* phy)
drivers/net/sungem_phy.c
220
sungem_phy_write(phy, MII_BMCR, BMCR_PDOWN);
drivers/net/sungem_phy.c
225
static int bcm5401_init(struct mii_phy* phy)
drivers/net/sungem_phy.c
230
rev = sungem_phy_read(phy, MII_PHYSID2) & 0x000f;
drivers/net/sungem_phy.c
243
sungem_phy_write(phy, 0x18, 0x0c20);
drivers/net/sungem_phy.c
244
sungem_phy_write(phy, 0x17, 0x0012);
drivers/net/sungem_phy.c
245
sungem_phy_write(phy, 0x15, 0x1804);
drivers/net/sungem_phy.c
246
sungem_phy_write(phy, 0x17, 0x0013);
drivers/net/sungem_phy.c
247
sungem_phy_write(phy, 0x15, 0x1204);
drivers/net/sungem_phy.c
248
sungem_phy_write(phy, 0x17, 0x8006);
drivers/net/sungem_phy.c
249
sungem_phy_write(phy, 0x15, 0x0132);
drivers/net/sungem_phy.c
250
sungem_phy_write(phy, 0x17, 0x8006);
drivers/net/sungem_phy.c
251
sungem_phy_write(phy, 0x15, 0x0232);
drivers/net/sungem_phy.c
252
sungem_phy_write(phy, 0x17, 0x201f);
drivers/net/sungem_phy.c
253
sungem_phy_write(phy, 0x15, 0x0a20);
drivers/net/sungem_phy.c
257
data = sungem_phy_read(phy, MII_BCM5400_GB_CONTROL);
drivers/net/sungem_phy.c
259
sungem_phy_write(phy, MII_BCM5400_GB_CONTROL, data);
drivers/net/sungem_phy.c
264
(void)reset_one_mii_phy(phy, 0x1f);
drivers/net/sungem_phy.c
266
data = __sungem_phy_read(phy, 0x1f, MII_BCM5201_MULTIPHY);
drivers/net/sungem_phy.c
268
__sungem_phy_write(phy, 0x1f, MII_BCM5201_MULTIPHY, data);
drivers/net/sungem_phy.c
273
static int bcm5401_suspend(struct mii_phy* phy)
drivers/net/sungem_phy.c
276
sungem_phy_write(phy, MII_BMCR, BMCR_PDOWN);
drivers/net/sungem_phy.c
281
static int bcm5411_init(struct mii_phy* phy)
drivers/net/sungem_phy.c
288
sungem_phy_write(phy, 0x1c, 0x8c23);
drivers/net/sungem_phy.c
289
sungem_phy_write(phy, 0x1c, 0x8ca3);
drivers/net/sungem_phy.c
290
sungem_phy_write(phy, 0x1c, 0x8c23);
drivers/net/sungem_phy.c
295
sungem_phy_write(phy, MII_BMCR, BMCR_RESET);
drivers/net/sungem_phy.c
296
sungem_phy_write(phy, MII_BMCR, 0x1340);
drivers/net/sungem_phy.c
298
data = sungem_phy_read(phy, MII_BCM5400_GB_CONTROL);
drivers/net/sungem_phy.c
300
sungem_phy_write(phy, MII_BCM5400_GB_CONTROL, data);
drivers/net/sungem_phy.c
305
(void)reset_one_mii_phy(phy, 0x1f);
drivers/net/sungem_phy.c
310
static int genmii_setup_aneg(struct mii_phy *phy, u32 advertise)
drivers/net/sungem_phy.c
314
phy->autoneg = 1;
drivers/net/sungem_phy.c
315
phy->speed = SPEED_10;
drivers/net/sungem_phy.c
316
phy->duplex = DUPLEX_HALF;
drivers/net/sungem_phy.c
317
phy->pause = 0;
drivers/net/sungem_phy.c
318
phy->advertising = advertise;
drivers/net/sungem_phy.c
321
adv = sungem_phy_read(phy, MII_ADVERTISE);
drivers/net/sungem_phy.c
331
sungem_phy_write(phy, MII_ADVERTISE, adv);
drivers/net/sungem_phy.c
334
ctl = sungem_phy_read(phy, MII_BMCR);
drivers/net/sungem_phy.c
336
sungem_phy_write(phy, MII_BMCR, ctl);
drivers/net/sungem_phy.c
341
static int genmii_setup_forced(struct mii_phy *phy, int speed, int fd)
drivers/net/sungem_phy.c
345
phy->autoneg = 0;
drivers/net/sungem_phy.c
346
phy->speed = speed;
drivers/net/sungem_phy.c
347
phy->duplex = fd;
drivers/net/sungem_phy.c
348
phy->pause = 0;
drivers/net/sungem_phy.c
350
ctl = sungem_phy_read(phy, MII_BMCR);
drivers/net/sungem_phy.c
354
sungem_phy_write(phy, MII_BMCR, ctl | BMCR_RESET);
drivers/net/sungem_phy.c
369
sungem_phy_write(phy, MII_BMCR, ctl);
drivers/net/sungem_phy.c
374
static int genmii_poll_link(struct mii_phy *phy)
drivers/net/sungem_phy.c
378
(void)sungem_phy_read(phy, MII_BMSR);
drivers/net/sungem_phy.c
379
status = sungem_phy_read(phy, MII_BMSR);
drivers/net/sungem_phy.c
382
if (phy->autoneg && !(status & BMSR_ANEGCOMPLETE))
drivers/net/sungem_phy.c
387
static int genmii_read_link(struct mii_phy *phy)
drivers/net/sungem_phy.c
391
if (phy->autoneg) {
drivers/net/sungem_phy.c
392
lpa = sungem_phy_read(phy, MII_LPA);
drivers/net/sungem_phy.c
395
phy->duplex = DUPLEX_FULL;
drivers/net/sungem_phy.c
397
phy->duplex = DUPLEX_HALF;
drivers/net/sungem_phy.c
399
phy->speed = SPEED_100;
drivers/net/sungem_phy.c
401
phy->speed = SPEED_10;
drivers/net/sungem_phy.c
402
phy->pause = 0;
drivers/net/sungem_phy.c
411
static int generic_suspend(struct mii_phy* phy)
drivers/net/sungem_phy.c
413
sungem_phy_write(phy, MII_BMCR, BMCR_PDOWN);
drivers/net/sungem_phy.c
418
static int bcm5421_init(struct mii_phy* phy)
drivers/net/sungem_phy.c
423
id = (sungem_phy_read(phy, MII_PHYSID1) << 16 | sungem_phy_read(phy, MII_PHYSID2));
drivers/net/sungem_phy.c
429
sungem_phy_write(phy, 0x18, 0x1007);
drivers/net/sungem_phy.c
430
data = sungem_phy_read(phy, 0x18);
drivers/net/sungem_phy.c
431
sungem_phy_write(phy, 0x18, data | 0x0400);
drivers/net/sungem_phy.c
432
sungem_phy_write(phy, 0x18, 0x0007);
drivers/net/sungem_phy.c
433
data = sungem_phy_read(phy, 0x18);
drivers/net/sungem_phy.c
434
sungem_phy_write(phy, 0x18, data | 0x0800);
drivers/net/sungem_phy.c
435
sungem_phy_write(phy, 0x17, 0x000a);
drivers/net/sungem_phy.c
436
data = sungem_phy_read(phy, 0x15);
drivers/net/sungem_phy.c
437
sungem_phy_write(phy, 0x15, data | 0x0200);
drivers/net/sungem_phy.c
442
sungem_phy_write(phy, 4, 0x01e1);
drivers/net/sungem_phy.c
443
sungem_phy_write(phy, 9, 0x0300);
drivers/net/sungem_phy.c
448
if (phy->platform_data) {
drivers/net/sungem_phy.c
449
struct device_node *np = of_get_parent(phy->platform_data);
drivers/net/sungem_phy.c
456
sungem_phy_write(phy, 0x1c, 0x9002);
drivers/net/sungem_phy.c
457
sungem_phy_write(phy, 0x1c, 0xa821);
drivers/net/sungem_phy.c
458
sungem_phy_write(phy, 0x1c, 0x941d);
drivers/net/sungem_phy.c
466
static int bcm54xx_setup_aneg(struct mii_phy *phy, u32 advertise)
drivers/net/sungem_phy.c
47
static inline int __sungem_phy_read(struct mii_phy* phy, int id, int reg)
drivers/net/sungem_phy.c
470
phy->autoneg = 1;
drivers/net/sungem_phy.c
471
phy->speed = SPEED_10;
drivers/net/sungem_phy.c
472
phy->duplex = DUPLEX_HALF;
drivers/net/sungem_phy.c
473
phy->pause = 0;
drivers/net/sungem_phy.c
474
phy->advertising = advertise;
drivers/net/sungem_phy.c
477
adv = sungem_phy_read(phy, MII_ADVERTISE);
drivers/net/sungem_phy.c
49
return phy->mdio_read(phy->dev, id, reg);
drivers/net/sungem_phy.c
491
sungem_phy_write(phy, MII_ADVERTISE, adv);
drivers/net/sungem_phy.c
494
adv = sungem_phy_read(phy, MII_1000BASETCONTROL);
drivers/net/sungem_phy.c
500
sungem_phy_write(phy, MII_1000BASETCONTROL, adv);
drivers/net/sungem_phy.c
503
ctl = sungem_phy_read(phy, MII_BMCR);
drivers/net/sungem_phy.c
505
sungem_phy_write(phy, MII_BMCR, ctl);
drivers/net/sungem_phy.c
510
static int bcm54xx_setup_forced(struct mii_phy *phy, int speed, int fd)
drivers/net/sungem_phy.c
514
phy->autoneg = 0;
drivers/net/sungem_phy.c
515
phy->speed = speed;
drivers/net/sungem_phy.c
516
phy->duplex = fd;
drivers/net/sungem_phy.c
517
phy->pause = 0;
drivers/net/sungem_phy.c
519
ctl = sungem_phy_read(phy, MII_BMCR);
drivers/net/sungem_phy.c
52
static inline void __sungem_phy_write(struct mii_phy* phy, int id, int reg, int val)
drivers/net/sungem_phy.c
523
sungem_phy_write(phy, MII_BMCR, ctl | BMCR_RESET);
drivers/net/sungem_phy.c
54
phy->mdio_write(phy->dev, id, reg, val);
drivers/net/sungem_phy.c
540
sungem_phy_write(phy, MII_BMCR, ctl);
drivers/net/sungem_phy.c
545
static int bcm54xx_read_link(struct mii_phy *phy)
drivers/net/sungem_phy.c
550
if (phy->autoneg) {
drivers/net/sungem_phy.c
551
val = sungem_phy_read(phy, MII_BCM5400_AUXSTATUS);
drivers/net/sungem_phy.c
554
phy->duplex = phy_BCM5400_link_table[link_mode][0] ?
drivers/net/sungem_phy.c
556
phy->speed = phy_BCM5400_link_table[link_mode][2] ?
drivers/net/sungem_phy.c
560
val = sungem_phy_read(phy, MII_LPA);
drivers/net/sungem_phy.c
561
phy->pause = (phy->duplex == DUPLEX_FULL) &&
drivers/net/sungem_phy.c
57
static inline int sungem_phy_read(struct mii_phy* phy, int reg)
drivers/net/sungem_phy.c
571
static int marvell88e1111_init(struct mii_phy* phy)
drivers/net/sungem_phy.c
576
rev = sungem_phy_read(phy, MII_PHYSID2) & 0x000f;
drivers/net/sungem_phy.c
578
sungem_phy_write(phy, 0x1d, 0x000a);
drivers/net/sungem_phy.c
579
sungem_phy_write(phy, 0x1e, 0x0821);
drivers/net/sungem_phy.c
581
sungem_phy_write(phy, 0x1d, 0x0006);
drivers/net/sungem_phy.c
582
sungem_phy_write(phy, 0x1e, 0x8600);
drivers/net/sungem_phy.c
584
sungem_phy_write(phy, 0x1d, 0x000b);
drivers/net/sungem_phy.c
585
sungem_phy_write(phy, 0x1e, 0x0100);
drivers/net/sungem_phy.c
587
sungem_phy_write(phy, 0x1d, 0x0004);
drivers/net/sungem_phy.c
588
sungem_phy_write(phy, 0x1e, 0x4850);
drivers/net/sungem_phy.c
59
return phy->mdio_read(phy->dev, phy->mii_id, reg);
drivers/net/sungem_phy.c
595
static int bcm5421_poll_link(struct mii_phy* phy)
drivers/net/sungem_phy.c
601
sungem_phy_write(phy, MII_NCONFIG, 0x1000);
drivers/net/sungem_phy.c
602
phy_reg = sungem_phy_read(phy, MII_NCONFIG);
drivers/net/sungem_phy.c
607
return genmii_poll_link(phy);
drivers/net/sungem_phy.c
610
sungem_phy_write(phy, MII_NCONFIG, 0x2000);
drivers/net/sungem_phy.c
611
phy_reg = sungem_phy_read(phy, MII_NCONFIG);
drivers/net/sungem_phy.c
619
static int bcm5421_read_link(struct mii_phy* phy)
drivers/net/sungem_phy.c
62
static inline void sungem_phy_write(struct mii_phy* phy, int reg, int val)
drivers/net/sungem_phy.c
625
sungem_phy_write(phy, MII_NCONFIG, 0x1000);
drivers/net/sungem_phy.c
626
phy_reg = sungem_phy_read(phy, MII_NCONFIG);
drivers/net/sungem_phy.c
631
return bcm54xx_read_link(phy);
drivers/net/sungem_phy.c
633
phy->speed = SPEED_1000;
drivers/net/sungem_phy.c
636
sungem_phy_write(phy, MII_NCONFIG, 0x2000);
drivers/net/sungem_phy.c
637
phy_reg = sungem_phy_read(phy, MII_NCONFIG);
drivers/net/sungem_phy.c
64
phy->mdio_write(phy->dev, phy->mii_id, reg, val);
drivers/net/sungem_phy.c
640
phy->duplex |= DUPLEX_HALF;
drivers/net/sungem_phy.c
642
phy->duplex |= DUPLEX_FULL;
drivers/net/sungem_phy.c
647
static int bcm5421_enable_fiber(struct mii_phy* phy, int autoneg)
drivers/net/sungem_phy.c
650
sungem_phy_write(phy, MII_NCONFIG, 0x9020);
drivers/net/sungem_phy.c
652
sungem_phy_write(phy, MII_NCONFIG, 0x945f);
drivers/net/sungem_phy.c
656
sungem_phy_write(phy, MII_NCONFIG, 0xfc01);
drivers/net/sungem_phy.c
657
sungem_phy_write(phy, 0x0b, 0x0004);
drivers/net/sungem_phy.c
660
phy->autoneg = autoneg;
drivers/net/sungem_phy.c
668
static int bcm5461_poll_link(struct mii_phy* phy)
drivers/net/sungem_phy.c
67
static int reset_one_mii_phy(struct mii_phy* phy, int phy_id)
drivers/net/sungem_phy.c
674
sungem_phy_write(phy, MII_NCONFIG, 0x7c00);
drivers/net/sungem_phy.c
675
phy_reg = sungem_phy_read(phy, MII_NCONFIG);
drivers/net/sungem_phy.c
680
return genmii_poll_link(phy);
drivers/net/sungem_phy.c
683
sungem_phy_write(phy, MII_NCONFIG, 0x7000);
drivers/net/sungem_phy.c
684
phy_reg = sungem_phy_read(phy, MII_NCONFIG);
drivers/net/sungem_phy.c
694
static int bcm5461_read_link(struct mii_phy* phy)
drivers/net/sungem_phy.c
700
sungem_phy_write(phy, MII_NCONFIG, 0x7c00);
drivers/net/sungem_phy.c
701
phy_reg = sungem_phy_read(phy, MII_NCONFIG);
drivers/net/sungem_phy.c
706
return bcm54xx_read_link(phy);
drivers/net/sungem_phy.c
709
phy->speed = SPEED_1000;
drivers/net/sungem_phy.c
712
sungem_phy_write(phy, MII_NCONFIG, 0x7000);
drivers/net/sungem_phy.c
713
phy_reg = sungem_phy_read(phy, MII_NCONFIG);
drivers/net/sungem_phy.c
716
phy->duplex |= DUPLEX_FULL;
drivers/net/sungem_phy.c
718
phy->duplex |= DUPLEX_HALF;
drivers/net/sungem_phy.c
72
val = __sungem_phy_read(phy, phy_id, MII_BMCR);
drivers/net/sungem_phy.c
723
static int bcm5461_enable_fiber(struct mii_phy* phy, int autoneg)
drivers/net/sungem_phy.c
726
sungem_phy_write(phy, MII_NCONFIG, 0xfc0b);
drivers/net/sungem_phy.c
730
sungem_phy_write(phy, MII_ADVERTISE, 0x01e0);
drivers/net/sungem_phy.c
731
sungem_phy_write(phy, MII_BMCR, 0x1140);
drivers/net/sungem_phy.c
734
sungem_phy_write(phy, MII_BMCR, 0x0140);
drivers/net/sungem_phy.c
737
phy->autoneg = autoneg;
drivers/net/sungem_phy.c
742
static int marvell_setup_aneg(struct mii_phy *phy, u32 advertise)
drivers/net/sungem_phy.c
746
phy->autoneg = 1;
drivers/net/sungem_phy.c
747
phy->speed = SPEED_10;
drivers/net/sungem_phy.c
748
phy->duplex = DUPLEX_HALF;
drivers/net/sungem_phy.c
749
phy->pause = 0;
drivers/net/sungem_phy.c
75
__sungem_phy_write(phy, phy_id, MII_BMCR, val);
drivers/net/sungem_phy.c
750
phy->advertising = advertise;
drivers/net/sungem_phy.c
753
adv = sungem_phy_read(phy, MII_ADVERTISE);
drivers/net/sungem_phy.c
767
sungem_phy_write(phy, MII_ADVERTISE, adv);
drivers/net/sungem_phy.c
775
adv = sungem_phy_read(phy, MII_M1011_PHY_SPEC_CONTROL);
drivers/net/sungem_phy.c
783
sungem_phy_write(phy, MII_1000BASETCONTROL, adv);
drivers/net/sungem_phy.c
786
ctl = sungem_phy_read(phy, MII_BMCR);
drivers/net/sungem_phy.c
788
sungem_phy_write(phy, MII_BMCR, ctl);
drivers/net/sungem_phy.c
793
static int marvell_setup_forced(struct mii_phy *phy, int speed, int fd)
drivers/net/sungem_phy.c
797
phy->autoneg = 0;
drivers/net/sungem_phy.c
798
phy->speed = speed;
drivers/net/sungem_phy.c
799
phy->duplex = fd;
drivers/net/sungem_phy.c
80
val = __sungem_phy_read(phy, phy_id, MII_BMCR);
drivers/net/sungem_phy.c
800
phy->pause = 0;
drivers/net/sungem_phy.c
802
ctl = sungem_phy_read(phy, MII_BMCR);
drivers/net/sungem_phy.c
825
ctl2 = sungem_phy_read(phy, MII_M1011_PHY_SPEC_CONTROL);
drivers/net/sungem_phy.c
834
sungem_phy_write(phy, MII_1000BASETCONTROL, ctl2);
drivers/net/sungem_phy.c
838
sungem_phy_write(phy, MII_BMCR, ctl);
drivers/net/sungem_phy.c
843
static int marvell_read_link(struct mii_phy *phy)
drivers/net/sungem_phy.c
847
if (phy->autoneg) {
drivers/net/sungem_phy.c
848
status = sungem_phy_read(phy, MII_M1011_PHY_SPEC_STATUS);
drivers/net/sungem_phy.c
852
phy->speed = SPEED_1000;
drivers/net/sungem_phy.c
854
phy->speed = SPEED_100;
drivers/net/sungem_phy.c
856
phy->speed = SPEED_10;
drivers/net/sungem_phy.c
858
phy->duplex = DUPLEX_FULL;
drivers/net/sungem_phy.c
86
__sungem_phy_write(phy, phy_id, MII_BMCR, val & ~BMCR_ISOLATE);
drivers/net/sungem_phy.c
860
phy->duplex = DUPLEX_HALF;
drivers/net/sungem_phy.c
863
phy->pause = (status & pmask) == pmask;
drivers/net/sungem_phy.c
91
static int bcm5201_init(struct mii_phy* phy)
drivers/net/sungem_phy.c
95
data = sungem_phy_read(phy, MII_BCM5201_MULTIPHY);
drivers/net/sungem_phy.c
97
sungem_phy_write(phy, MII_BCM5201_MULTIPHY, data);
drivers/net/sungem_phy.c
99
sungem_phy_write(phy, MII_BCM5201_INTERRUPT, 0);
drivers/net/usb/asix_devices.c
762
struct phy_device *phy,
drivers/net/usb/dm9601.c
111
static int dm_read_shared_word(struct usbnet *dev, int phy, u8 reg, __le16 *value)
drivers/net/usb/dm9601.c
117
dm_write_reg(dev, DM_SHARED_ADDR, phy ? (reg | 0x40) : reg);
drivers/net/usb/dm9601.c
118
dm_write_reg(dev, DM_SHARED_CTRL, phy ? 0xc : 0x4);
drivers/net/usb/dm9601.c
134
netdev_err(dev->net, "%s read timed out!\n", phy ? "phy" : "eeprom");
drivers/net/usb/dm9601.c
143
phy, reg, *value, ret);
drivers/net/usb/dm9601.c
150
static int dm_write_shared_word(struct usbnet *dev, int phy, u8 reg, __le16 value)
drivers/net/usb/dm9601.c
160
dm_write_reg(dev, DM_SHARED_ADDR, phy ? (reg | 0x40) : reg);
drivers/net/usb/dm9601.c
161
dm_write_reg(dev, DM_SHARED_CTRL, phy ? 0x1a : 0x12);
drivers/net/usb/dm9601.c
177
netdev_err(dev->net, "%s write timed out!\n", phy ? "phy" : "eeprom");
drivers/net/usb/lan78xx.c
2457
struct phy_device *phy,
drivers/net/usb/pegasus.c
1034
data[0] = pegasus->phy;
drivers/net/usb/pegasus.c
1042
write_mii_word(pegasus, pegasus->phy, data[1] & 0x1f, &data[2]);
drivers/net/usb/pegasus.c
1223
pegasus->phy = mii_phy_probe(pegasus);
drivers/net/usb/pegasus.c
1224
if (pegasus->phy == 0xff) {
drivers/net/usb/pegasus.c
1226
pegasus->phy = 1;
drivers/net/usb/pegasus.c
1228
pegasus->mii.phy_id = pegasus->phy;
drivers/net/usb/pegasus.c
185
static int __mii_op(pegasus_t *p, __u8 phy, __u8 indx, __u16 *regd, __u8 cmd)
drivers/net/usb/pegasus.c
189
__u8 data[4] = { phy, 0, 0, indx };
drivers/net/usb/pegasus.c
222
static int read_mii_word(pegasus_t *pegasus, __u8 phy, __u8 indx, __u16 *regd)
drivers/net/usb/pegasus.c
224
return __mii_op(pegasus, phy, indx, regd, PHY_READ);
drivers/net/usb/pegasus.c
228
static int write_mii_word(pegasus_t *pegasus, __u8 phy, __u8 indx, __u16 *regd)
drivers/net/usb/pegasus.c
230
return __mii_op(pegasus, phy, indx, regd, PHY_WRITE);
drivers/net/usb/pegasus.c
432
ret = read_mii_word(pegasus, pegasus->phy, MII_LPA, &linkpart);
drivers/net/usb/pegasus.c
790
if (read_mii_word(pegasus, pegasus->phy, MII_BMSR, &tmp))
drivers/net/usb/pegasus.h
98
__u8 phy;
drivers/net/usb/r8152.c
4254
static bool rtl8152_is_fw_phy_speed_up_ok(struct r8152 *tp, struct fw_phy_speed_up *phy)
drivers/net/usb/r8152.c
4281
fw_offset = __le16_to_cpu(phy->fw_offset);
drivers/net/usb/r8152.c
4282
length = __le32_to_cpu(phy->blk_hdr.length);
drivers/net/usb/r8152.c
4283
if (fw_offset < sizeof(*phy) || length <= fw_offset) {
drivers/net/usb/r8152.c
4294
if (__le16_to_cpu(phy->fw_reg) != 0x9A00) {
drivers/net/usb/r8152.c
4365
static bool rtl8152_is_fw_phy_union_ok(struct r8152 *tp, struct fw_phy_union *phy)
drivers/net/usb/r8152.c
4382
fw_offset = __le16_to_cpu(phy->fw_offset);
drivers/net/usb/r8152.c
4383
length = __le32_to_cpu(phy->blk_hdr.length);
drivers/net/usb/r8152.c
4384
if (fw_offset < sizeof(*phy) || length <= fw_offset) {
drivers/net/usb/r8152.c
4395
if (phy->pre_num > 2) {
drivers/net/usb/r8152.c
4396
dev_err(&tp->intf->dev, "invalid pre_num %d\n", phy->pre_num);
drivers/net/usb/r8152.c
4400
if (phy->bp_num > 8) {
drivers/net/usb/r8152.c
4401
dev_err(&tp->intf->dev, "invalid bp_num %d\n", phy->bp_num);
drivers/net/usb/r8152.c
4410
static bool rtl8152_is_fw_phy_nc_ok(struct r8152 *tp, struct fw_phy_nc *phy)
drivers/net/usb/r8152.c
4430
fw_offset = __le16_to_cpu(phy->fw_offset);
drivers/net/usb/r8152.c
4431
if (fw_offset < sizeof(*phy)) {
drivers/net/usb/r8152.c
4436
length = __le32_to_cpu(phy->blk_hdr.length);
drivers/net/usb/r8152.c
4442
length -= __le16_to_cpu(phy->fw_offset);
drivers/net/usb/r8152.c
4448
if (__le16_to_cpu(phy->fw_reg) != fw_reg) {
drivers/net/usb/r8152.c
4453
if (__le16_to_cpu(phy->ba_reg) != ba_reg) {
drivers/net/usb/r8152.c
4458
if (__le16_to_cpu(phy->patch_en_addr) != patch_en_addr) {
drivers/net/usb/r8152.c
4464
if (__le16_to_cpu(phy->mode_reg) != mode_reg) {
drivers/net/usb/r8152.c
4470
if (__le16_to_cpu(phy->bp_start) != bp_start) {
drivers/net/usb/r8152.c
4476
if (__le16_to_cpu(phy->bp_num) > 4) {
drivers/net/usb/r8152.c
4925
static void rtl_ram_code_speed_up(struct r8152 *tp, struct fw_phy_speed_up *phy, bool wait)
drivers/net/usb/r8152.c
4932
if (sram_read(tp, SRAM_GPHY_FW_VER) >= __le16_to_cpu(phy->version)) {
drivers/net/usb/r8152.c
4937
len = __le32_to_cpu(phy->blk_hdr.length);
drivers/net/usb/r8152.c
4938
len -= __le16_to_cpu(phy->fw_offset);
drivers/net/usb/r8152.c
4939
data = (u8 *)phy + __le16_to_cpu(phy->fw_offset);
drivers/net/usb/r8152.c
4957
generic_ocp_write(tp, __le16_to_cpu(phy->fw_reg), 0xff, size, data, MCU_TYPE_USB);
drivers/net/usb/r8152.c
4981
if (sram_read(tp, SRAM_GPHY_FW_VER) == __le16_to_cpu(phy->version))
drivers/net/usb/r8152.c
4982
dev_dbg(&tp->intf->dev, "successfully applied %s\n", phy->info);
drivers/net/usb/r8152.c
5039
static void rtl8152_fw_phy_union_apply(struct r8152 *tp, struct fw_phy_union *phy)
drivers/net/usb/r8152.c
5047
num = phy->pre_num;
drivers/net/usb/r8152.c
5049
sram_write(tp, __le16_to_cpu(phy->pre_set[i].addr),
drivers/net/usb/r8152.c
5050
__le16_to_cpu(phy->pre_set[i].data));
drivers/net/usb/r8152.c
5052
length = __le32_to_cpu(phy->blk_hdr.length);
drivers/net/usb/r8152.c
5053
length -= __le16_to_cpu(phy->fw_offset);
drivers/net/usb/r8152.c
5055
data = (__le16 *)((u8 *)phy + __le16_to_cpu(phy->fw_offset));
drivers/net/usb/r8152.c
5057
ocp_reg_write(tp, OCP_SRAM_ADDR, __le16_to_cpu(phy->fw_reg));
drivers/net/usb/r8152.c
5061
num = phy->bp_num;
drivers/net/usb/r8152.c
5063
sram_write(tp, __le16_to_cpu(phy->bp[i].addr), __le16_to_cpu(phy->bp[i].data));
drivers/net/usb/r8152.c
5065
if (phy->bp_num && phy->bp_en.addr)
drivers/net/usb/r8152.c
5066
sram_write(tp, __le16_to_cpu(phy->bp_en.addr), __le16_to_cpu(phy->bp_en.data));
drivers/net/usb/r8152.c
5068
dev_dbg(&tp->intf->dev, "successfully applied %s\n", phy->info);
drivers/net/usb/r8152.c
5071
static void rtl8152_fw_phy_nc_apply(struct r8152 *tp, struct fw_phy_nc *phy)
drivers/net/usb/r8152.c
5079
mode_reg = __le16_to_cpu(phy->mode_reg);
drivers/net/usb/r8152.c
5080
sram_write(tp, mode_reg, __le16_to_cpu(phy->mode_pre));
drivers/net/usb/r8152.c
5081
sram_write(tp, __le16_to_cpu(phy->ba_reg),
drivers/net/usb/r8152.c
5082
__le16_to_cpu(phy->ba_data));
drivers/net/usb/r8152.c
5084
length = __le32_to_cpu(phy->blk_hdr.length);
drivers/net/usb/r8152.c
5085
length -= __le16_to_cpu(phy->fw_offset);
drivers/net/usb/r8152.c
5087
data = (__le16 *)((u8 *)phy + __le16_to_cpu(phy->fw_offset));
drivers/net/usb/r8152.c
5089
ocp_reg_write(tp, OCP_SRAM_ADDR, __le16_to_cpu(phy->fw_reg));
drivers/net/usb/r8152.c
5093
sram_write(tp, __le16_to_cpu(phy->patch_en_addr),
drivers/net/usb/r8152.c
5094
__le16_to_cpu(phy->patch_en_value));
drivers/net/usb/r8152.c
5096
bp_index = __le16_to_cpu(phy->bp_start);
drivers/net/usb/r8152.c
5097
num = __le16_to_cpu(phy->bp_num);
drivers/net/usb/r8152.c
5099
sram_write(tp, bp_index, __le16_to_cpu(phy->bp[i]));
drivers/net/usb/r8152.c
5103
sram_write(tp, mode_reg, __le16_to_cpu(phy->mode_post));
drivers/net/usb/r8152.c
5105
dev_dbg(&tp->intf->dev, "successfully applied %s\n", phy->info);
drivers/net/usb/rtl8150.c
142
u8 phy;
drivers/net/usb/rtl8150.c
218
static int read_mii_word(rtl8150_t * dev, u8 phy, __u8 indx, u16 * reg)
drivers/net/usb/rtl8150.c
223
data[0] = phy;
drivers/net/usb/rtl8150.c
242
static int write_mii_word(rtl8150_t * dev, u8 phy, __u8 indx, u16 reg)
drivers/net/usb/rtl8150.c
247
data[0] = phy;
drivers/net/usb/rtl8150.c
804
ecmd->base.phy_address = dev->phy;
drivers/net/usb/rtl8150.c
847
data[0] = dev->phy;
drivers/net/usb/rtl8150.c
850
read_mii_word(dev, dev->phy, (data[1] & 0x1f), &data[3]);
drivers/net/usb/rtl8150.c
855
write_mii_word(dev, dev->phy, (data[1] & 0x1f), data[2]);
drivers/net/wireless/ath/ath9k/dynack.c
260
u32 phy;
drivers/net/wireless/ath/ath9k/dynack.c
265
phy = WLAN_RC_PHY_CCK;
drivers/net/wireless/ath/ath9k/dynack.c
267
phy = WLAN_RC_PHY_OFDM;
drivers/net/wireless/ath/ath9k/dynack.c
269
dur -= ath_dynack_get_sifs(ah, phy);
drivers/net/wireless/ath/ath9k/dynack.c
66
static inline u32 ath_dynack_get_sifs(struct ath_hw *ah, int phy)
drivers/net/wireless/ath/ath9k/dynack.c
70
if (phy == WLAN_RC_PHY_OFDM) {
drivers/net/wireless/ath/ath9k/hw.c
168
u8 phy, int kbps,
drivers/net/wireless/ath/ath9k/hw.c
177
switch (phy) {
drivers/net/wireless/ath/ath9k/hw.c
213
"Unknown phy %u (rate ix %u)\n", phy, rateix);
drivers/net/wireless/ath/ath9k/hw.h
1052
u8 phy, int kbps,
drivers/net/wireless/ath/ath9k/recv.c
1021
int phy;
drivers/net/wireless/ath/ath9k/recv.c
1049
phy = IS_CCK_RATE(rs->rs_rate) ? WLAN_RC_PHY_CCK : WLAN_RC_PHY_OFDM;
drivers/net/wireless/ath/ath9k/recv.c
1051
airtime += ath9k_hw_computetxtime(ah, phy, rate->bitrate * 100,
drivers/net/wireless/ath/ath9k/xmit.c
1286
int phy;
drivers/net/wireless/ath/ath9k/xmit.c
1345
phy = WLAN_RC_PHY_CCK;
drivers/net/wireless/ath/ath9k/xmit.c
1347
phy = WLAN_RC_PHY_OFDM;
drivers/net/wireless/ath/ath9k/xmit.c
1364
phy, rate->bitrate * 100, len, rix, is_sp);
drivers/net/wireless/ath/carl9170/rx.c
443
struct ar9170_rx_phystatus *phy, struct ieee80211_rx_status *status)
drivers/net/wireless/ath/carl9170/rx.c
450
if (phy->rssi[i] != 0x80)
drivers/net/wireless/ath/carl9170/rx.c
455
if (phy->rssi[i] & 0x80)
drivers/net/wireless/ath/carl9170/rx.c
456
phy->rssi[i] = ((~phy->rssi[i] & 0x7f) + 1) & 0x7f;
drivers/net/wireless/ath/carl9170/rx.c
459
status->signal = ar->noise[0] + phy->rssi_combined;
drivers/net/wireless/ath/carl9170/rx.c
701
struct ar9170_rx_phystatus *phy = NULL;
drivers/net/wireless/ath/carl9170/rx.c
760
phy = (void *)(buf + mpdu_len);
drivers/net/wireless/ath/carl9170/rx.c
794
phy = (void *)(buf + mpdu_len);
drivers/net/wireless/ath/carl9170/rx.c
812
if (phy)
drivers/net/wireless/ath/carl9170/rx.c
813
carl9170_rx_phy_status(ar, phy, &status);
drivers/net/wireless/ath/carl9170/wlan.h
266
struct ar9170_tx_hw_phy_control phy;
drivers/net/wireless/broadcom/b43/b43.h
845
struct b43_phy phy;
drivers/net/wireless/broadcom/b43/debugfs.c
432
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/debugfs.c
434
if (phy->type != B43_PHYTYPE_G) {
drivers/net/wireless/broadcom/b43/debugfs.c
439
lo = phy->g->lo_control;
drivers/net/wireless/broadcom/b43/debugfs.c
442
dev->phy.hardware_power_control);
drivers/net/wireless/broadcom/b43/debugfs.c
457
active = (b43_compare_bbatt(&cal->bbatt, &phy->g->bbatt) &&
drivers/net/wireless/broadcom/b43/debugfs.c
458
b43_compare_rfatt(&cal->rfatt, &phy->g->rfatt));
drivers/net/wireless/broadcom/b43/leds.c
259
if (dev->phy.radio_on && b43_is_hw_radio_enabled(dev)) {
drivers/net/wireless/broadcom/b43/leds.c
56
radio_enabled = (dev->phy.radio_on && dev->radio_hw_enable);
drivers/net/wireless/broadcom/b43/lo.c
131
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/lo.c
134
if (phy->type == B43_PHYTYPE_B) {
drivers/net/wireless/broadcom/b43/lo.c
136
if (phy->radio_rev <= 5) {
drivers/net/wireless/broadcom/b43/lo.c
144
if (phy->rev >= 2 && phy->radio_rev == 8) {
drivers/net/wireless/broadcom/b43/lo.c
164
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/lo.c
165
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/lo.c
179
if (!has_loopback_gain(phy)) {
drivers/net/wireless/broadcom/b43/lo.c
198
if ((phy->rev >= 2) &&
drivers/net/wireless/broadcom/b43/lo.c
199
(phy->radio_ver == 0x2050) && (phy->radio_rev == 8))
drivers/net/wireless/broadcom/b43/lo.c
223
if (has_tx_magnification(phy)) {
drivers/net/wireless/broadcom/b43/lo.c
261
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/lo.c
262
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/lo.c
283
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/lo.c
284
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/lo.c
290
if (has_loopback_gain(phy)) {
drivers/net/wireless/broadcom/b43/lo.c
376
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/lo.c
377
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/lo.c
393
if (phy->type == B43_PHYTYPE_B &&
drivers/net/wireless/broadcom/b43/lo.c
394
phy->radio_ver == 0x2050 && phy->radio_rev < 6) {
drivers/net/wireless/broadcom/b43/lo.c
398
if (phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/lo.c
412
if (phy->type == B43_PHYTYPE_G) {
drivers/net/wireless/broadcom/b43/lo.c
413
if ((phy->rev >= 7) &&
drivers/net/wireless/broadcom/b43/lo.c
433
if (!has_tx_magnification(phy)) {
drivers/net/wireless/broadcom/b43/lo.c
437
if (phy->type == B43_PHYTYPE_B) {
drivers/net/wireless/broadcom/b43/lo.c
450
(phy->type == B43_PHYTYPE_G) ? B43_PHY_LO_MASK : B43_PHY_CCK(0x2E);
drivers/net/wireless/broadcom/b43/lo.c
459
if (phy->type == B43_PHYTYPE_G ||
drivers/net/wireless/broadcom/b43/lo.c
460
(phy->type == B43_PHYTYPE_B &&
drivers/net/wireless/broadcom/b43/lo.c
461
phy->radio_ver == 0x2050 && phy->radio_rev >= 6)) {
drivers/net/wireless/broadcom/b43/lo.c
465
if (phy->rev >= 2)
drivers/net/wireless/broadcom/b43/lo.c
469
if (phy->type == B43_PHYTYPE_G)
drivers/net/wireless/broadcom/b43/lo.c
47
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/lo.c
477
if (phy->type == B43_PHYTYPE_G && phy->rev >= 3) {
drivers/net/wireless/broadcom/b43/lo.c
480
if (phy->type == B43_PHYTYPE_B)
drivers/net/wireless/broadcom/b43/lo.c
490
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/lo.c
491
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/lo.c
494
if (phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/lo.c
506
if (phy->type == B43_PHYTYPE_G) {
drivers/net/wireless/broadcom/b43/lo.c
507
if (phy->rev >= 3)
drivers/net/wireless/broadcom/b43/lo.c
511
if (phy->rev >= 2)
drivers/net/wireless/broadcom/b43/lo.c
523
if (!has_tx_magnification(phy)) {
drivers/net/wireless/broadcom/b43/lo.c
528
if (phy->type == B43_PHYTYPE_B &&
drivers/net/wireless/broadcom/b43/lo.c
529
phy->radio_ver == 0x2050 && phy->radio_rev <= 5) {
drivers/net/wireless/broadcom/b43/lo.c
533
if (phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/lo.c
567
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/lo.c
568
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/lo.c
58
B43_WARN_ON(phy->type != B43_PHYTYPE_G);
drivers/net/wireless/broadcom/b43/lo.c
627
!has_loopback_gain(phy))
drivers/net/wireless/broadcom/b43/lo.c
648
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/lo.c
649
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/lo.c
658
if (has_loopback_gain(phy))
drivers/net/wireless/broadcom/b43/lo.c
662
if (has_loopback_gain(phy))
drivers/net/wireless/broadcom/b43/lo.c
68
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/lo.c
700
if (has_loopback_gain(phy)) {
drivers/net/wireless/broadcom/b43/lo.c
715
has_loopback_gain(phy));
drivers/net/wireless/broadcom/b43/lo.c
72
if (phy->gmode) {
drivers/net/wireless/broadcom/b43/lo.c
724
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/lo.c
725
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/lo.c
738
saved_regs.old_channel = phy->channel;
drivers/net/wireless/broadcom/b43/lo.c
751
if (has_loopback_gain(phy))
drivers/net/wireless/broadcom/b43/lo.c
754
has_loopback_gain(phy));
drivers/net/wireless/broadcom/b43/lo.c
790
struct b43_txpower_lo_control *lo = dev->phy.g->lo_control;
drivers/net/wireless/broadcom/b43/lo.c
808
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/lo.c
809
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/lo.c
888
struct b43_phy_g *gphy = dev->phy.g;
drivers/net/wireless/broadcom/b43/lo.c
89
&& phy->rev > 6)
drivers/net/wireless/broadcom/b43/lo.c
922
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/lo.c
923
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/lo.c
985
struct b43_txpower_lo_control *lo = dev->phy.g->lo_control;
drivers/net/wireless/broadcom/b43/main.c
1260
if (dev->phy.type == B43_PHYTYPE_AC) {
drivers/net/wireless/broadcom/b43/main.c
1292
if (dev->phy.type == B43_PHYTYPE_N)
drivers/net/wireless/broadcom/b43/main.c
1322
if (dev->phy.ops)
drivers/net/wireless/broadcom/b43/main.c
1323
dev->phy.ops->switch_analog(dev, 1);
drivers/net/wireless/broadcom/b43/main.c
1408
if (dev->phy.type != B43_PHYTYPE_G)
drivers/net/wireless/broadcom/b43/main.c
1420
struct b43_phy_g *phy = dev->phy.g;
drivers/net/wireless/broadcom/b43/main.c
1428
if (dev->phy.type != B43_PHYTYPE_G)
drivers/net/wireless/broadcom/b43/main.c
1449
noise[0] = clamp_val(noise[0], 0, ARRAY_SIZE(phy->nrssi_lt) - 1);
drivers/net/wireless/broadcom/b43/main.c
1450
noise[1] = clamp_val(noise[1], 0, ARRAY_SIZE(phy->nrssi_lt) - 1);
drivers/net/wireless/broadcom/b43/main.c
1451
noise[2] = clamp_val(noise[2], 0, ARRAY_SIZE(phy->nrssi_lt) - 1);
drivers/net/wireless/broadcom/b43/main.c
1452
noise[3] = clamp_val(noise[3], 0, ARRAY_SIZE(phy->nrssi_lt) - 1);
drivers/net/wireless/broadcom/b43/main.c
1453
dev->noisecalc.samples[i][0] = phy->nrssi_lt[noise[0]];
drivers/net/wireless/broadcom/b43/main.c
1454
dev->noisecalc.samples[i][1] = phy->nrssi_lt[noise[1]];
drivers/net/wireless/broadcom/b43/main.c
1455
dev->noisecalc.samples[i][2] = phy->nrssi_lt[noise[2]];
drivers/net/wireless/broadcom/b43/main.c
1456
dev->noisecalc.samples[i][3] = phy->nrssi_lt[noise[3]];
drivers/net/wireless/broadcom/b43/main.c
1572
if (dev->phy.gmode)
drivers/net/wireless/broadcom/b43/main.c
1984
if (unlikely(atomic_dec_and_test(&dev->phy.txerr_cnt))) {
drivers/net/wireless/broadcom/b43/main.c
1985
atomic_set(&dev->phy.txerr_cnt,
drivers/net/wireless/broadcom/b43/main.c
2300
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/main.c
2309
if (phy->type == B43_PHYTYPE_AC)
drivers/net/wireless/broadcom/b43/main.c
2313
if (phy->type == B43_PHYTYPE_AC)
drivers/net/wireless/broadcom/b43/main.c
2317
if (phy->type == B43_PHYTYPE_LCN40)
drivers/net/wireless/broadcom/b43/main.c
2321
if (phy->type == B43_PHYTYPE_N)
drivers/net/wireless/broadcom/b43/main.c
2325
if (phy->type == B43_PHYTYPE_HT)
drivers/net/wireless/broadcom/b43/main.c
2329
if (phy->type == B43_PHYTYPE_HT)
drivers/net/wireless/broadcom/b43/main.c
2334
if (phy->type == B43_PHYTYPE_N)
drivers/net/wireless/broadcom/b43/main.c
2336
else if (phy->type == B43_PHYTYPE_LCN)
drivers/net/wireless/broadcom/b43/main.c
2340
if (phy->type == B43_PHYTYPE_LCN)
drivers/net/wireless/broadcom/b43/main.c
2344
if (phy->type == B43_PHYTYPE_N)
drivers/net/wireless/broadcom/b43/main.c
2348
if (phy->type == B43_PHYTYPE_N)
drivers/net/wireless/broadcom/b43/main.c
2350
else if (phy->type == B43_PHYTYPE_LP)
drivers/net/wireless/broadcom/b43/main.c
2393
switch (dev->phy.type) {
drivers/net/wireless/broadcom/b43/main.c
2453
switch (dev->phy.type) {
drivers/net/wireless/broadcom/b43/main.c
3080
} else if (dev->phy.type == B43_PHYTYPE_LCN) {
drivers/net/wireless/broadcom/b43/main.c
3170
switch (dev->phy.type) {
drivers/net/wireless/broadcom/b43/main.c
3241
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/main.c
3248
if (dev->phy.gmode)
drivers/net/wireless/broadcom/b43/main.c
3270
phy->ops->switch_analog(dev, 1);
drivers/net/wireless/broadcom/b43/main.c
3276
if (phy->ops->interf_mitigation)
drivers/net/wireless/broadcom/b43/main.c
3277
phy->ops->interf_mitigation(dev, B43_INTERFMODE_NONE);
drivers/net/wireless/broadcom/b43/main.c
3280
if (phy->ops->set_rx_antenna)
drivers/net/wireless/broadcom/b43/main.c
3281
phy->ops->set_rx_antenna(dev, B43_ANTENNA_DEFAULT);
drivers/net/wireless/broadcom/b43/main.c
3284
if (phy->type == B43_PHYTYPE_B) {
drivers/net/wireless/broadcom/b43/main.c
3349
const struct b43_phy_operations *ops = dev->phy.ops;
drivers/net/wireless/broadcom/b43/main.c
3366
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/main.c
3383
if (phy->ops->pwork_15sec)
drivers/net/wireless/broadcom/b43/main.c
3384
phy->ops->pwork_15sec(dev);
drivers/net/wireless/broadcom/b43/main.c
3386
atomic_set(&phy->txerr_cnt, B43_PHY_TX_BADNESS_LIMIT);
drivers/net/wireless/broadcom/b43/main.c
3888
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/main.c
3904
if (!((gmode && phy->supports_2ghz) ||
drivers/net/wireless/broadcom/b43/main.c
3905
(!gmode && phy->supports_5ghz))) {
drivers/net/wireless/broadcom/b43/main.c
3911
if (!!phy->gmode == !!gmode) {
drivers/net/wireless/broadcom/b43/main.c
3920
if (!(phy->type == B43_PHYTYPE_N && phy->rev >= 3))
drivers/net/wireless/broadcom/b43/main.c
3923
phy->gmode = gmode;
drivers/net/wireless/broadcom/b43/main.c
3982
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/main.c
3994
phy->chandef = &conf->chandef;
drivers/net/wireless/broadcom/b43/main.c
3995
phy->channel = conf->chandef.chan->hw_value;
drivers/net/wireless/broadcom/b43/main.c
4005
b43_switch_channel(dev, phy->channel);
drivers/net/wireless/broadcom/b43/main.c
4019
if (conf->power_level != phy->desired_txpower) {
drivers/net/wireless/broadcom/b43/main.c
4020
phy->desired_txpower = conf->power_level;
drivers/net/wireless/broadcom/b43/main.c
4030
if (phy->ops->set_rx_antenna)
drivers/net/wireless/broadcom/b43/main.c
4031
phy->ops->set_rx_antenna(dev, antenna);
drivers/net/wireless/broadcom/b43/main.c
4033
if (wl->radio_enabled != phy->radio_on) {
drivers/net/wireless/broadcom/b43/main.c
4473
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/main.c
4640
phy->radio_manuf = radio_manuf;
drivers/net/wireless/broadcom/b43/main.c
4641
phy->radio_ver = radio_id;
drivers/net/wireless/broadcom/b43/main.c
4642
phy->radio_rev = radio_rev;
drivers/net/wireless/broadcom/b43/main.c
4644
phy->analog = analog_type;
drivers/net/wireless/broadcom/b43/main.c
4645
phy->type = phy_type;
drivers/net/wireless/broadcom/b43/main.c
4646
phy->rev = phy_rev;
drivers/net/wireless/broadcom/b43/main.c
4652
struct b43_phy *phy)
drivers/net/wireless/broadcom/b43/main.c
4654
phy->hardware_power_control = !!modparam_hwpctl;
drivers/net/wireless/broadcom/b43/main.c
4655
phy->next_txpwr_check_time = jiffies;
drivers/net/wireless/broadcom/b43/main.c
4657
atomic_set(&phy->txerr_cnt, B43_PHY_TX_BADNESS_LIMIT);
drivers/net/wireless/broadcom/b43/main.c
4660
phy->phy_locked = false;
drivers/net/wireless/broadcom/b43/main.c
4661
phy->radio_locked = false;
drivers/net/wireless/broadcom/b43/main.c
4676
setup_struct_phy_for_init(dev, &dev->phy);
drivers/net/wireless/broadcom/b43/main.c
4700
if (dev->phy.type != B43_PHYTYPE_B && !dev->phy.gmode)
drivers/net/wireless/broadcom/b43/main.c
4751
if ((dev->phy.radio_ver == 0x2050) && (dev->phy.radio_rev == 8))
drivers/net/wireless/broadcom/b43/main.c
4801
dev->phy.ops->switch_analog(dev, 0);
drivers/net/wireless/broadcom/b43/main.c
4815
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/main.c
4825
b43_wireless_core_reset(dev, phy->gmode);
drivers/net/wireless/broadcom/b43/main.c
4829
phy->ops->prepare_structs(dev);
drivers/net/wireless/broadcom/b43/main.c
4850
if (phy->ops->prepare_hardware) {
drivers/net/wireless/broadcom/b43/main.c
4851
err = phy->ops->prepare_hardware(dev);
drivers/net/wireless/broadcom/b43/main.c
4861
if (phy->type == B43_PHYTYPE_G) {
drivers/net/wireless/broadcom/b43/main.c
4863
if (phy->rev == 1)
drivers/net/wireless/broadcom/b43/main.c
4868
if (phy->radio_ver == 0x2050) {
drivers/net/wireless/broadcom/b43/main.c
4869
if (phy->radio_rev == 6)
drivers/net/wireless/broadcom/b43/main.c
4871
if (phy->radio_rev < 6)
drivers/net/wireless/broadcom/b43/main.c
4910
if (phy->type == B43_PHYTYPE_B)
drivers/net/wireless/broadcom/b43/main.c
4918
b43_shm_write16(dev, B43_SHM_SHARED, B43_SHM_SH_PHYTYPE, phy->type);
drivers/net/wireless/broadcom/b43/main.c
4919
b43_shm_write16(dev, B43_SHM_SHARED, B43_SHM_SH_PHYVER, phy->rev);
drivers/net/wireless/broadcom/b43/main.c
5262
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/main.c
5267
limited_2g = phy->radio_ver == 0x2057 &&
drivers/net/wireless/broadcom/b43/main.c
5268
(phy->radio_rev == 9 || phy->radio_rev == 14);
drivers/net/wireless/broadcom/b43/main.c
5269
limited_5g = phy->radio_ver == 0x2057 &&
drivers/net/wireless/broadcom/b43/main.c
5270
phy->radio_rev == 9;
drivers/net/wireless/broadcom/b43/main.c
5275
if (dev->phy.type == B43_PHYTYPE_N) {
drivers/net/wireless/broadcom/b43/main.c
5285
dev->phy.supports_2ghz = have_2ghz_phy;
drivers/net/wireless/broadcom/b43/main.c
5286
dev->phy.supports_5ghz = have_5ghz_phy;
drivers/net/wireless/broadcom/b43/main.c
5339
if (dev->phy.type != B43_PHYTYPE_G)
drivers/net/wireless/broadcom/b43/main.c
5358
switch (dev->phy.type) {
drivers/net/wireless/broadcom/b43/main.c
5375
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/main.c
5393
phy->do_full_init = true;
drivers/net/wireless/broadcom/b43/main.c
5416
dev->phy.gmode = have_2ghz_phy;
drivers/net/wireless/broadcom/b43/main.c
5417
b43_wireless_core_reset(dev, dev->phy.gmode);
drivers/net/wireless/broadcom/b43/main.c
5429
switch (dev->phy.type) {
drivers/net/wireless/broadcom/b43/main.c
5448
dev->phy.gmode = have_2ghz_phy;
drivers/net/wireless/broadcom/b43/main.c
5449
b43_wireless_core_reset(dev, dev->phy.gmode);
drivers/net/wireless/broadcom/b43/main.c
5463
dev->phy.ops->switch_analog(dev, 0);
drivers/net/wireless/broadcom/b43/main.c
741
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/main.c
772
if (phy->type == B43_PHYTYPE_N || phy->type == B43_PHYTYPE_LP ||
drivers/net/wireless/broadcom/b43/main.c
773
phy->type == B43_PHYTYPE_LCN)
drivers/net/wireless/broadcom/b43/main.c
784
if (!pa_on && phy->type == B43_PHYTYPE_N) {
drivers/net/wireless/broadcom/b43/main.c
788
switch (phy->type) {
drivers/net/wireless/broadcom/b43/main.c
801
if (phy->radio_ver == 0x2050 && phy->radio_rev <= 0x5)
drivers/net/wireless/broadcom/b43/main.c
821
if (phy->radio_ver == 0x2050 && phy->radio_rev <= 0x5)
drivers/net/wireless/broadcom/b43/phy_ac.c
23
dev->phy.ac = phy_ac;
drivers/net/wireless/broadcom/b43/phy_ac.c
30
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_ac.c
31
struct b43_phy_ac *phy_ac = phy->ac;
drivers/net/wireless/broadcom/b43/phy_ac.c
34
phy->ac = NULL;
drivers/net/wireless/broadcom/b43/phy_common.c
105
phy->do_full_init = false;
drivers/net/wireless/broadcom/b43/phy_common.c
107
err = b43_switch_channel(dev, phy->channel);
drivers/net/wireless/broadcom/b43/phy_common.c
116
phy->do_full_init = true;
drivers/net/wireless/broadcom/b43/phy_common.c
127
const struct b43_phy_operations *ops = dev->phy.ops;
drivers/net/wireless/broadcom/b43/phy_common.c
130
dev->phy.do_full_init = true;
drivers/net/wireless/broadcom/b43/phy_common.c
137
if (!dev->phy.hardware_power_control)
drivers/net/wireless/broadcom/b43/phy_common.c
139
if (!dev->phy.ops->supports_hwpctl)
drivers/net/wireless/broadcom/b43/phy_common.c
141
return dev->phy.ops->supports_hwpctl(dev);
drivers/net/wireless/broadcom/b43/phy_common.c
149
B43_WARN_ON(dev->phy.radio_locked);
drivers/net/wireless/broadcom/b43/phy_common.c
150
dev->phy.radio_locked = true;
drivers/net/wireless/broadcom/b43/phy_common.c
167
B43_WARN_ON(!dev->phy.radio_locked);
drivers/net/wireless/broadcom/b43/phy_common.c
168
dev->phy.radio_locked = false;
drivers/net/wireless/broadcom/b43/phy_common.c
182
B43_WARN_ON(dev->phy.phy_locked);
drivers/net/wireless/broadcom/b43/phy_common.c
183
dev->phy.phy_locked = true;
drivers/net/wireless/broadcom/b43/phy_common.c
194
B43_WARN_ON(!dev->phy.phy_locked);
drivers/net/wireless/broadcom/b43/phy_common.c
195
dev->phy.phy_locked = false;
drivers/net/wireless/broadcom/b43/phy_common.c
218
dev->phy.writes_counter = 0;
drivers/net/wireless/broadcom/b43/phy_common.c
219
return dev->phy.ops->radio_read(dev, reg);
drivers/net/wireless/broadcom/b43/phy_common.c
226
++dev->phy.writes_counter > B43_MAX_WRITES_IN_ROW) {
drivers/net/wireless/broadcom/b43/phy_common.c
228
dev->phy.writes_counter = 1;
drivers/net/wireless/broadcom/b43/phy_common.c
230
dev->phy.ops->radio_write(dev, reg, value);
drivers/net/wireless/broadcom/b43/phy_common.c
269
dev->phy.writes_counter = 0;
drivers/net/wireless/broadcom/b43/phy_common.c
271
if (dev->phy.ops->phy_read)
drivers/net/wireless/broadcom/b43/phy_common.c
272
return dev->phy.ops->phy_read(dev, reg);
drivers/net/wireless/broadcom/b43/phy_common.c
282
++dev->phy.writes_counter > B43_MAX_WRITES_IN_ROW) {
drivers/net/wireless/broadcom/b43/phy_common.c
284
dev->phy.writes_counter = 1;
drivers/net/wireless/broadcom/b43/phy_common.c
287
if (dev->phy.ops->phy_write)
drivers/net/wireless/broadcom/b43/phy_common.c
288
return dev->phy.ops->phy_write(dev, reg, value);
drivers/net/wireless/broadcom/b43/phy_common.c
30
struct b43_phy *phy = &(dev->phy);
drivers/net/wireless/broadcom/b43/phy_common.c
301
if (dev->phy.ops->phy_maskset) {
drivers/net/wireless/broadcom/b43/phy_common.c
303
dev->phy.ops->phy_maskset(dev, offset, mask, 0);
drivers/net/wireless/broadcom/b43/phy_common.c
312
if (dev->phy.ops->phy_maskset) {
drivers/net/wireless/broadcom/b43/phy_common.c
314
dev->phy.ops->phy_maskset(dev, offset, 0xFFFF, set);
drivers/net/wireless/broadcom/b43/phy_common.c
323
if (dev->phy.ops->phy_maskset) {
drivers/net/wireless/broadcom/b43/phy_common.c
325
dev->phy.ops->phy_maskset(dev, offset, mask, set);
drivers/net/wireless/broadcom/b43/phy_common.c
33
phy->ops = NULL;
drivers/net/wireless/broadcom/b43/phy_common.c
35
switch (phy->type) {
drivers/net/wireless/broadcom/b43/phy_common.c
38
phy->ops = &b43_phyops_g;
drivers/net/wireless/broadcom/b43/phy_common.c
418
struct b43_phy *phy = &(dev->phy);
drivers/net/wireless/broadcom/b43/phy_common.c
43
phy->ops = &b43_phyops_n;
drivers/net/wireless/broadcom/b43/phy_common.c
435
err = phy->ops->switch_channel(dev, new_channel);
drivers/net/wireless/broadcom/b43/phy_common.c
453
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_common.c
456
phy->ops->software_rfkill(dev, blocked);
drivers/net/wireless/broadcom/b43/phy_common.c
457
phy->radio_on = !blocked;
drivers/net/wireless/broadcom/b43/phy_common.c
476
dev->phy.ops->adjust_txpower(dev);
drivers/net/wireless/broadcom/b43/phy_common.c
48
phy->ops = &b43_phyops_lp;
drivers/net/wireless/broadcom/b43/phy_common.c
483
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_common.c
489
if (time_before(now, phy->next_txpwr_check_time))
drivers/net/wireless/broadcom/b43/phy_common.c
493
phy->next_txpwr_check_time = round_jiffies(now + (HZ * 2));
drivers/net/wireless/broadcom/b43/phy_common.c
499
result = phy->ops->recalc_txpower(dev, !!(flags & B43_TXPWR_IGNORE_TSSI));
drivers/net/wireless/broadcom/b43/phy_common.c
503
B43_WARN_ON(phy->ops->adjust_txpower == NULL);
drivers/net/wireless/broadcom/b43/phy_common.c
53
phy->ops = &b43_phyops_ht;
drivers/net/wireless/broadcom/b43/phy_common.c
559
return dev->phy.chandef->width == NL80211_CHAN_WIDTH_40;
drivers/net/wireless/broadcom/b43/phy_common.c
567
WARN_ON(dev->phy.type != B43_PHYTYPE_N &&
drivers/net/wireless/broadcom/b43/phy_common.c
568
dev->phy.type != B43_PHYTYPE_HT &&
drivers/net/wireless/broadcom/b43/phy_common.c
569
dev->phy.type != B43_PHYTYPE_AC);
drivers/net/wireless/broadcom/b43/phy_common.c
58
phy->ops = &b43_phyops_lcn;
drivers/net/wireless/broadcom/b43/phy_common.c
63
phy->ops = &b43_phyops_ac;
drivers/net/wireless/broadcom/b43/phy_common.c
67
if (B43_WARN_ON(!phy->ops))
drivers/net/wireless/broadcom/b43/phy_common.c
70
err = phy->ops->allocate(dev);
drivers/net/wireless/broadcom/b43/phy_common.c
72
phy->ops = NULL;
drivers/net/wireless/broadcom/b43/phy_common.c
79
dev->phy.ops->free(dev);
drivers/net/wireless/broadcom/b43/phy_common.c
80
dev->phy.ops = NULL;
drivers/net/wireless/broadcom/b43/phy_common.c
85
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_common.c
86
const struct b43_phy_operations *ops = phy->ops;
drivers/net/wireless/broadcom/b43/phy_common.c
92
if (!phy->chandef) {
drivers/net/wireless/broadcom/b43/phy_common.c
93
phy->chandef = &dev->wl->hw->conf.chandef;
drivers/net/wireless/broadcom/b43/phy_common.c
94
phy->channel = phy->chandef->chan->hw_value;
drivers/net/wireless/broadcom/b43/phy_common.c
97
phy->ops->switch_analog(dev, true);
drivers/net/wireless/broadcom/b43/phy_g.c
1000
if (phy->rev != 1) {
drivers/net/wireless/broadcom/b43/phy_g.c
1041
if (phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
1049
if (phy->rev == 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
1052
} else if (phy->rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_g.c
1103
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
1104
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/phy_g.c
1107
if (!phy->gmode)
drivers/net/wireless/broadcom/b43/phy_g.c
1110
if (has_loopback_gain(phy)) {
drivers/net/wireless/broadcom/b43/phy_g.c
1115
if (phy->radio_rev == 8)
drivers/net/wireless/broadcom/b43/phy_g.c
1139
if ((phy->rev < 7) ||
drivers/net/wireless/broadcom/b43/phy_g.c
1179
if ((phy->rev < 7) ||
drivers/net/wireless/broadcom/b43/phy_g.c
119
if (phy->radio_ver == 0x2050 && phy->radio_rev == 8) {
drivers/net/wireless/broadcom/b43/phy_g.c
1247
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
1265
if (phy->type == B43_PHYTYPE_B) {
drivers/net/wireless/broadcom/b43/phy_g.c
1271
} else if (phy->gmode || phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
1284
if (has_loopback_gain(phy)) {
drivers/net/wireless/broadcom/b43/phy_g.c
1288
if (phy->rev >= 3)
drivers/net/wireless/broadcom/b43/phy_g.c
1308
if (phy->analog == 0) {
drivers/net/wireless/broadcom/b43/phy_g.c
1311
if (phy->analog >= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
1320
if (phy->type == B43_PHYTYPE_B)
drivers/net/wireless/broadcom/b43/phy_g.c
1322
if (phy->gmode || phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
1329
if (phy->gmode || phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
1336
if (phy->radio_rev == 8) {
drivers/net/wireless/broadcom/b43/phy_g.c
1348
if (phy->gmode || phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
1356
if (phy->gmode || phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
1364
if (phy->gmode || phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
1374
if (phy->gmode || phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
1396
if (phy->gmode || phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
1405
if (phy->gmode || phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
1414
if (phy->gmode || phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
1425
if (phy->gmode || phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
1449
if (phy->analog != 0)
drivers/net/wireless/broadcom/b43/phy_g.c
1452
b43_synth_pu_workaround(dev, phy->channel);
drivers/net/wireless/broadcom/b43/phy_g.c
1453
if (phy->type == B43_PHYTYPE_B) {
drivers/net/wireless/broadcom/b43/phy_g.c
1456
} else if (phy->gmode) {
drivers/net/wireless/broadcom/b43/phy_g.c
1467
if (has_loopback_gain(phy)) {
drivers/net/wireless/broadcom/b43/phy_g.c
1482
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
1483
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/phy_g.c
1487
if (phy->analog == 1) {
drivers/net/wireless/broadcom/b43/phy_g.c
1499
if (phy->radio_ver == 0x2050)
drivers/net/wireless/broadcom/b43/phy_g.c
1502
if (phy->gmode || phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
1503
if (phy->radio_ver == 0x2050) {
drivers/net/wireless/broadcom/b43/phy_g.c
1523
if (phy->analog == 1) {
drivers/net/wireless/broadcom/b43/phy_g.c
1534
if (phy->analog == 1)
drivers/net/wireless/broadcom/b43/phy_g.c
1539
if (phy->analog == 0)
drivers/net/wireless/broadcom/b43/phy_g.c
1542
old_channel = phy->channel;
drivers/net/wireless/broadcom/b43/phy_g.c
1546
if (phy->radio_ver != 0x2050) {
drivers/net/wireless/broadcom/b43/phy_g.c
1554
if (phy->radio_ver == 0x2050) {
drivers/net/wireless/broadcom/b43/phy_g.c
1572
if (phy->radio_ver == 0x2050)
drivers/net/wireless/broadcom/b43/phy_g.c
1581
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
1582
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/phy_g.c
1589
if (phy->radio_rev == 4 || phy->radio_rev == 5) {
drivers/net/wireless/broadcom/b43/phy_g.c
1602
B43_WARN_ON(phy->radio_rev == 6 || phy->radio_rev == 7); /* We had code for these revs here... */
drivers/net/wireless/broadcom/b43/phy_g.c
1603
if (phy->radio_rev == 8) {
drivers/net/wireless/broadcom/b43/phy_g.c
1638
if (phy->type == B43_PHYTYPE_G) {
drivers/net/wireless/broadcom/b43/phy_g.c
1647
old_channel = phy->channel;
drivers/net/wireless/broadcom/b43/phy_g.c
1656
if (phy->radio_rev < 6 || phy->radio_rev == 8) {
drivers/net/wireless/broadcom/b43/phy_g.c
166
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
1661
if (phy->radio_rev <= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
1672
if (phy->radio_rev >= 6)
drivers/net/wireless/broadcom/b43/phy_g.c
1678
if (phy->radio_rev == 4 || phy->radio_rev == 5)
drivers/net/wireless/broadcom/b43/phy_g.c
1680
if (phy->radio_rev <= 2)
drivers/net/wireless/broadcom/b43/phy_g.c
1683
if (phy->analog == 4) {
drivers/net/wireless/broadcom/b43/phy_g.c
1689
if (phy->type == B43_PHYTYPE_B)
drivers/net/wireless/broadcom/b43/phy_g.c
1691
else if (phy->type == B43_PHYTYPE_G)
drivers/net/wireless/broadcom/b43/phy_g.c
1697
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
1698
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/phy_g.c
170
if (phy->radio_ver != 0x2050 || phy->radio_rev >= 6) {
drivers/net/wireless/broadcom/b43/phy_g.c
1710
if (phy->rev != 1) { /* Not in specs, but needed to prevent PPC machine check */
drivers/net/wireless/broadcom/b43/phy_g.c
1735
if (phy->rev != 1) { /* Not in specs, but needed to prevent PPC machine check */
drivers/net/wireless/broadcom/b43/phy_g.c
1751
if (phy->rev != 1) { /* Not in specs, but needed to prevent PPC machine check */
drivers/net/wireless/broadcom/b43/phy_g.c
1757
if (phy->radio_rev == 8) {
drivers/net/wireless/broadcom/b43/phy_g.c
1765
if (phy->rev >= 3)
drivers/net/wireless/broadcom/b43/phy_g.c
1778
if (phy->rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_g.c
1786
loop_i_max = (phy->radio_rev == 8) ? 15 : 9;
drivers/net/wireless/broadcom/b43/phy_g.c
1817
if (phy->rev != 1) { /* Not in specs, but needed to prevent PPC machine check */
drivers/net/wireless/broadcom/b43/phy_g.c
1851
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
1862
if (phy->radio_ver == 0x2050 && phy->radio_rev == 8) {
drivers/net/wireless/broadcom/b43/phy_g.c
1882
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
1883
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/phy_g.c
189
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
1898
B43_WARN_ON(phy->rev < 6);
drivers/net/wireless/broadcom/b43/phy_g.c
191
if (phy->analog == 0) {
drivers/net/wireless/broadcom/b43/phy_g.c
1912
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
1913
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/phy_g.c
1918
B43_WARN_ON(phy->type != B43_PHYTYPE_G);
drivers/net/wireless/broadcom/b43/phy_g.c
1930
if (!phy->gmode)
drivers/net/wireless/broadcom/b43/phy_g.c
1934
if (phy->radio_ver == 0x2050 && phy->analog == 0) {
drivers/net/wireless/broadcom/b43/phy_g.c
1945
if (phy->radio_rev == 8) {
drivers/net/wireless/broadcom/b43/phy_g.c
195
} else if (phy->analog > 1) {
drivers/net/wireless/broadcom/b43/phy_g.c
1967
if (phy->radio_ver == 0x2050 && phy->analog == 0) {
drivers/net/wireless/broadcom/b43/phy_g.c
1980
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
1984
if (phy->rev >= 6) {
drivers/net/wireless/broadcom/b43/phy_g.c
1999
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
2000
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/phy_g.c
2003
if (phy->rev == 1)
drivers/net/wireless/broadcom/b43/phy_g.c
2008
if (phy->rev >= 2 || phy->gmode)
drivers/net/wireless/broadcom/b43/phy_g.c
2011
if (phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
2015
if (phy->rev == 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
2019
if (phy->rev > 5) {
drivers/net/wireless/broadcom/b43/phy_g.c
2023
if (phy->gmode || phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
2034
if ((phy->rev <= 2 && phy->gmode) || phy->rev >= 2)
drivers/net/wireless/broadcom/b43/phy_g.c
2036
if (phy->radio_rev == 8) {
drivers/net/wireless/broadcom/b43/phy_g.c
2040
if (has_loopback_gain(phy))
drivers/net/wireless/broadcom/b43/phy_g.c
2043
if (phy->radio_rev != 8) {
drivers/net/wireless/broadcom/b43/phy_g.c
2050
if (has_tx_magnification(phy)) {
drivers/net/wireless/broadcom/b43/phy_g.c
2058
if (phy->rev >= 6) {
drivers/net/wireless/broadcom/b43/phy_g.c
2065
if (phy->rev < 2)
drivers/net/wireless/broadcom/b43/phy_g.c
2069
if (phy->gmode || phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
207
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
208
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/phy_g.c
2083
} else if (phy->gmode || phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
2090
if (phy->radio_rev == 8)
drivers/net/wireless/broadcom/b43/phy_g.c
2133
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
2135
if (phy->radio_ver == 0x2050 && phy->radio_rev < 6)
drivers/net/wireless/broadcom/b43/phy_g.c
2145
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
2160
switch (phy->radio_ver) {
drivers/net/wireless/broadcom/b43/phy_g.c
2162
switch (phy->radio_rev) {
drivers/net/wireless/broadcom/b43/phy_g.c
2169
switch (phy->radio_rev) {
drivers/net/wireless/broadcom/b43/phy_g.c
2174
if (phy->type == B43_PHYTYPE_G) {
drivers/net/wireless/broadcom/b43/phy_g.c
2196
if (phy->type == B43_PHYTYPE_G) {
drivers/net/wireless/broadcom/b43/phy_g.c
2239
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
2241
if (phy->radio_ver != 0x2050)
drivers/net/wireless/broadcom/b43/phy_g.c
2243
if (phy->radio_rev == 1)
drivers/net/wireless/broadcom/b43/phy_g.c
2245
if (phy->radio_rev < 6)
drivers/net/wireless/broadcom/b43/phy_g.c
2247
if (phy->radio_rev == 8)
drivers/net/wireless/broadcom/b43/phy_g.c
2254
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
2255
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/phy_g.c
2286
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
2288
unsigned int channel = phy->channel;
drivers/net/wireless/broadcom/b43/phy_g.c
2291
if (!((phy->type == B43_PHYTYPE_G) && (phy->rev > 0)))
drivers/net/wireless/broadcom/b43/phy_g.c
236
if (phy->radio_ver == 0x2050 && phy->radio_rev == 8) {
drivers/net/wireless/broadcom/b43/phy_g.c
2383
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
2384
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/phy_g.c
2392
(phy->radio_ver != 0x2050)); /* Not supported anymore */
drivers/net/wireless/broadcom/b43/phy_g.c
243
if (has_tx_magnification(phy)) {
drivers/net/wireless/broadcom/b43/phy_g.c
2430
dev->phy.g = gphy;
drivers/net/wireless/broadcom/b43/phy_g.c
2455
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
2456
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/phy_g.c
2502
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
2503
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/phy_g.c
2513
dev->phy.g = NULL;
drivers/net/wireless/broadcom/b43/phy_g.c
2518
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
2519
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/phy_g.c
2522
B43_WARN_ON(phy->type != B43_PHYTYPE_G);
drivers/net/wireless/broadcom/b43/phy_g.c
2533
if (phy->rev == 1) {
drivers/net/wireless/broadcom/b43/phy_g.c
2536
phy->gmode = false;
drivers/net/wireless/broadcom/b43/phy_g.c
2539
phy->gmode = true;
drivers/net/wireless/broadcom/b43/phy_g.c
254
struct b43_phy_g *gphy = dev->phy.g;
drivers/net/wireless/broadcom/b43/phy_g.c
2592
return (dev->phy.rev >= 6);
drivers/net/wireless/broadcom/b43/phy_g.c
2598
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
2599
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/phy_g.c
2606
if (phy->radio_on)
drivers/net/wireless/broadcom/b43/phy_g.c
2611
b43_phy_write(dev, 0x0015, (phy->gmode ? 0x00C0 : 0x0000));
drivers/net/wireless/broadcom/b43/phy_g.c
2620
channel = phy->channel;
drivers/net/wireless/broadcom/b43/phy_g.c
2654
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
2690
if (phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
2694
if (phy->rev == 2)
drivers/net/wireless/broadcom/b43/phy_g.c
2699
if (phy->rev >= 6)
drivers/net/wireless/broadcom/b43/phy_g.c
2708
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
2709
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/phy_g.c
2712
B43_WARN_ON(phy->type != B43_PHYTYPE_G);
drivers/net/wireless/broadcom/b43/phy_g.c
2713
if ((phy->rev == 0) || (!phy->gmode))
drivers/net/wireless/broadcom/b43/phy_g.c
272
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
273
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/phy_g.c
2754
struct b43_phy_g *gphy = dev->phy.g;
drivers/net/wireless/broadcom/b43/phy_g.c
2770
struct b43_txpower_lo_control *lo = dev->phy.g->lo_control;
drivers/net/wireless/broadcom/b43/phy_g.c
2820
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
2821
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/phy_g.c
2835
if ((phy->radio_ver == 0x2050) && (phy->radio_rev == 2)) {
drivers/net/wireless/broadcom/b43/phy_g.c
285
if (phy->radio_rev == 8)
drivers/net/wireless/broadcom/b43/phy_g.c
2883
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
2884
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/phy_g.c
2916
B43_WARN_ON(phy->type != B43_PHYTYPE_G);
drivers/net/wireless/broadcom/b43/phy_g.c
2928
if (phy->desired_txpower < 0)
drivers/net/wireless/broadcom/b43/phy_g.c
2931
desired_pwr = INT_TO_Q52(phy->desired_txpower);
drivers/net/wireless/broadcom/b43/phy_g.c
299
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
2990
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
2991
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/phy_g.c
2998
phy->ops->interf_mitigation(dev,
drivers/net/wireless/broadcom/b43/phy_g.c
3003
phy->ops->interf_mitigation(dev, B43_INTERFMODE_NONE);
drivers/net/wireless/broadcom/b43/phy_g.c
3006
phy->rev == 1) {
drivers/net/wireless/broadcom/b43/phy_g.c
3015
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
3022
if ((phy->radio_ver == 0x2050) && (phy->radio_rev == 8)) {
drivers/net/wireless/broadcom/b43/phy_g.c
3023
u8 old_chan = phy->channel;
drivers/net/wireless/broadcom/b43/phy_g.c
305
if (phy->rev <= 1) {
drivers/net/wireless/broadcom/b43/phy_g.c
311
if (phy->rev <= 1)
drivers/net/wireless/broadcom/b43/phy_g.c
330
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
335
if (phy->rev <= 1) {
drivers/net/wireless/broadcom/b43/phy_g.c
341
if (phy->rev <= 1)
drivers/net/wireless/broadcom/b43/phy_g.c
395
struct b43_phy_g *gphy = dev->phy.g;
drivers/net/wireless/broadcom/b43/phy_g.c
411
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
420
if (phy->rev != 1) { /* Not in specs, but needed to prevent PPC machine check */
drivers/net/wireless/broadcom/b43/phy_g.c
437
if (phy->rev >= 6) {
drivers/net/wireless/broadcom/b43/phy_g.c
478
if (phy->rev != 1) { /* Not in specs, but needed to prevent PPC machine check */
drivers/net/wireless/broadcom/b43/phy_g.c
489
if (phy->rev == 0) {
drivers/net/wireless/broadcom/b43/phy_g.c
494
if (phy->rev != 1) { /* Not in specs, but needed to prevent PPC machine check */
drivers/net/wireless/broadcom/b43/phy_g.c
525
if (phy->rev >= 6) {
drivers/net/wireless/broadcom/b43/phy_g.c
531
if (phy->rev != 1) { /* Not in specs, but needed to prevent PPC machine check */
drivers/net/wireless/broadcom/b43/phy_g.c
545
if (phy->rev >= 6) {
drivers/net/wireless/broadcom/b43/phy_g.c
558
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
559
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/phy_g.c
564
B43_WARN_ON(phy->type != B43_PHYTYPE_G);
drivers/net/wireless/broadcom/b43/phy_g.c
566
if (phy->radio_rev >= 9)
drivers/net/wireless/broadcom/b43/phy_g.c
568
if (phy->radio_rev == 8)
drivers/net/wireless/broadcom/b43/phy_g.c
584
if (phy->rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_g.c
595
switch (phy->rev) {
drivers/net/wireless/broadcom/b43/phy_g.c
613
if (phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
625
if (phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
634
if (phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
640
if (phy->radio_rev == 8) {
drivers/net/wireless/broadcom/b43/phy_g.c
663
if (phy->rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_g.c
669
if (phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
684
b43_synth_pu_workaround(dev, phy->channel);
drivers/net/wireless/broadcom/b43/phy_g.c
688
if (phy->rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_g.c
700
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
701
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/phy_g.c
706
B43_WARN_ON(phy->type != B43_PHYTYPE_G);
drivers/net/wireless/broadcom/b43/phy_g.c
708
if (!phy->gmode ||
drivers/net/wireless/broadcom/b43/phy_g.c
71
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
828
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
829
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/phy_g.c
836
if (phy->rev != 1) {
drivers/net/wireless/broadcom/b43/phy_g.c
892
if (phy->rev < 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
911
if (phy->rev == 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
914
} else if (phy->rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_g.c
938
if (phy->rev < 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
940
} else if (phy->rev == 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
962
if (phy->rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_g.c
972
if (phy->rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
976
if (phy->rev == 2) {
drivers/net/wireless/broadcom/b43/phy_g.c
979
} else if (phy->rev >= 6) {
drivers/net/wireless/broadcom/b43/phy_g.c
994
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_g.c
995
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/phy_g.h
60
#define has_tx_magnification(phy) \
drivers/net/wireless/broadcom/b43/phy_g.h
61
(((phy)->rev >= 2) && \
drivers/net/wireless/broadcom/b43/phy_g.h
62
((phy)->radio_ver == 0x2050) && \
drivers/net/wireless/broadcom/b43/phy_g.h
63
((phy)->radio_rev == 8))
drivers/net/wireless/broadcom/b43/phy_g.h
65
#define has_loopback_gain(phy) \
drivers/net/wireless/broadcom/b43/phy_g.h
66
(((phy)->rev > 1) || ((phy)->gmode))
drivers/net/wireless/broadcom/b43/phy_ht.c
1011
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_ht.c
1012
struct b43_phy_ht *phy_ht = phy->ht;
drivers/net/wireless/broadcom/b43/phy_ht.c
1015
phy->ht = NULL;
drivers/net/wireless/broadcom/b43/phy_ht.c
1029
if (dev->phy.radio_ver == 0x2059)
drivers/net/wireless/broadcom/b43/phy_ht.c
1034
b43_switch_channel(dev, dev->phy.channel);
drivers/net/wireless/broadcom/b43/phy_ht.c
198
struct b43_phy_ht *htphy = dev->phy.ht;
drivers/net/wireless/broadcom/b43/phy_ht.c
337
struct b43_phy_ht *phy_ht = dev->phy.ht;
drivers/net/wireless/broadcom/b43/phy_ht.c
377
struct b43_phy_ht *phy_ht = dev->phy.ht;
drivers/net/wireless/broadcom/b43/phy_ht.c
535
struct b43_phy_ht *phy_ht = dev->phy.ht;
drivers/net/wireless/broadcom/b43/phy_ht.c
575
struct b43_phy_ht *phy_ht = dev->phy.ht;
drivers/net/wireless/broadcom/b43/phy_ht.c
623
struct b43_phy_ht *phy_ht = dev->phy.ht;
drivers/net/wireless/broadcom/b43/phy_ht.c
630
u16 freq = dev->phy.chandef->chan->center_freq;
drivers/net/wireless/broadcom/b43/phy_ht.c
811
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_ht.c
815
if (phy->radio_ver == 0x2059) {
drivers/net/wireless/broadcom/b43/phy_ht.c
826
if (phy->radio_ver == 0x2059) {
drivers/net/wireless/broadcom/b43/phy_ht.c
848
dev->phy.ht = phy_ht;
drivers/net/wireless/broadcom/b43/phy_ht.c
855
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_ht.c
856
struct b43_phy_ht *phy_ht = phy->ht;
drivers/net/wireless/broadcom/b43/phy_ht.c
871
struct b43_phy_ht *phy_ht = dev->phy.ht;
drivers/net/wireless/broadcom/b43/phy_lcn.c
101
if (dev->phy.rev == 1) {
drivers/net/wireless/broadcom/b43/phy_lcn.c
121
if (dev->phy.rev == 1) {
drivers/net/wireless/broadcom/b43/phy_lcn.c
285
if (dev->phy.rev == 1) {
drivers/net/wireless/broadcom/b43/phy_lcn.c
341
tx_pwr_idx = dev->phy.lcn->tx_pwr_curr_idx;
drivers/net/wireless/broadcom/b43/phy_lcn.c
537
if (!dev->phy.lcn->hw_pwr_ctl_capable) {
drivers/net/wireless/broadcom/b43/phy_lcn.c
675
dev->phy.lcn = phy_lcn;
drivers/net/wireless/broadcom/b43/phy_lcn.c
682
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_lcn.c
683
struct b43_phy_lcn *phy_lcn = phy->lcn;
drivers/net/wireless/broadcom/b43/phy_lcn.c
686
phy->lcn = NULL;
drivers/net/wireless/broadcom/b43/phy_lcn.c
691
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_lcn.c
692
struct b43_phy_lcn *phy_lcn = phy->lcn;
drivers/net/wireless/broadcom/b43/phy_lcn.c
718
if (dev->phy.radio_ver == 0x2064)
drivers/net/wireless/broadcom/b43/phy_lcn.c
726
b43_switch_channel(dev, dev->phy.channel);
drivers/net/wireless/broadcom/b43/phy_lp.c
1088
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
1112
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
1136
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
1160
if (dev->phy.rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_lp.c
1174
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
1330
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
1332
if (dev->phy.rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_lp.c
1344
if (dev->phy.rev >= 2)
drivers/net/wireless/broadcom/b43/phy_lp.c
1357
dev->phy.lp->antenna = antenna;
drivers/net/wireless/broadcom/b43/phy_lp.c
1371
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
1379
if (dev->phy.rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_lp.c
1397
if (dev->phy.rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_lp.c
1403
if (dev->phy.rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_lp.c
1422
if (dev->phy.rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_lp.c
1436
if (dev->phy.rev >= 2)
drivers/net/wireless/broadcom/b43/phy_lp.c
1446
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
1449
if (dev->phy.rev < 2) { //SPEC FIXME Isn't this rev0/1-specific?
drivers/net/wireless/broadcom/b43/phy_lp.c
1451
if ((dev->phy.rev == 1) && (lpphy->rc_cap))
drivers/net/wireless/broadcom/b43/phy_lp.c
1484
if (dev->phy.rev >= 2)
drivers/net/wireless/broadcom/b43/phy_lp.c
1493
if (dev->phy.rev < 2) {
drivers/net/wireless/broadcom/b43/phy_lp.c
1514
if (dev->phy.rev < 2) {
drivers/net/wireless/broadcom/b43/phy_lp.c
1566
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
1585
if (dev->phy.rev < 2) {
drivers/net/wireless/broadcom/b43/phy_lp.c
159
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
1598
if (dev->phy.rev < 2) {
drivers/net/wireless/broadcom/b43/phy_lp.c
163
B43_WARN_ON(dev->phy.rev >= 2);
drivers/net/wireless/broadcom/b43/phy_lp.c
1769
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
1802
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
1818
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
1842
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
1857
} else if (dev->phy.rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_lp.c
186
if (dev->phy.rev < 2)
drivers/net/wireless/broadcom/b43/phy_lp.c
193
if (dev->phy.rev < 2)
drivers/net/wireless/broadcom/b43/phy_lp.c
1934
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
1946
if (dev->phy.rev >= 2)
drivers/net/wireless/broadcom/b43/phy_lp.c
1952
if ((dev->phy.rev == 0) && (saved_pctl_mode != B43_LPPHY_TXPCTL_OFF))
drivers/net/wireless/broadcom/b43/phy_lp.c
1954
if ((dev->phy.rev >= 2) && full_cal) {
drivers/net/wireless/broadcom/b43/phy_lp.c
1958
if (dev->phy.rev >= 2)
drivers/net/wireless/broadcom/b43/phy_lp.c
1978
if (dev->phy.rev < 2) {
drivers/net/wireless/broadcom/b43/phy_lp.c
201
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
233
if (dev->phy.rev == 0) {
drivers/net/wireless/broadcom/b43/phy_lp.c
2389
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
253
if (dev->phy.rev == 1 &&
drivers/net/wireless/broadcom/b43/phy_lp.c
2603
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
2606
if (dev->phy.radio_ver == 0x2063) {
drivers/net/wireless/broadcom/b43/phy_lp.c
273
(dev->phy.rev == 0 && (sprom->boardflags_lo & B43_BFL_FEM))) {
drivers/net/wireless/broadcom/b43/phy_lp.c
282
} else if (dev->phy.rev == 1 ||
drivers/net/wireless/broadcom/b43/phy_lp.c
302
if (dev->phy.rev == 1 && (sprom->boardflags_hi & B43_BFH_PAREF)) {
drivers/net/wireless/broadcom/b43/phy_lp.c
330
if (dev->phy.rev == 1) {
drivers/net/wireless/broadcom/b43/phy_lp.c
366
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
389
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
398
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
489
if (dev->phy.rev >= 2)
drivers/net/wireless/broadcom/b43/phy_lp.c
49
dev->phy.lp = lpphy;
drivers/net/wireless/broadcom/b43/phy_lp.c
503
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
534
if (dev->phy.rev > 0) {
drivers/net/wireless/broadcom/b43/phy_lp.c
56
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_lp.c
57
struct b43_phy_lp *lpphy = phy->lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
601
if (dev->phy.rev == 2) {
drivers/net/wireless/broadcom/b43/phy_lp.c
67
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
675
if (dev->phy.radio_ver == 0x2062) {
drivers/net/wireless/broadcom/b43/phy_lp.c
692
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
696
if (dev->phy.rev == 1) //FIXME check channel 14!
drivers/net/wireless/broadcom/b43/phy_lp.c
70
dev->phy.lp = NULL;
drivers/net/wireless/broadcom/b43/phy_lp.c
718
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
729
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
77
struct b43_phy_lp *lpphy = dev->phy.lp;
drivers/net/wireless/broadcom/b43/phy_lp.c
796
if (dev->phy.rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_lp.c
812
if (dev->phy.rev >= 2) {
drivers/net/wireless/broadcom/b43/phy_lp.c
825
if (dev->phy.rev < 2)
drivers/net/wireless/broadcom/b43/phy_lp.c
836
if (dev->phy.rev < 2)
drivers/net/wireless/broadcom/b43/phy_lp.c
851
if (dev->phy.rev < 2) {
drivers/net/wireless/broadcom/b43/phy_lp.c
890
if (dev->phy.rev < 2) {
drivers/net/wireless/broadcom/b43/phy_lp.c
952
if (dev->phy.rev < 2)
drivers/net/wireless/broadcom/b43/phy_n.c
1026
if (dev->phy.do_full_init) {
drivers/net/wireless/broadcom/b43/phy_n.c
1124
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
1134
B43_WARN_ON(dev->phy.rev < 3);
drivers/net/wireless/broadcom/b43/phy_n.c
1173
if (dev->phy.n->ipa2g_on && band == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
1176
if (dev->phy.rev >= 5) {
drivers/net/wireless/broadcom/b43/phy_n.c
1235
} else if (dev->phy.n->ipa5g_on && band == NL80211_BAND_5GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
1236
u16 freq = phy->chandef->chan->center_freq;
drivers/net/wireless/broadcom/b43/phy_n.c
1302
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
1305
if (phy->rev != 3)
drivers/net/wireless/broadcom/b43/phy_n.c
1353
if (dev->phy.do_full_init)
drivers/net/wireless/broadcom/b43/phy_n.c
1413
B43_WARN_ON(dev->phy.rev >= 3);
drivers/net/wireless/broadcom/b43/phy_n.c
1437
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
1464
b43_switch_channel(dev, dev->phy.channel);
drivers/net/wireless/broadcom/b43/phy_n.c
1505
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
154
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
1577
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
1578
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
1585
if (phy->rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
1595
if (phy->rev >= 19)
drivers/net/wireless/broadcom/b43/phy_n.c
164
if (phy->rev >= 19 || phy->rev < 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
1807
if (dev->phy.rev < 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
1902
if (dev->phy.rev >= 19)
drivers/net/wireless/broadcom/b43/phy_n.c
1904
else if (dev->phy.rev >= 3)
drivers/net/wireless/broadcom/b43/phy_n.c
1950
if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
1976
if (dev->phy.rev < 2) {
drivers/net/wireless/broadcom/b43/phy_n.c
1985
if (dev->phy.rev < 2) {
drivers/net/wireless/broadcom/b43/phy_n.c
2001
if (dev->phy.rev < 2)
drivers/net/wireless/broadcom/b43/phy_n.c
2004
if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
201
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
2031
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
2032
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
204
B43_WARN_ON(phy->rev < 7);
drivers/net/wireless/broadcom/b43/phy_n.c
2080
if (dev->phy.rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
2102
if (dev->phy.rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
2148
if (dev->phy.rev >= 7)
drivers/net/wireless/broadcom/b43/phy_n.c
2182
if (dev->phy.rev >= 7)
drivers/net/wireless/broadcom/b43/phy_n.c
2255
if (dev->phy.rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
2281
nphy->rssical_chanspec_2G.center_freq = phy->chandef->chan->center_freq;
drivers/net/wireless/broadcom/b43/phy_n.c
2283
nphy->rssical_chanspec_5G.center_freq = phy->chandef->chan->center_freq;
drivers/net/wireless/broadcom/b43/phy_n.c
2460
if (dev->phy.rev >= 19) {
drivers/net/wireless/broadcom/b43/phy_n.c
2462
} else if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
250
if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
2502
if (ghz5 && dev->phy.rev >= 5)
drivers/net/wireless/broadcom/b43/phy_n.c
2572
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
2658
if (dev->phy.rev == 2) {
drivers/net/wireless/broadcom/b43/phy_n.c
2682
if (dev->phy.rev >= 19)
drivers/net/wireless/broadcom/b43/phy_n.c
2684
else if (dev->phy.rev >= 7)
drivers/net/wireless/broadcom/b43/phy_n.c
2686
else if (dev->phy.rev >= 3)
drivers/net/wireless/broadcom/b43/phy_n.c
2695
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
2730
if (phy->rev == 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
2750
if (phy->rev >= 16) {
drivers/net/wireless/broadcom/b43/phy_n.c
2753
} else if (phy->rev <= 8) {
drivers/net/wireless/broadcom/b43/phy_n.c
2758
if (phy->rev >= 16)
drivers/net/wireless/broadcom/b43/phy_n.c
2760
else if (phy->rev >= 8)
drivers/net/wireless/broadcom/b43/phy_n.c
2792
switch (phy->radio_rev) {
drivers/net/wireless/broadcom/b43/phy_n.c
2795
if (phy->rev == 8 && b43_is_40mhz(dev)) {
drivers/net/wireless/broadcom/b43/phy_n.c
2807
if (phy->rev == 9) {
drivers/net/wireless/broadcom/b43/phy_n.c
2887
if (phy->radio_rev == 5) {
drivers/net/wireless/broadcom/b43/phy_n.c
2950
if (phy->radio_rev == 4 || phy->radio_rev == 6)
drivers/net/wireless/broadcom/b43/phy_n.c
2953
if (phy->radio_rev == 3 || phy->radio_rev == 4 || phy->radio_rev == 6) {
drivers/net/wireless/broadcom/b43/phy_n.c
2986
if (phy->radio_rev == 3 || phy->radio_rev == 4 ||
drivers/net/wireless/broadcom/b43/phy_n.c
2987
phy->radio_rev == 6) {
drivers/net/wireless/broadcom/b43/phy_n.c
2997
switch (phy->radio_rev) {
drivers/net/wireless/broadcom/b43/phy_n.c
3051
u16 freq = phy->chandef->chan->center_freq;
drivers/net/wireless/broadcom/b43/phy_n.c
3059
if (phy->radio_rev != 5) {
drivers/net/wireless/broadcom/b43/phy_n.c
3072
if (phy->radio_rev == 4) {
drivers/net/wireless/broadcom/b43/phy_n.c
3139
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
3235
if (!(dev->phy.rev >= 4 &&
drivers/net/wireless/broadcom/b43/phy_n.c
3247
if (dev->phy.rev >= 6) {
drivers/net/wireless/broadcom/b43/phy_n.c
3253
} else if (dev->phy.rev == 5) {
drivers/net/wireless/broadcom/b43/phy_n.c
3319
if (dev->phy.rev == 4 &&
drivers/net/wireless/broadcom/b43/phy_n.c
3341
if (dev->phy.rev >= 6 && sprom->boardflags2_lo & B43_BFL2_SINGLEANT_CCK) {
drivers/net/wireless/broadcom/b43/phy_n.c
3349
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
3350
struct b43_phy_n *nphy = phy->n;
drivers/net/wireless/broadcom/b43/phy_n.c
3375
if (dev->phy.rev < 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
3380
if (dev->phy.rev < 2) {
drivers/net/wireless/broadcom/b43/phy_n.c
3399
if (dev->phy.rev < 2) {
drivers/net/wireless/broadcom/b43/phy_n.c
3403
} else if (dev->phy.rev == 2) {
drivers/net/wireless/broadcom/b43/phy_n.c
3408
if (dev->phy.rev < 2)
drivers/net/wireless/broadcom/b43/phy_n.c
3420
if (dev->phy.rev < 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
3428
if (dev->phy.rev == 2)
drivers/net/wireless/broadcom/b43/phy_n.c
3436
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
3437
struct b43_phy_n *nphy = phy->n;
drivers/net/wireless/broadcom/b43/phy_n.c
3451
if (dev->phy.rev >= 7)
drivers/net/wireless/broadcom/b43/phy_n.c
3453
else if (dev->phy.rev >= 3)
drivers/net/wireless/broadcom/b43/phy_n.c
3484
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
3512
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
3513
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
3533
if (phy->rev >= 7 && nphy->lpf_bw_overrode_for_sample_play) {
drivers/net/wireless/broadcom/b43/phy_n.c
3534
if (phy->rev >= 19)
drivers/net/wireless/broadcom/b43/phy_n.c
3551
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
3555
if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
3561
if (phy->rev >= 19) {
drivers/net/wireless/broadcom/b43/phy_n.c
3563
} else if (phy->rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
3598
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
3599
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
3609
if (dev->phy.rev >= 3 &&
drivers/net/wireless/broadcom/b43/phy_n.c
3630
if (dev->phy.rev >= 3)
drivers/net/wireless/broadcom/b43/phy_n.c
3634
if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
3641
if (dev->phy.rev == 2)
drivers/net/wireless/broadcom/b43/phy_n.c
3644
else if (dev->phy.rev < 2)
drivers/net/wireless/broadcom/b43/phy_n.c
3648
if (dev->phy.rev < 2 && b43_is_40mhz(dev))
drivers/net/wireless/broadcom/b43/phy_n.c
3660
if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
3668
if (phy->rev >= 19) {
drivers/net/wireless/broadcom/b43/phy_n.c
3670
} else if (phy->rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
3681
if (phy->rev > 1)
drivers/net/wireless/broadcom/b43/phy_n.c
3689
if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
3696
if (dev->phy.rev > 1)
drivers/net/wireless/broadcom/b43/phy_n.c
3703
if (phy->rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
3707
if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
3714
if (dev->phy.rev == 2)
drivers/net/wireless/broadcom/b43/phy_n.c
3716
else if (dev->phy.rev < 2)
drivers/net/wireless/broadcom/b43/phy_n.c
3719
if (dev->phy.rev < 2 && b43_is_40mhz(dev))
drivers/net/wireless/broadcom/b43/phy_n.c
3735
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
3736
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
3741
u16 freq = phy->chandef->chan->center_freq;
drivers/net/wireless/broadcom/b43/phy_n.c
3749
if (dev->phy.rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
3751
} else if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
3775
if (dev->phy.rev < 7 &&
drivers/net/wireless/broadcom/b43/phy_n.c
3793
if (dev->phy.rev >= 3)
drivers/net/wireless/broadcom/b43/phy_n.c
3798
if (dev->phy.rev >= 7)
drivers/net/wireless/broadcom/b43/phy_n.c
3804
if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
3846
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
3851
if (phy->rev >= 19) {
drivers/net/wireless/broadcom/b43/phy_n.c
3853
} else if (phy->rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
3859
if (phy->rev != 5)
drivers/net/wireless/broadcom/b43/phy_n.c
3861
if (phy->rev != 7)
drivers/net/wireless/broadcom/b43/phy_n.c
3869
if (phy->rev != 5)
drivers/net/wireless/broadcom/b43/phy_n.c
3900
if (phy->rev != 5)
drivers/net/wireless/broadcom/b43/phy_n.c
3903
if (phy->rev >= 5)
drivers/net/wireless/broadcom/b43/phy_n.c
393
if (dev->phy.rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
3930
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
3931
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
3936
if (phy->chandef->chan->flags & IEEE80211_CHAN_NO_IR)
drivers/net/wireless/broadcom/b43/phy_n.c
3942
if (phy->rev >= 19)
drivers/net/wireless/broadcom/b43/phy_n.c
3944
else if (phy->rev >= 7)
drivers/net/wireless/broadcom/b43/phy_n.c
3946
else if (phy->rev >= 3)
drivers/net/wireless/broadcom/b43/phy_n.c
3957
if (phy->rev >= 19)
drivers/net/wireless/broadcom/b43/phy_n.c
3959
else if (phy->rev >= 7)
drivers/net/wireless/broadcom/b43/phy_n.c
3961
else if (phy->rev >= 3)
drivers/net/wireless/broadcom/b43/phy_n.c
3964
if (phy->rev >= 19) {
drivers/net/wireless/broadcom/b43/phy_n.c
3967
} else if (phy->rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
3981
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
399
B43_WARN_ON(dev->phy.rev < 3);
drivers/net/wireless/broadcom/b43/phy_n.c
4007
if (b43_is_40mhz(dev) && dev->phy.rev >= 5) {
drivers/net/wireless/broadcom/b43/phy_n.c
4042
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
4043
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
4053
u16 freq = phy->chandef->chan->center_freq;
drivers/net/wireless/broadcom/b43/phy_n.c
4068
if (dev->phy.rev >= 3)
drivers/net/wireless/broadcom/b43/phy_n.c
4134
if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
4137
if (dev->phy.rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
4165
if (phy->rev >= 19) {
drivers/net/wireless/broadcom/b43/phy_n.c
4167
} else if (phy->rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
4175
if (dev->phy.rev > 1)
drivers/net/wireless/broadcom/b43/phy_n.c
4199
if (dev->phy.rev < 3 && (i <= (31 - idle[c] + 1)))
drivers/net/wireless/broadcom/b43/phy_n.c
4216
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
4231
if (phy->rev < 3)
drivers/net/wireless/broadcom/b43/phy_n.c
4238
if (phy->rev >= 19) {
drivers/net/wireless/broadcom/b43/phy_n.c
4240
} else if (phy->rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
4249
if (phy->rev >= 19) {
drivers/net/wireless/broadcom/b43/phy_n.c
4252
} else if (phy->rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
4275
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
4285
if (dev->phy.rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
4287
} else if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
4316
if (dev->phy.rev < 3 || dev->phy.rev >= 7)
drivers/net/wireless/broadcom/b43/phy_n.c
4394
u16 *regs = dev->phy.n->tx_rx_cal_phy_saveregs;
drivers/net/wireless/broadcom/b43/phy_n.c
4418
u16 *regs = dev->phy.n->tx_rx_cal_phy_saveregs;
drivers/net/wireless/broadcom/b43/phy_n.c
4550
if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
4558
if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
4589
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
4591
B43_WARN_ON(dev->phy.rev < 3);
drivers/net/wireless/broadcom/b43/phy_n.c
4603
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
4635
if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
4642
if (dev->phy.rev < 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
4655
if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
4672
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
4689
if (dev->phy.rev >= 19) {
drivers/net/wireless/broadcom/b43/phy_n.c
4691
} else if (dev->phy.rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
4726
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
4727
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
4742
if (phy->radio_rev != 5)
drivers/net/wireless/broadcom/b43/phy_n.c
4765
if (phy->radio_rev != 5)
drivers/net/wireless/broadcom/b43/phy_n.c
4780
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
4781
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
4786
if (phy->rev >= 19) {
drivers/net/wireless/broadcom/b43/phy_n.c
4788
} else if (phy->rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
4790
} else if (phy->rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
4831
(dev->phy.rev < 5) ? 0x11 : 0x01);
drivers/net/wireless/broadcom/b43/phy_n.c
4866
if (dev->phy.rev < 2) {
drivers/net/wireless/broadcom/b43/phy_n.c
4879
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
4934
if (dev->phy.rev == 16)
drivers/net/wireless/broadcom/b43/phy_n.c
4938
if (dev->phy.rev == 17) {
drivers/net/wireless/broadcom/b43/phy_n.c
4951
if (dev->phy.channel == 14)
drivers/net/wireless/broadcom/b43/phy_n.c
4960
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
4976
if (dev->phy.rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
4982
} else if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
5009
if (dev->phy.rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
5015
} else if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
5035
u16 *regs = dev->phy.n->tx_rx_cal_phy_saveregs;
drivers/net/wireless/broadcom/b43/phy_n.c
5037
if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
5064
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
5065
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
5066
u16 *regs = dev->phy.n->tx_rx_cal_phy_saveregs;
drivers/net/wireless/broadcom/b43/phy_n.c
5071
if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
5112
if (phy->rev >= 19)
drivers/net/wireless/broadcom/b43/phy_n.c
5115
else if (phy->rev >= 7)
drivers/net/wireless/broadcom/b43/phy_n.c
5120
if (phy->rev >= 19) {
drivers/net/wireless/broadcom/b43/phy_n.c
5123
} else if (phy->rev >= 8) {
drivers/net/wireless/broadcom/b43/phy_n.c
5126
} else if (phy->rev == 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
5165
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
5166
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
5190
if (phy->rev >= 19) {
drivers/net/wireless/broadcom/b43/phy_n.c
5192
} else if (phy->rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
5209
} else if (phy->rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
5224
iqcal_chanspec->center_freq = dev->phy.chandef->chan->center_freq;
drivers/net/wireless/broadcom/b43/phy_n.c
5226
cfg80211_get_chandef_type(dev->phy.chandef);
drivers/net/wireless/broadcom/b43/phy_n.c
5236
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
5237
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
5262
if (dev->phy.rev >= 3)
drivers/net/wireless/broadcom/b43/phy_n.c
5272
if (dev->phy.rev < 2)
drivers/net/wireless/broadcom/b43/phy_n.c
5284
if (phy->rev >= 19) {
drivers/net/wireless/broadcom/b43/phy_n.c
5286
} else if (phy->rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
5303
} else if (phy->rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
5326
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
5327
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
5346
if (dev->phy.rev >= 4) {
drivers/net/wireless/broadcom/b43/phy_n.c
5363
phy6or5x = dev->phy.rev >= 6 ||
drivers/net/wireless/broadcom/b43/phy_n.c
5364
(dev->phy.rev == 5 && nphy->ipa2g_on &&
drivers/net/wireless/broadcom/b43/phy_n.c
5380
if (phy->rev >= 19) {
drivers/net/wireless/broadcom/b43/phy_n.c
5382
} else if (phy->rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
5403
if (dev->phy.rev < 3)
drivers/net/wireless/broadcom/b43/phy_n.c
5409
if (dev->phy.rev < 3)
drivers/net/wireless/broadcom/b43/phy_n.c
5413
if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
5426
if (dev->phy.rev >= 3)
drivers/net/wireless/broadcom/b43/phy_n.c
5431
if (dev->phy.rev >= 3)
drivers/net/wireless/broadcom/b43/phy_n.c
5448
if (dev->phy.rev >= 3)
drivers/net/wireless/broadcom/b43/phy_n.c
5453
if (dev->phy.rev >= 3)
drivers/net/wireless/broadcom/b43/phy_n.c
546
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
547
struct b43_phy_n *nphy = phy->n;
drivers/net/wireless/broadcom/b43/phy_n.c
5499
last = (dev->phy.rev < 3) ? 6 : 7;
drivers/net/wireless/broadcom/b43/phy_n.c
5504
if (dev->phy.rev < 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
5519
if (dev->phy.rev < 3)
drivers/net/wireless/broadcom/b43/phy_n.c
5525
phy->chandef->chan->center_freq;
drivers/net/wireless/broadcom/b43/phy_n.c
5527
cfg80211_get_chandef_type(phy->chandef);
drivers/net/wireless/broadcom/b43/phy_n.c
5530
if (dev->phy.rev < 3)
drivers/net/wireless/broadcom/b43/phy_n.c
5543
if (dev->phy.rev < 2 && (!mphase || nphy->mphase_cal_phase_id == last))
drivers/net/wireless/broadcom/b43/phy_n.c
5546
if (dev->phy.rev >= 4)
drivers/net/wireless/broadcom/b43/phy_n.c
5557
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
5563
nphy->txiqlocal_chanspec.center_freq != dev->phy.chandef->chan->center_freq ||
drivers/net/wireless/broadcom/b43/phy_n.c
5564
nphy->txiqlocal_chanspec.channel_type != cfg80211_get_chandef_type(dev->phy.chandef))
drivers/net/wireless/broadcom/b43/phy_n.c
5593
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
5618
if (dev->phy.rev < 2)
drivers/net/wireless/broadcom/b43/phy_n.c
578
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
5780
if (dev->phy.rev >= 7)
drivers/net/wireless/broadcom/b43/phy_n.c
5783
if (dev->phy.rev >= 3)
drivers/net/wireless/broadcom/b43/phy_n.c
5792
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
5793
struct b43_phy_n *nphy = phy->n;
drivers/net/wireless/broadcom/b43/phy_n.c
5811
if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
5816
if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
5832
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
5833
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
5839
nphy->tx_pwr_last_recalc_limit == phy->desired_txpower)
drivers/net/wireless/broadcom/b43/phy_n.c
5849
max = INT_TO_Q52(phy->chandef->chan->max_power);
drivers/net/wireless/broadcom/b43/phy_n.c
5850
if (phy->desired_txpower)
drivers/net/wireless/broadcom/b43/phy_n.c
5851
max = min_t(u8, max, INT_TO_Q52(phy->desired_txpower));
drivers/net/wireless/broadcom/b43/phy_n.c
5885
nphy->tx_pwr_last_recalc_limit = phy->desired_txpower;
drivers/net/wireless/broadcom/b43/phy_n.c
5930
if (dev->phy.rev >= 7)
drivers/net/wireless/broadcom/b43/phy_n.c
5933
if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
595
tmp = 40370 - 315 * dev->phy.channel;
drivers/net/wireless/broadcom/b43/phy_n.c
597
tmp = 23242 - 224 * dev->phy.channel;
drivers/net/wireless/broadcom/b43/phy_n.c
5979
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
5980
struct b43_phy_n *nphy = phy->n;
drivers/net/wireless/broadcom/b43/phy_n.c
5989
if ((dev->phy.rev >= 3) &&
drivers/net/wireless/broadcom/b43/phy_n.c
6008
phy->rev >= 7 ||
drivers/net/wireless/broadcom/b43/phy_n.c
6009
(phy->rev >= 5 &&
drivers/net/wireless/broadcom/b43/phy_n.c
6017
if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
6020
if (phy->rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
6026
if (phy->rev >= 19) {
drivers/net/wireless/broadcom/b43/phy_n.c
6037
if (dev->phy.rev < 6) {
drivers/net/wireless/broadcom/b43/phy_n.c
6044
if (dev->phy.rev >= 3)
drivers/net/wireless/broadcom/b43/phy_n.c
6048
if (dev->phy.rev <= 2) {
drivers/net/wireless/broadcom/b43/phy_n.c
6049
tmp = (dev->phy.rev == 2) ? 0x3B : 0x40;
drivers/net/wireless/broadcom/b43/phy_n.c
6067
if (phy->rev < 8)
drivers/net/wireless/broadcom/b43/phy_n.c
6072
if (phy->rev < 2) {
drivers/net/wireless/broadcom/b43/phy_n.c
6085
} else if (phy->rev >= 5) {
drivers/net/wireless/broadcom/b43/phy_n.c
6100
if (phy->rev < 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
6126
if (phy->rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
6156
if (phy->rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
6179
if (phy->rev >= 3 && phy->rev <= 6)
drivers/net/wireless/broadcom/b43/phy_n.c
6182
if (phy->rev >= 3)
drivers/net/wireless/broadcom/b43/phy_n.c
6227
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
6228
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
6267
if (dev->phy.rev < 3)
drivers/net/wireless/broadcom/b43/phy_n.c
6272
if (dev->phy.rev >= 3 &&
drivers/net/wireless/broadcom/b43/phy_n.c
6273
dev->phy.n->spur_avoid != B43_SPUR_AVOID_DISABLE) {
drivers/net/wireless/broadcom/b43/phy_n.c
6276
if (dev->phy.n->spur_avoid == B43_SPUR_AVOID_FORCE) {
drivers/net/wireless/broadcom/b43/phy_n.c
6278
} else if (phy->rev >= 19) {
drivers/net/wireless/broadcom/b43/phy_n.c
6280
} else if (phy->rev >= 18) {
drivers/net/wireless/broadcom/b43/phy_n.c
6282
} else if (phy->rev >= 17) {
drivers/net/wireless/broadcom/b43/phy_n.c
6284
} else if (phy->rev >= 16) {
drivers/net/wireless/broadcom/b43/phy_n.c
6286
} else if (phy->rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
6309
if (dev->phy.rev == 3 || dev->phy.rev == 4)
drivers/net/wireless/broadcom/b43/phy_n.c
6325
if (phy->rev >= 3)
drivers/net/wireless/broadcom/b43/phy_n.c
6334
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
6343
if (phy->rev >= 19) {
drivers/net/wireless/broadcom/b43/phy_n.c
6346
} else if (phy->rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
635
struct b43_phy_n *nphy = dev->phy.n;
drivers/net/wireless/broadcom/b43/phy_n.c
6351
} else if (phy->rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
6365
phy->channel = channel->hw_value;
drivers/net/wireless/broadcom/b43/phy_n.c
6368
if (b43_channel_type_is_40mhz(phy->channel_type) !=
drivers/net/wireless/broadcom/b43/phy_n.c
637
u8 end = (dev->phy.rev >= 3) ? 0x1F : 0x0F;
drivers/net/wireless/broadcom/b43/phy_n.c
6375
if (phy->rev >= 7)
drivers/net/wireless/broadcom/b43/phy_n.c
6379
if (phy->rev >= 7)
drivers/net/wireless/broadcom/b43/phy_n.c
6383
if (phy->rev >= 19) {
drivers/net/wireless/broadcom/b43/phy_n.c
6385
} else if (phy->rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
6389
if (phy->radio_rev <= 4 || phy->radio_rev == 6) {
drivers/net/wireless/broadcom/b43/phy_n.c
6397
} else if (phy->rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
6424
dev->phy.n = nphy;
drivers/net/wireless/broadcom/b43/phy_n.c
6431
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
6432
struct b43_phy_n *nphy = phy->n;
drivers/net/wireless/broadcom/b43/phy_n.c
6437
nphy->hang_avoid = (phy->rev == 3 || phy->rev == 4);
drivers/net/wireless/broadcom/b43/phy_n.c
6438
nphy->spur_avoid = (phy->rev >= 3) ?
drivers/net/wireless/broadcom/b43/phy_n.c
6452
if (dev->phy.rev >= 3 ||
drivers/net/wireless/broadcom/b43/phy_n.c
6458
if (dev->phy.rev >= 2 &&
drivers/net/wireless/broadcom/b43/phy_n.c
6476
if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
6484
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
6485
struct b43_phy_n *nphy = phy->n;
drivers/net/wireless/broadcom/b43/phy_n.c
6488
phy->n = NULL;
drivers/net/wireless/broadcom/b43/phy_n.c
6520
dev->phy.writes_counter = 1;
drivers/net/wireless/broadcom/b43/phy_n.c
6526
B43_WARN_ON(dev->phy.rev < 7 && reg == 1);
drivers/net/wireless/broadcom/b43/phy_n.c
6528
if (dev->phy.rev >= 7)
drivers/net/wireless/broadcom/b43/phy_n.c
6540
B43_WARN_ON(dev->phy.rev < 7 && reg == 1);
drivers/net/wireless/broadcom/b43/phy_n.c
6550
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
6556
if (phy->rev >= 19) {
drivers/net/wireless/broadcom/b43/phy_n.c
6558
} else if (phy->rev >= 8) {
drivers/net/wireless/broadcom/b43/phy_n.c
6561
} else if (phy->rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
6563
} else if (phy->rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
6584
if (phy->rev >= 19) {
drivers/net/wireless/broadcom/b43/phy_n.c
6586
} else if (phy->rev >= 7) {
drivers/net/wireless/broadcom/b43/phy_n.c
6587
if (!dev->phy.radio_on)
drivers/net/wireless/broadcom/b43/phy_n.c
6589
b43_switch_channel(dev, dev->phy.channel);
drivers/net/wireless/broadcom/b43/phy_n.c
6590
} else if (phy->rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
6591
if (!dev->phy.radio_on)
drivers/net/wireless/broadcom/b43/phy_n.c
6593
b43_switch_channel(dev, dev->phy.channel);
drivers/net/wireless/broadcom/b43/phy_n.c
6603
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
6607
if (phy->rev >= 19) {
drivers/net/wireless/broadcom/b43/phy_n.c
6609
} else if (phy->rev >= 3) {
drivers/net/wireless/broadcom/b43/phy_n.c
720
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
724
switch (phy->radio_rev) {
drivers/net/wireless/broadcom/b43/phy_n.c
771
switch (phy->radio_rev) {
drivers/net/wireless/broadcom/b43/phy_n.c
812
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
848
switch (phy->radio_rev) {
drivers/net/wireless/broadcom/b43/phy_n.c
898
switch (phy->radio_rev) {
drivers/net/wireless/broadcom/b43/phy_n.c
926
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/phy_n.c
927
bool special = (phy->radio_rev == 3 || phy->radio_rev == 4 ||
drivers/net/wireless/broadcom/b43/phy_n.c
928
phy->radio_rev == 6);
drivers/net/wireless/broadcom/b43/phy_n.c
97
return ((dev->phy.n->ipa2g_on && band == NL80211_BAND_2GHZ) ||
drivers/net/wireless/broadcom/b43/phy_n.c
98
(dev->phy.n->ipa5g_on && band == NL80211_BAND_5GHZ));
drivers/net/wireless/broadcom/b43/ppr.c
145
if (phy->type == B43_PHYTYPE_N && phy->rev >= 3)
drivers/net/wireless/broadcom/b43/ppr.c
151
if (phy->type == B43_PHYTYPE_N && phy->rev >= 3)
drivers/net/wireless/broadcom/b43/ppr.c
169
if (phy->type == B43_PHYTYPE_N && phy->rev >= 3)
drivers/net/wireless/broadcom/b43/ppr.c
175
if (phy->type == B43_PHYTYPE_N && phy->rev >= 3)
drivers/net/wireless/broadcom/b43/ppr.c
73
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/radio_2056.c
10168
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/radio_2056.c
10170
switch (dev->phy.rev) {
drivers/net/wireless/broadcom/b43/radio_2056.c
10176
switch (phy->radio_rev) {
drivers/net/wireless/broadcom/b43/radio_2056.c
10257
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/radio_2056.c
10261
switch (phy->rev) {
drivers/net/wireless/broadcom/b43/radio_2056.c
10271
switch (phy->radio_rev) {
drivers/net/wireless/broadcom/b43/radio_2057.c
526
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/radio_2057.c
530
switch (phy->rev) {
drivers/net/wireless/broadcom/b43/radio_2057.c
536
if (phy->radio_rev == 5) {
drivers/net/wireless/broadcom/b43/radio_2057.c
539
} else if (phy->radio_rev == 7) {
drivers/net/wireless/broadcom/b43/radio_2057.c
545
if (phy->radio_rev == 5) {
drivers/net/wireless/broadcom/b43/radio_2057.c
551
if (phy->radio_rev == 9) {
drivers/net/wireless/broadcom/b43/radio_2057.c
557
if (phy->radio_rev == 14) {
drivers/net/wireless/broadcom/b43/radio_2057.c
576
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/radio_2057.c
584
switch (phy->rev) {
drivers/net/wireless/broadcom/b43/radio_2057.c
586
if (phy->radio_rev == 5) {
drivers/net/wireless/broadcom/b43/radio_2057.c
592
if (phy->radio_rev == 9) {
drivers/net/wireless/broadcom/b43/radio_2057.c
598
if (phy->radio_rev == 14) {
drivers/net/wireless/broadcom/b43/radio_2059.c
320
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/radio_2059.c
324
switch (phy->rev) {
drivers/net/wireless/broadcom/b43/rfkill.c
47
if (enabled != dev->phy.radio_on)
drivers/net/wireless/broadcom/b43/sysfs.c
105
if (wldev->phy.ops->interf_mitigation) {
drivers/net/wireless/broadcom/b43/sysfs.c
106
err = wldev->phy.ops->interf_mitigation(wldev, mode);
drivers/net/wireless/broadcom/b43/sysfs.c
49
if (wldev->phy.type != B43_PHYTYPE_G) {
drivers/net/wireless/broadcom/b43/sysfs.c
54
switch (wldev->phy.g->interfmode) {
drivers/net/wireless/broadcom/b43/tables.c
368
struct b43_phy_g *gphy = dev->phy.g;
drivers/net/wireless/broadcom/b43/tables.c
389
struct b43_phy_g *gphy = dev->phy.g;
drivers/net/wireless/broadcom/b43/tables.c
405
struct b43_phy_g *gphy = dev->phy.g;
drivers/net/wireless/broadcom/b43/tables.c
427
struct b43_phy_g *gphy = dev->phy.g;
drivers/net/wireless/broadcom/b43/tables_lpphy.c
2259
B43_WARN_ON(dev->phy.rev >= 2);
drivers/net/wireless/broadcom/b43/tables_lpphy.c
2275
if (dev->phy.rev == 0) {
drivers/net/wireless/broadcom/b43/tables_lpphy.c
2296
B43_WARN_ON(dev->phy.rev < 2);
drivers/net/wireless/broadcom/b43/tables_lpphy.c
2347
B43_WARN_ON(dev->phy.rev >= 2);
drivers/net/wireless/broadcom/b43/tables_lpphy.c
2363
B43_WARN_ON(dev->phy.rev < 2);
drivers/net/wireless/broadcom/b43/tables_lpphy.c
2368
if (dev->phy.rev >= 3) {
drivers/net/wireless/broadcom/b43/tables_lpphy.c
2388
if (dev->phy.rev >= 2)
drivers/net/wireless/broadcom/b43/tables_lpphy.c
2407
switch (dev->phy.rev) {
drivers/net/wireless/broadcom/b43/tables_nphy.c
3517
if (dev->phy.do_full_init) {
drivers/net/wireless/broadcom/b43/tables_nphy.c
3529
if (dev->phy.do_full_init) {
drivers/net/wireless/broadcom/b43/tables_nphy.c
3562
if (dev->phy.do_full_init) {
drivers/net/wireless/broadcom/b43/tables_nphy.c
3591
if (dev->phy.do_full_init) {
drivers/net/wireless/broadcom/b43/tables_nphy.c
3626
if (dev->phy.rev >= 16)
drivers/net/wireless/broadcom/b43/tables_nphy.c
3628
else if (dev->phy.rev >= 7)
drivers/net/wireless/broadcom/b43/tables_nphy.c
3630
else if (dev->phy.rev >= 3)
drivers/net/wireless/broadcom/b43/tables_nphy.c
3639
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/tables_nphy.c
3642
switch (phy->rev) {
drivers/net/wireless/broadcom/b43/tables_nphy.c
3644
if (phy->radio_rev == 14)
drivers/net/wireless/broadcom/b43/tables_nphy.c
3648
if (phy->radio_rev == 9)
drivers/net/wireless/broadcom/b43/tables_nphy.c
3652
if (phy->radio_rev == 5)
drivers/net/wireless/broadcom/b43/tables_nphy.c
3670
switch (phy->rev) {
drivers/net/wireless/broadcom/b43/tables_nphy.c
3672
if (phy->radio_rev == 9)
drivers/net/wireless/broadcom/b43/tables_nphy.c
3687
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/tables_nphy.c
3691
if (dev->phy.rev < 3)
drivers/net/wireless/broadcom/b43/tables_nphy.c
3695
if ((dev->phy.n->ipa2g_on && band == NL80211_BAND_2GHZ) ||
drivers/net/wireless/broadcom/b43/tables_nphy.c
3696
(dev->phy.n->ipa5g_on && band == NL80211_BAND_5GHZ)) {
drivers/net/wireless/broadcom/b43/tables_nphy.c
3699
switch (phy->rev) {
drivers/net/wireless/broadcom/b43/tables_nphy.c
3715
switch (phy->rev) {
drivers/net/wireless/broadcom/b43/tables_nphy.c
3734
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/tables_nphy.c
3737
switch (phy->rev) {
drivers/net/wireless/broadcom/b43/tables_nphy.c
3739
if (phy->radio_rev == 14)
drivers/net/wireless/broadcom/b43/tables_nphy.c
3743
if (phy->radio_rev == 9)
drivers/net/wireless/broadcom/b43/tables_nphy.c
3752
switch (phy->rev) {
drivers/net/wireless/broadcom/b43/tables_nphy.c
3754
if (phy->radio_rev == 9)
drivers/net/wireless/broadcom/b43/tables_nphy.c
3768
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/tables_nphy.c
3772
if (!ghz5 && dev->phy.rev >= 6 && dev->phy.radio_rev == 11)
drivers/net/wireless/broadcom/b43/tables_nphy.c
3775
B43_WARN_ON(dev->phy.rev < 3);
drivers/net/wireless/broadcom/b43/tables_nphy.c
3776
if (dev->phy.rev >= 6)
drivers/net/wireless/broadcom/b43/tables_nphy.c
3778
else if (dev->phy.rev == 5)
drivers/net/wireless/broadcom/b43/tables_nphy.c
3780
else if (dev->phy.rev == 4)
drivers/net/wireless/broadcom/b43/tables_nphy.c
3793
if (phy->rev >= 6) {
drivers/net/wireless/broadcom/b43/tables_nphy.c
3799
} else if (phy->rev == 5) {
drivers/net/wireless/broadcom/b43/tables_nphy.c
3807
if (phy->rev >= 5 && ext_lna) {
drivers/net/wireless/broadcom/b43/tables_nphy.c
3815
if (phy->rev >= 6) {
drivers/net/wireless/broadcom/b43/tables_nphy.c
3816
if (phy->radio_rev == 11 && !b43_is_40mhz(dev))
drivers/net/wireless/broadcom/b43/tables_nphy.c
3818
} else if (phy->rev == 4 && ext_lna) {
drivers/net/wireless/broadcom/b43/wa.c
115
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/wa.c
117
if (phy->rev >= 6) {
drivers/net/wireless/broadcom/b43/wa.c
138
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/wa.c
142
if (phy->type == B43_PHYTYPE_G) {
drivers/net/wireless/broadcom/b43/wa.c
157
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/wa.c
159
if (phy->rev == 1) {
drivers/net/wireless/broadcom/b43/wa.c
161
} else if (phy->rev == 2) {
drivers/net/wireless/broadcom/b43/wa.c
192
if (dev->phy.rev == 1) {
drivers/net/wireless/broadcom/b43/wa.c
213
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/wa.c
215
if (phy->rev == 1) {
drivers/net/wireless/broadcom/b43/wa.c
22
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/wa.c
241
if (phy->rev == 1) {
drivers/net/wireless/broadcom/b43/wa.c
253
if (phy->rev == 1) {
drivers/net/wireless/broadcom/b43/wa.c
26
if (phy->rev <= 2)
drivers/net/wireless/broadcom/b43/wa.c
260
if (phy->rev >= 6) {
drivers/net/wireless/broadcom/b43/wa.c
267
if (phy->rev == 1) {
drivers/net/wireless/broadcom/b43/wa.c
282
if (phy->rev >= 6) {
drivers/net/wireless/broadcom/b43/wa.c
303
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/wa.c
308
if (phy->rev < 2) {
drivers/net/wireless/broadcom/b43/wa.c
315
(phy->rev >= 7)) {
drivers/net/wireless/broadcom/b43/wa.c
334
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/wa.c
336
if (phy->type == B43_PHYTYPE_G) {
drivers/net/wireless/broadcom/b43/wa.c
337
switch (phy->rev) {
drivers/net/wireless/broadcom/b43/wa.c
34
if (phy->rev <= 3)
drivers/net/wireless/broadcom/b43/wa.c
36
else if (phy->rev == 5) {
drivers/net/wireless/broadcom/b43/wa.c
40
if (phy->rev >= 3)
drivers/net/wireless/broadcom/b43/wa.c
84
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/wa.c
87
if (phy->rev == 1)
drivers/net/wireless/broadcom/b43/xmit.c
169
const struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/xmit.c
174
if (phy->type == B43_PHYTYPE_LP)
drivers/net/wireless/broadcom/b43/xmit.c
180
} else if (b43_is_cck_rate(bitrate) && phy->type != B43_PHYTYPE_LP) {
drivers/net/wireless/broadcom/b43/xmit.c
244
const struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/xmit.c
255
bool fill_phy_ctl1 = (phy->type == B43_PHYTYPE_LP ||
drivers/net/wireless/broadcom/b43/xmit.c
256
phy->type == B43_PHYTYPE_N ||
drivers/net/wireless/broadcom/b43/xmit.c
257
phy->type == B43_PHYTYPE_HT);
drivers/net/wireless/broadcom/b43/xmit.c
367
txhdr->chan_radio_code = phy->channel;
drivers/net/wireless/broadcom/b43/xmit.c
406
if (!phy->gmode)
drivers/net/wireless/broadcom/b43/xmit.c
435
rts_rate_fb = b43_calc_fallback_rate(rts_rate, phy->gmode);
drivers/net/wireless/broadcom/b43/xmit.c
574
struct b43_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43/xmit.c
575
struct b43_phy_g *gphy = phy->g;
drivers/net/wireless/broadcom/b43/xmit.c
578
switch (phy->radio_ver) {
drivers/net/wireless/broadcom/b43/xmit.c
595
B43_WARN_ON(phy->type != B43_PHYTYPE_G);
drivers/net/wireless/broadcom/b43/xmit.c
608
if (phy->type == B43_PHYTYPE_G && adjust_2050)
drivers/net/wireless/broadcom/b43legacy/b43legacy.h
695
struct b43legacy_phy phy;
drivers/net/wireless/broadcom/b43legacy/b43legacy.h
831
struct b43legacy_lopair *b43legacy_get_lopair(struct b43legacy_phy *phy,
drivers/net/wireless/broadcom/b43legacy/b43legacy.h
835
return phy->_lo_pairs + (radio_attenuation
drivers/net/wireless/broadcom/b43legacy/leds.c
158
if (dev->phy.radio_on && b43legacy_is_hw_radio_enabled(dev))
drivers/net/wireless/broadcom/b43legacy/leds.c
67
radio_enabled = (dev->phy.radio_on && dev->radio_hw_enable);
drivers/net/wireless/broadcom/b43legacy/main.c
1304
if (unlikely(atomic_dec_and_test(&dev->phy.txerr_cnt))) {
drivers/net/wireless/broadcom/b43legacy/main.c
1592
switch (dev->phy.type) {
drivers/net/wireless/broadcom/b43legacy/main.c
1610
switch (dev->phy.type) {
drivers/net/wireless/broadcom/b43legacy/main.c
1645
"core rev %u\n", dev->phy.type, rev);
drivers/net/wireless/broadcom/b43legacy/main.c
2071
switch (dev->phy.type) {
drivers/net/wireless/broadcom/b43legacy/main.c
2149
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/main.c
2157
if (dev->phy.gmode)
drivers/net/wireless/broadcom/b43legacy/main.c
2181
tmp = phy->interfmode;
drivers/net/wireless/broadcom/b43legacy/main.c
2182
phy->interfmode = B43legacy_INTERFMODE_NONE;
drivers/net/wireless/broadcom/b43legacy/main.c
2188
if (phy->type == B43legacy_PHYTYPE_B) {
drivers/net/wireless/broadcom/b43legacy/main.c
2245
atomic_set(&phy->txerr_cnt, B43legacy_PHY_TX_BADNESS_LIMIT);
drivers/net/wireless/broadcom/b43legacy/main.c
2261
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/main.c
2263
if (phy->type != B43legacy_PHYTYPE_G || phy->rev < 2)
drivers/net/wireless/broadcom/b43legacy/main.c
2291
atomic_set(&dev->phy.txerr_cnt, B43legacy_PHY_TX_BADNESS_LIMIT);
drivers/net/wireless/broadcom/b43legacy/main.c
2549
if (d->phy.possible_phymodes & phymode) {
drivers/net/wireless/broadcom/b43legacy/main.c
2598
(!!wl->current_dev->phy.gmode == !!gmode))
drivers/net/wireless/broadcom/b43legacy/main.c
2618
up_dev->phy.gmode = gmode;
drivers/net/wireless/broadcom/b43legacy/main.c
2670
struct b43legacy_phy *phy;
drivers/net/wireless/broadcom/b43legacy/main.c
2681
phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/main.c
2694
if (phy->type == B43legacy_PHYTYPE_B)
drivers/net/wireless/broadcom/b43legacy/main.c
2720
if (conf->chandef.chan->hw_value != phy->channel)
drivers/net/wireless/broadcom/b43legacy/main.c
2728
if (conf->power_level != phy->power_level) {
drivers/net/wireless/broadcom/b43legacy/main.c
2729
phy->power_level = conf->power_level;
drivers/net/wireless/broadcom/b43legacy/main.c
2737
if (wl->radio_enabled != phy->radio_on) {
drivers/net/wireless/broadcom/b43legacy/main.c
2986
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/main.c
3067
phy->radio_manuf = radio_manuf;
drivers/net/wireless/broadcom/b43legacy/main.c
3068
phy->radio_ver = radio_ver;
drivers/net/wireless/broadcom/b43legacy/main.c
3069
phy->radio_rev = radio_rev;
drivers/net/wireless/broadcom/b43legacy/main.c
3071
phy->analog = analog_type;
drivers/net/wireless/broadcom/b43legacy/main.c
3072
phy->type = phy_type;
drivers/net/wireless/broadcom/b43legacy/main.c
3073
phy->rev = phy_rev;
drivers/net/wireless/broadcom/b43legacy/main.c
3079
struct b43legacy_phy *phy)
drivers/net/wireless/broadcom/b43legacy/main.c
3084
memset(phy->minlowsig, 0xFF, sizeof(phy->minlowsig));
drivers/net/wireless/broadcom/b43legacy/main.c
3085
memset(phy->minlowsigpos, 0, sizeof(phy->minlowsigpos));
drivers/net/wireless/broadcom/b43legacy/main.c
3091
phy->savedpctlreg = 0xFFFF;
drivers/net/wireless/broadcom/b43legacy/main.c
3092
phy->aci_enable = false;
drivers/net/wireless/broadcom/b43legacy/main.c
3093
phy->aci_wlan_automatic = false;
drivers/net/wireless/broadcom/b43legacy/main.c
3094
phy->aci_hw_rssi = false;
drivers/net/wireless/broadcom/b43legacy/main.c
3096
lo = phy->_lo_pairs;
drivers/net/wireless/broadcom/b43legacy/main.c
3100
phy->max_lb_gain = 0;
drivers/net/wireless/broadcom/b43legacy/main.c
3101
phy->trsw_rx_gain = 0;
drivers/net/wireless/broadcom/b43legacy/main.c
3104
phy->bbatt = b43legacy_default_baseband_attenuation(dev);
drivers/net/wireless/broadcom/b43legacy/main.c
3105
phy->rfatt = b43legacy_default_radio_attenuation(dev);
drivers/net/wireless/broadcom/b43legacy/main.c
3106
phy->txctl1 = b43legacy_default_txctl1(dev);
drivers/net/wireless/broadcom/b43legacy/main.c
3107
phy->txpwr_offset = 0;
drivers/net/wireless/broadcom/b43legacy/main.c
3110
phy->nrssislope = 0;
drivers/net/wireless/broadcom/b43legacy/main.c
3111
for (i = 0; i < ARRAY_SIZE(phy->nrssi); i++)
drivers/net/wireless/broadcom/b43legacy/main.c
3112
phy->nrssi[i] = -1000;
drivers/net/wireless/broadcom/b43legacy/main.c
3113
for (i = 0; i < ARRAY_SIZE(phy->nrssi_lt); i++)
drivers/net/wireless/broadcom/b43legacy/main.c
3114
phy->nrssi_lt[i] = i;
drivers/net/wireless/broadcom/b43legacy/main.c
3116
phy->lofcal = 0xFFFF;
drivers/net/wireless/broadcom/b43legacy/main.c
3117
phy->initval = 0xFFFF;
drivers/net/wireless/broadcom/b43legacy/main.c
3119
phy->interfmode = B43legacy_INTERFMODE_NONE;
drivers/net/wireless/broadcom/b43legacy/main.c
3120
phy->channel = 0xFF;
drivers/net/wireless/broadcom/b43legacy/main.c
3131
setup_struct_phy_for_init(dev, &dev->phy);
drivers/net/wireless/broadcom/b43legacy/main.c
3150
if ((dev->phy.radio_ver == 0x2050) && (dev->phy.radio_rev == 8))
drivers/net/wireless/broadcom/b43legacy/main.c
3176
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/main.c
3197
if (phy->dyn_tssi_tbl)
drivers/net/wireless/broadcom/b43legacy/main.c
3198
kfree(phy->tssi2dbm);
drivers/net/wireless/broadcom/b43legacy/main.c
3199
kfree(phy->lo_control);
drivers/net/wireless/broadcom/b43legacy/main.c
3200
phy->lo_control = NULL;
drivers/net/wireless/broadcom/b43legacy/main.c
3212
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/main.c
3216
phy->bbatt = b43legacy_default_baseband_attenuation(dev);
drivers/net/wireless/broadcom/b43legacy/main.c
3217
phy->rfatt = b43legacy_default_radio_attenuation(dev);
drivers/net/wireless/broadcom/b43legacy/main.c
3218
phy->txctl1 = b43legacy_default_txctl1(dev);
drivers/net/wireless/broadcom/b43legacy/main.c
3219
phy->txctl2 = 0xFFFF;
drivers/net/wireless/broadcom/b43legacy/main.c
3220
phy->txpwr_offset = 0;
drivers/net/wireless/broadcom/b43legacy/main.c
3223
phy->nrssislope = 0;
drivers/net/wireless/broadcom/b43legacy/main.c
3224
for (i = 0; i < ARRAY_SIZE(phy->nrssi); i++)
drivers/net/wireless/broadcom/b43legacy/main.c
3225
phy->nrssi[i] = -1000;
drivers/net/wireless/broadcom/b43legacy/main.c
3226
for (i = 0; i < ARRAY_SIZE(phy->nrssi_lt); i++)
drivers/net/wireless/broadcom/b43legacy/main.c
3227
phy->nrssi_lt[i] = i;
drivers/net/wireless/broadcom/b43legacy/main.c
3229
phy->lofcal = 0xFFFF;
drivers/net/wireless/broadcom/b43legacy/main.c
3230
phy->initval = 0xFFFF;
drivers/net/wireless/broadcom/b43legacy/main.c
3232
phy->aci_enable = false;
drivers/net/wireless/broadcom/b43legacy/main.c
3233
phy->aci_wlan_automatic = false;
drivers/net/wireless/broadcom/b43legacy/main.c
3234
phy->aci_hw_rssi = false;
drivers/net/wireless/broadcom/b43legacy/main.c
3236
phy->antenna_diversity = 0xFFFF;
drivers/net/wireless/broadcom/b43legacy/main.c
3237
memset(phy->minlowsig, 0xFF, sizeof(phy->minlowsig));
drivers/net/wireless/broadcom/b43legacy/main.c
3238
memset(phy->minlowsigpos, 0, sizeof(phy->minlowsigpos));
drivers/net/wireless/broadcom/b43legacy/main.c
3241
phy->calibrated = 0;
drivers/net/wireless/broadcom/b43legacy/main.c
3243
if (phy->_lo_pairs)
drivers/net/wireless/broadcom/b43legacy/main.c
3244
memset(phy->_lo_pairs, 0,
drivers/net/wireless/broadcom/b43legacy/main.c
3246
memset(phy->loopback_gain, 0, sizeof(phy->loopback_gain));
drivers/net/wireless/broadcom/b43legacy/main.c
3254
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/main.c
3266
tmp = phy->gmode ? B43legacy_TMSLOW_GMODE : 0;
drivers/net/wireless/broadcom/b43legacy/main.c
3270
if ((phy->type == B43legacy_PHYTYPE_B) ||
drivers/net/wireless/broadcom/b43legacy/main.c
3271
(phy->type == B43legacy_PHYTYPE_G)) {
drivers/net/wireless/broadcom/b43legacy/main.c
3272
phy->_lo_pairs = kzalloc_objs(struct b43legacy_lopair,
drivers/net/wireless/broadcom/b43legacy/main.c
3274
if (!phy->_lo_pairs)
drivers/net/wireless/broadcom/b43legacy/main.c
3295
if (phy->type == B43legacy_PHYTYPE_G) {
drivers/net/wireless/broadcom/b43legacy/main.c
3297
if (phy->rev == 1)
drivers/net/wireless/broadcom/b43legacy/main.c
3301
} else if (phy->type == B43legacy_PHYTYPE_B) {
drivers/net/wireless/broadcom/b43legacy/main.c
3303
if (phy->rev >= 2 && phy->radio_ver == 0x2050)
drivers/net/wireless/broadcom/b43legacy/main.c
3327
if (phy->type == B43legacy_PHYTYPE_B)
drivers/net/wireless/broadcom/b43legacy/main.c
3366
if (phy->dyn_tssi_tbl)
drivers/net/wireless/broadcom/b43legacy/main.c
3367
kfree(phy->tssi2dbm);
drivers/net/wireless/broadcom/b43legacy/main.c
3369
kfree(phy->lo_control);
drivers/net/wireless/broadcom/b43legacy/main.c
3370
phy->lo_control = NULL;
drivers/net/wireless/broadcom/b43legacy/main.c
3601
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/main.c
3603
phy->possible_phymodes = 0;
drivers/net/wireless/broadcom/b43legacy/main.c
3607
phy->possible_phymodes |= B43legacy_PHYMODE_B;
drivers/net/wireless/broadcom/b43legacy/main.c
3613
phy->possible_phymodes |= B43legacy_PHYMODE_G;
drivers/net/wireless/broadcom/b43legacy/main.c
3661
dev->phy.gmode = (have_gphy || have_bphy);
drivers/net/wireless/broadcom/b43legacy/main.c
3662
dev->phy.radio_on = true;
drivers/net/wireless/broadcom/b43legacy/main.c
3663
tmp = dev->phy.gmode ? B43legacy_TMSLOW_GMODE : 0;
drivers/net/wireless/broadcom/b43legacy/main.c
3677
switch (dev->phy.type) {
drivers/net/wireless/broadcom/b43legacy/main.c
3688
dev->phy.gmode = (have_gphy || have_bphy);
drivers/net/wireless/broadcom/b43legacy/main.c
3689
tmp = dev->phy.gmode ? B43legacy_TMSLOW_GMODE : 0;
drivers/net/wireless/broadcom/b43legacy/main.c
566
if (dev->phy.type != B43legacy_PHYTYPE_G)
drivers/net/wireless/broadcom/b43legacy/main.c
598
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/main.c
610
switch (phy->type) {
drivers/net/wireless/broadcom/b43legacy/main.c
638
if (phy->radio_ver == 0x2050 && phy->radio_rev <= 0x5)
drivers/net/wireless/broadcom/b43legacy/main.c
658
if (phy->radio_ver == 0x2050 && phy->radio_rev <= 0x5)
drivers/net/wireless/broadcom/b43legacy/main.c
697
dev->phy.gmode = true;
drivers/net/wireless/broadcom/b43legacy/main.c
699
dev->phy.gmode = false;
drivers/net/wireless/broadcom/b43legacy/main.c
776
dev->phy.channel);
drivers/net/wireless/broadcom/b43legacy/main.c
785
dev->noisecalc.channel_at_start = dev->phy.channel;
drivers/net/wireless/broadcom/b43legacy/main.c
794
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/main.c
804
if (dev->noisecalc.channel_at_start != phy->channel)
drivers/net/wireless/broadcom/b43legacy/main.c
814
noise[0] = clamp_val(noise[0], 0, ARRAY_SIZE(phy->nrssi_lt) - 1);
drivers/net/wireless/broadcom/b43legacy/main.c
815
noise[1] = clamp_val(noise[1], 0, ARRAY_SIZE(phy->nrssi_lt) - 1);
drivers/net/wireless/broadcom/b43legacy/main.c
816
noise[2] = clamp_val(noise[2], 0, ARRAY_SIZE(phy->nrssi_lt) - 1);
drivers/net/wireless/broadcom/b43legacy/main.c
817
noise[3] = clamp_val(noise[3], 0, ARRAY_SIZE(phy->nrssi_lt) - 1);
drivers/net/wireless/broadcom/b43legacy/main.c
818
dev->noisecalc.samples[i][0] = phy->nrssi_lt[noise[0]];
drivers/net/wireless/broadcom/b43legacy/main.c
819
dev->noisecalc.samples[i][1] = phy->nrssi_lt[noise[1]];
drivers/net/wireless/broadcom/b43legacy/main.c
820
dev->noisecalc.samples[i][2] = phy->nrssi_lt[noise[2]];
drivers/net/wireless/broadcom/b43legacy/main.c
821
dev->noisecalc.samples[i][3] = phy->nrssi_lt[noise[3]];
drivers/net/wireless/broadcom/b43legacy/phy.c
1003
if (phy->rev > 5) {
drivers/net/wireless/broadcom/b43legacy/phy.c
1007
if (phy->gmode) {
drivers/net/wireless/broadcom/b43legacy/phy.c
1021
if (phy->rev >= 2)
drivers/net/wireless/broadcom/b43legacy/phy.c
1024
if (phy->radio_rev == 8) {
drivers/net/wireless/broadcom/b43legacy/phy.c
1030
if (phy->rev >= 2 && phy->gmode)
drivers/net/wireless/broadcom/b43legacy/phy.c
1032
if (phy->radio_rev != 8) {
drivers/net/wireless/broadcom/b43legacy/phy.c
1033
if (phy->initval == 0xFFFF)
drivers/net/wireless/broadcom/b43legacy/phy.c
1034
phy->initval = b43legacy_radio_init2050(dev);
drivers/net/wireless/broadcom/b43legacy/phy.c
1036
b43legacy_radio_write16(dev, 0x0078, phy->initval);
drivers/net/wireless/broadcom/b43legacy/phy.c
1038
if (phy->txctl2 == 0xFFFF)
drivers/net/wireless/broadcom/b43legacy/phy.c
1041
if (phy->radio_ver == 0x2050 && phy->radio_rev == 8)
drivers/net/wireless/broadcom/b43legacy/phy.c
1043
(phy->txctl1 << 4) |
drivers/net/wireless/broadcom/b43legacy/phy.c
1044
phy->txctl2);
drivers/net/wireless/broadcom/b43legacy/phy.c
1049
phy->txctl1);
drivers/net/wireless/broadcom/b43legacy/phy.c
1050
if (phy->rev >= 6)
drivers/net/wireless/broadcom/b43legacy/phy.c
1053
& 0x0FFF) | (phy->txctl2 << 12));
drivers/net/wireless/broadcom/b43legacy/phy.c
1059
if (phy->rev < 2)
drivers/net/wireless/broadcom/b43legacy/phy.c
1064
if (phy->gmode) {
drivers/net/wireless/broadcom/b43legacy/phy.c
1078
} else if (phy->gmode || phy->rev >= 2) {
drivers/net/wireless/broadcom/b43legacy/phy.c
1079
if (phy->nrssi[0] == -1000) {
drivers/net/wireless/broadcom/b43legacy/phy.c
1080
B43legacy_WARN_ON(phy->nrssi[1] != -1000);
drivers/net/wireless/broadcom/b43legacy/phy.c
1083
B43legacy_WARN_ON(phy->nrssi[1] == -1000);
drivers/net/wireless/broadcom/b43legacy/phy.c
1087
if (phy->radio_rev == 8)
drivers/net/wireless/broadcom/b43legacy/phy.c
1123
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/phy.c
1133
if (phy->radio_ver == 0x2053) {
drivers/net/wireless/broadcom/b43legacy/phy.c
1154
if (phy->radio_ver == 0x2053) {
drivers/net/wireless/broadcom/b43legacy/phy.c
1159
phy->minlowsig[0] = 0xFFFF;
drivers/net/wireless/broadcom/b43legacy/phy.c
1168
if (mls < phy->minlowsig[0]) {
drivers/net/wireless/broadcom/b43legacy/phy.c
1169
phy->minlowsig[0] = mls;
drivers/net/wireless/broadcom/b43legacy/phy.c
1170
phy->minlowsigpos[0] = i;
drivers/net/wireless/broadcom/b43legacy/phy.c
1174
| phy->minlowsigpos[0]);
drivers/net/wireless/broadcom/b43legacy/phy.c
1176
phy->minlowsig[1] = 0xFFFF;
drivers/net/wireless/broadcom/b43legacy/phy.c
118
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/phy.c
1186
if (mls < phy->minlowsig[1]) {
drivers/net/wireless/broadcom/b43legacy/phy.c
1187
phy->minlowsig[1] = mls;
drivers/net/wireless/broadcom/b43legacy/phy.c
1188
phy->minlowsigpos[1] = fval;
drivers/net/wireless/broadcom/b43legacy/phy.c
1192
phy->minlowsigpos[1] += 0x0101;
drivers/net/wireless/broadcom/b43legacy/phy.c
1194
b43legacy_phy_write(dev, 0x002F, phy->minlowsigpos[1]);
drivers/net/wireless/broadcom/b43legacy/phy.c
1195
if (phy->radio_ver == 0x2053) {
drivers/net/wireless/broadcom/b43legacy/phy.c
121
if (phy->calibrated)
drivers/net/wireless/broadcom/b43legacy/phy.c
1219
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/phy.c
1224
if (phy->gmode) {
drivers/net/wireless/broadcom/b43legacy/phy.c
123
if (phy->type == B43legacy_PHYTYPE_G && phy->rev == 1) {
drivers/net/wireless/broadcom/b43legacy/phy.c
128
phy->calibrated = 1;
drivers/net/wireless/broadcom/b43legacy/phy.c
1294
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/phy.c
1301
return b43legacy_get_lopair(phy, rfatt, bbatt);
drivers/net/wireless/broadcom/b43legacy/phy.c
1302
return b43legacy_get_lopair(phy, dict[rfatt], bbatt);
drivers/net/wireless/broadcom/b43legacy/phy.c
1308
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/phy.c
1310
return b43legacy_find_lopair(dev, phy->bbatt,
drivers/net/wireless/broadcom/b43legacy/phy.c
1311
phy->rfatt, phy->txctl1);
drivers/net/wireless/broadcom/b43legacy/phy.c
1329
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/phy.c
1347
phy->txctl2 = txctl2;
drivers/net/wireless/broadcom/b43legacy/phy.c
136
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/phy.c
142
B43legacy_BUG_ON(!(phy->type == B43legacy_PHYTYPE_B ||
drivers/net/wireless/broadcom/b43legacy/phy.c
143
phy->type == B43legacy_PHYTYPE_G));
drivers/net/wireless/broadcom/b43legacy/phy.c
1444
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/phy.c
1447
if (phy->analog == 0) {
drivers/net/wireless/broadcom/b43legacy/phy.c
1454
if (phy->analog > 1) {
drivers/net/wireless/broadcom/b43legacy/phy.c
1470
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/phy.c
1485
oldchannel = phy->channel;
drivers/net/wireless/broadcom/b43legacy/phy.c
1487
if (phy->gmode) {
drivers/net/wireless/broadcom/b43legacy/phy.c
1504
if (phy->gmode) {
drivers/net/wireless/broadcom/b43legacy/phy.c
151
if (phy->type == B43legacy_PHYTYPE_G) {
drivers/net/wireless/broadcom/b43legacy/phy.c
1511
if (phy->gmode) {
drivers/net/wireless/broadcom/b43legacy/phy.c
152
if (!phy->gmode)
drivers/net/wireless/broadcom/b43legacy/phy.c
1528
if (phy->gmode) {
drivers/net/wireless/broadcom/b43legacy/phy.c
1550
tmp_control = b43legacy_get_lopair(phy, oldi,
drivers/net/wireless/broadcom/b43legacy/phy.c
1554
tmp_control = b43legacy_get_lopair(phy, 3, 0);
drivers/net/wireless/broadcom/b43legacy/phy.c
156
if (phy->savedpctlreg != 0xFFFF)
drivers/net/wireless/broadcom/b43legacy/phy.c
1572
tmp_control = b43legacy_get_lopair(phy, i,
drivers/net/wireless/broadcom/b43legacy/phy.c
1581
b43legacy_radio_write16(dev, 0x52, phy->txctl2);
drivers/net/wireless/broadcom/b43legacy/phy.c
159
if (phy->manual_txpower_control)
drivers/net/wireless/broadcom/b43legacy/phy.c
1592
tmp_control = b43legacy_get_lopair(phy, i, j * 2);
drivers/net/wireless/broadcom/b43legacy/phy.c
1603
tmp_control = b43legacy_get_lopair(phy, i - 9,
drivers/net/wireless/broadcom/b43legacy/phy.c
1619
tmp_control = b43legacy_get_lopair(phy, i - 9,
drivers/net/wireless/broadcom/b43legacy/phy.c
163
if (phy->type == B43legacy_PHYTYPE_B &&
drivers/net/wireless/broadcom/b43legacy/phy.c
1631
phy->txctl2
drivers/net/wireless/broadcom/b43legacy/phy.c
164
phy->rev >= 2 &&
drivers/net/wireless/broadcom/b43legacy/phy.c
1643
tmp_control = b43legacy_get_lopair(phy, i, j * 2);
drivers/net/wireless/broadcom/b43legacy/phy.c
165
phy->radio_ver == 0x2050)
drivers/net/wireless/broadcom/b43legacy/phy.c
1650
if (phy->gmode) {
drivers/net/wireless/broadcom/b43legacy/phy.c
1662
if (phy->gmode)
drivers/net/wireless/broadcom/b43legacy/phy.c
1677
if (phy->gmode) {
drivers/net/wireless/broadcom/b43legacy/phy.c
1691
tmp_control = phy->_lo_pairs + i;
drivers/net/wireless/broadcom/b43legacy/phy.c
170
saved_batt = phy->bbatt;
drivers/net/wireless/broadcom/b43legacy/phy.c
171
saved_ratt = phy->rfatt;
drivers/net/wireless/broadcom/b43legacy/phy.c
1714
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/phy.c
1719
pair = phy->_lo_pairs + i;
drivers/net/wireless/broadcom/b43legacy/phy.c
172
saved_txctl1 = phy->txctl1;
drivers/net/wireless/broadcom/b43legacy/phy.c
1729
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/phy.c
173
if ((phy->radio_rev >= 6) && (phy->radio_rev <= 8)
drivers/net/wireless/broadcom/b43legacy/phy.c
1733
tmp = phy->idle_tssi;
drivers/net/wireless/broadcom/b43legacy/phy.c
1735
tmp -= phy->savedpctlreg;
drivers/net/wireless/broadcom/b43legacy/phy.c
1737
switch (phy->type) {
drivers/net/wireless/broadcom/b43legacy/phy.c
1741
dbm = phy->tssi2dbm[tmp];
drivers/net/wireless/broadcom/b43legacy/phy.c
1753
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/phy.c
1770
if (phy->savedpctlreg == 0xFFFF)
drivers/net/wireless/broadcom/b43legacy/phy.c
1776
if (phy->manual_txpower_control)
drivers/net/wireless/broadcom/b43legacy/phy.c
1780
B43legacy_BUG_ON(!(phy->type == B43legacy_PHYTYPE_B ||
drivers/net/wireless/broadcom/b43legacy/phy.c
1781
phy->type == B43legacy_PHYTYPE_G));
drivers/net/wireless/broadcom/b43legacy/phy.c
182
phy->savedpctlreg = b43legacy_phy_read(dev, B43legacy_PHY_G_PCTL);
drivers/net/wireless/broadcom/b43legacy/phy.c
1821
(phy->type == B43legacy_PHYTYPE_G))
drivers/net/wireless/broadcom/b43legacy/phy.c
1843
desired_pwr = clamp_val(phy->power_level << 2, 0, max_pwr);
drivers/net/wireless/broadcom/b43legacy/phy.c
1864
baseband_attenuation = phy->bbatt;
drivers/net/wireless/broadcom/b43legacy/phy.c
1866
radio_attenuation = phy->rfatt;
drivers/net/wireless/broadcom/b43legacy/phy.c
1891
txpower = phy->txctl1;
drivers/net/wireless/broadcom/b43legacy/phy.c
1892
if ((phy->radio_ver == 0x2050) && (phy->radio_rev == 2)) {
drivers/net/wireless/broadcom/b43legacy/phy.c
1916
phy->txctl1 = txpower;
drivers/net/wireless/broadcom/b43legacy/phy.c
1919
phy->rfatt = radio_attenuation;
drivers/net/wireless/broadcom/b43legacy/phy.c
1920
phy->bbatt = baseband_attenuation;
drivers/net/wireless/broadcom/b43legacy/phy.c
195
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/phy.c
1971
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/phy.c
1978
B43legacy_WARN_ON(!(phy->type == B43legacy_PHYTYPE_B ||
drivers/net/wireless/broadcom/b43legacy/phy.c
1979
phy->type == B43legacy_PHYTYPE_G));
drivers/net/wireless/broadcom/b43legacy/phy.c
198
if (phy->rev == 1)
drivers/net/wireless/broadcom/b43legacy/phy.c
1984
if ((dev->dev->bus->chip_id == 0x4301) && (phy->radio_ver != 0x2050)) {
drivers/net/wireless/broadcom/b43legacy/phy.c
1985
phy->idle_tssi = 0x34;
drivers/net/wireless/broadcom/b43legacy/phy.c
1986
phy->tssi2dbm = b43legacy_tssi2dbm_b_table;
drivers/net/wireless/broadcom/b43legacy/phy.c
1995
phy->idle_tssi = (s8)(dev->dev->bus->sprom.
drivers/net/wireless/broadcom/b43legacy/phy.c
1998
phy->idle_tssi = 62;
drivers/net/wireless/broadcom/b43legacy/phy.c
2008
phy->tssi2dbm = NULL;
drivers/net/wireless/broadcom/b43legacy/phy.c
2014
phy->tssi2dbm = dyn_tssi2dbm;
drivers/net/wireless/broadcom/b43legacy/phy.c
2015
phy->dyn_tssi_tbl = 1;
drivers/net/wireless/broadcom/b43legacy/phy.c
2018
switch (phy->type) {
drivers/net/wireless/broadcom/b43legacy/phy.c
2020
phy->idle_tssi = 0x34;
drivers/net/wireless/broadcom/b43legacy/phy.c
2021
phy->tssi2dbm = b43legacy_tssi2dbm_b_table;
drivers/net/wireless/broadcom/b43legacy/phy.c
2024
phy->idle_tssi = 0x34;
drivers/net/wireless/broadcom/b43legacy/phy.c
2025
phy->tssi2dbm = b43legacy_tssi2dbm_g_table;
drivers/net/wireless/broadcom/b43legacy/phy.c
2035
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/phy.c
2038
switch (phy->type) {
drivers/net/wireless/broadcom/b43legacy/phy.c
2040
switch (phy->rev) {
drivers/net/wireless/broadcom/b43legacy/phy.c
206
if (phy->rev == 1) {
drivers/net/wireless/broadcom/b43legacy/phy.c
2072
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/phy.c
2078
antennadiv = phy->antenna_diversity;
drivers/net/wireless/broadcom/b43legacy/phy.c
2090
switch (phy->type) {
drivers/net/wireless/broadcom/b43legacy/phy.c
2113
if (phy->type == B43legacy_PHYTYPE_G) {
drivers/net/wireless/broadcom/b43legacy/phy.c
2122
if (phy->rev >= 2) {
drivers/net/wireless/broadcom/b43legacy/phy.c
2130
if (phy->rev == 2)
drivers/net/wireless/broadcom/b43legacy/phy.c
2137
} else if (phy->rev >= 6)
drivers/net/wireless/broadcom/b43legacy/phy.c
2140
if (phy->rev < 3)
drivers/net/wireless/broadcom/b43legacy/phy.c
2149
if (phy->rev == 3) {
drivers/net/wireless/broadcom/b43legacy/phy.c
2185
phy->antenna_diversity = antennadiv;
drivers/net/wireless/broadcom/b43legacy/phy.c
236
if (phy->rev == 1)
drivers/net/wireless/broadcom/b43legacy/phy.c
260
if (phy->rev == 1) {
drivers/net/wireless/broadcom/b43legacy/phy.c
274
if (phy->rev > 2) {
drivers/net/wireless/broadcom/b43legacy/phy.c
285
if (phy->rev == 1) {
drivers/net/wireless/broadcom/b43legacy/phy.c
301
if (phy->rev >= 6) {
drivers/net/wireless/broadcom/b43legacy/phy.c
311
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/phy.c
314
B43legacy_BUG_ON(phy->type != B43legacy_PHYTYPE_G);
drivers/net/wireless/broadcom/b43legacy/phy.c
315
if (phy->rev == 1) {
drivers/net/wireless/broadcom/b43legacy/phy.c
336
if (phy->rev == 2) {
drivers/net/wireless/broadcom/b43legacy/phy.c
339
} else if (phy->rev > 2) {
drivers/net/wireless/broadcom/b43legacy/phy.c
354
if (phy->rev <= 2)
drivers/net/wireless/broadcom/b43legacy/phy.c
358
else if ((phy->rev >= 7) && (b43legacy_phy_read(dev, 0x0449) & 0x0200))
drivers/net/wireless/broadcom/b43legacy/phy.c
367
if (phy->rev == 2)
drivers/net/wireless/broadcom/b43legacy/phy.c
371
else if ((phy->rev > 2) && (phy->rev <= 8))
drivers/net/wireless/broadcom/b43legacy/phy.c
376
if (phy->rev == 1) {
drivers/net/wireless/broadcom/b43legacy/phy.c
423
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/phy.c
438
b43legacy_radio_selectchannel(dev, phy->channel, 0);
drivers/net/wireless/broadcom/b43legacy/phy.c
439
if (phy->radio_ver != 0x2050) {
drivers/net/wireless/broadcom/b43legacy/phy.c
445
if (phy->radio_ver == 0x2050) {
drivers/net/wireless/broadcom/b43legacy/phy.c
460
if (phy->radio_ver != 0x2050)
drivers/net/wireless/broadcom/b43legacy/phy.c
464
if (phy->radio_ver != 0x2050)
drivers/net/wireless/broadcom/b43legacy/phy.c
472
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/phy.c
487
b43legacy_radio_selectchannel(dev, phy->channel, 0);
drivers/net/wireless/broadcom/b43legacy/phy.c
488
if (phy->radio_ver != 0x2050) {
drivers/net/wireless/broadcom/b43legacy/phy.c
494
if (phy->radio_ver == 0x2050) {
drivers/net/wireless/broadcom/b43legacy/phy.c
505
if (phy->radio_ver == 0x2050)
drivers/net/wireless/broadcom/b43legacy/phy.c
512
if (phy->radio_ver == 0x2050)
drivers/net/wireless/broadcom/b43legacy/phy.c
516
if (phy->radio_ver == 0x2050)
drivers/net/wireless/broadcom/b43legacy/phy.c
528
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/phy.c
533
if (phy->analog == 1)
drivers/net/wireless/broadcom/b43legacy/phy.c
548
if (phy->radio_ver == 0x2050)
drivers/net/wireless/broadcom/b43legacy/phy.c
551
if (phy->gmode) {
drivers/net/wireless/broadcom/b43legacy/phy.c
552
if (phy->radio_ver == 0x2050) {
drivers/net/wireless/broadcom/b43legacy/phy.c
584
if (phy->analog == 1) {
drivers/net/wireless/broadcom/b43legacy/phy.c
595
if (phy->analog == 1)
drivers/net/wireless/broadcom/b43legacy/phy.c
600
if (phy->analog == 0)
drivers/net/wireless/broadcom/b43legacy/phy.c
603
old_channel = (phy->channel == 0xFF) ? 1 : phy->channel;
drivers/net/wireless/broadcom/b43legacy/phy.c
607
if (phy->radio_ver != 0x2050) {
drivers/net/wireless/broadcom/b43legacy/phy.c
615
if (phy->radio_ver == 0x2050) {
drivers/net/wireless/broadcom/b43legacy/phy.c
634
if (phy->radio_ver == 0x2050)
drivers/net/wireless/broadcom/b43legacy/phy.c
643
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/phy.c
651
if (phy->radio_rev == 4 ||
drivers/net/wireless/broadcom/b43legacy/phy.c
652
phy->radio_rev == 5) {
drivers/net/wireless/broadcom/b43legacy/phy.c
669
if (phy->radio_rev == 8) {
drivers/net/wireless/broadcom/b43legacy/phy.c
704
if (phy->type == B43legacy_PHYTYPE_G) {
drivers/net/wireless/broadcom/b43legacy/phy.c
719
old_channel = phy->channel;
drivers/net/wireless/broadcom/b43legacy/phy.c
728
if (phy->radio_rev < 6 || phy->radio_rev == 8) {
drivers/net/wireless/broadcom/b43legacy/phy.c
734
if (phy->radio_rev <= 2) {
drivers/net/wireless/broadcom/b43legacy/phy.c
747
if (phy->radio_rev >= 6)
drivers/net/wireless/broadcom/b43legacy/phy.c
753
if (phy->radio_rev == 4 || phy->radio_rev == 5)
drivers/net/wireless/broadcom/b43legacy/phy.c
756
if (phy->radio_rev <= 2)
drivers/net/wireless/broadcom/b43legacy/phy.c
759
if (phy->analog == 4) {
drivers/net/wireless/broadcom/b43legacy/phy.c
766
if (phy->type == B43legacy_PHYTYPE_G)
drivers/net/wireless/broadcom/b43legacy/phy.c
768
if (phy->type == B43legacy_PHYTYPE_B) {
drivers/net/wireless/broadcom/b43legacy/phy.c
77
B43legacy_WARN_ON(dev->phy.phy_locked);
drivers/net/wireless/broadcom/b43legacy/phy.c
78
dev->phy.phy_locked = 1;
drivers/net/wireless/broadcom/b43legacy/phy.c
786
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/phy.c
800
if (phy->rev != 1) {
drivers/net/wireless/broadcom/b43legacy/phy.c
814
backup_bband = phy->bbatt;
drivers/net/wireless/broadcom/b43legacy/phy.c
831
if (phy->rev != 1) {
drivers/net/wireless/broadcom/b43legacy/phy.c
854
if (phy->analog == 0)
drivers/net/wireless/broadcom/b43legacy/phy.c
860
if (phy->rev != 1) {
drivers/net/wireless/broadcom/b43legacy/phy.c
869
if (phy->radio_ver == 0x2050 && phy->radio_rev == 2) {
drivers/net/wireless/broadcom/b43legacy/phy.c
875
} else if (phy->radio_rev == 8) {
drivers/net/wireless/broadcom/b43legacy/phy.c
883
if (phy->rev >= 3)
drivers/net/wireless/broadcom/b43legacy/phy.c
900
if (phy->rev >= 7) {
drivers/net/wireless/broadcom/b43legacy/phy.c
92
B43legacy_WARN_ON(!dev->phy.phy_locked);
drivers/net/wireless/broadcom/b43legacy/phy.c
93
dev->phy.phy_locked = 0;
drivers/net/wireless/broadcom/b43legacy/phy.c
952
if (phy->rev != 1) {
drivers/net/wireless/broadcom/b43legacy/phy.c
979
phy->loopback_gain[0] = ((loop1_done * 6) - (loop1_omitted * 4)) - 11;
drivers/net/wireless/broadcom/b43legacy/phy.c
980
phy->loopback_gain[1] = (24 - (3 * loop2_done)) * 2;
drivers/net/wireless/broadcom/b43legacy/phy.c
985
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/phy.c
988
if (phy->rev == 1)
drivers/net/wireless/broadcom/b43legacy/phy.c
992
if (phy->rev >= 2 && phy->gmode)
drivers/net/wireless/broadcom/b43legacy/phy.c
995
if (phy->rev >= 2) {
drivers/net/wireless/broadcom/b43legacy/phy.c
999
if (phy->rev == 2) {
drivers/net/wireless/broadcom/b43legacy/phy.h
165
#define has_loopback_gain(phy) \
drivers/net/wireless/broadcom/b43legacy/phy.h
166
(((phy)->rev > 1) || ((phy)->gmode))
drivers/net/wireless/broadcom/b43legacy/radio.c
101
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/radio.c
103
switch (phy->type) {
drivers/net/wireless/broadcom/b43legacy/radio.c
105
if (phy->radio_ver == 0x2053) {
drivers/net/wireless/broadcom/b43legacy/radio.c
1053
phy->aci_enable = true;
drivers/net/wireless/broadcom/b43legacy/radio.c
1057
if (phy->rev < 2)
drivers/net/wireless/broadcom/b43legacy/radio.c
1076
if (phy->rev == 2) {
drivers/net/wireless/broadcom/b43legacy/radio.c
1079
} else if (phy->rev >= 3) {
drivers/net/wireless/broadcom/b43legacy/radio.c
110
} else if (phy->radio_ver == 0x2050)
drivers/net/wireless/broadcom/b43legacy/radio.c
1110
if (phy->rev < 2)
drivers/net/wireless/broadcom/b43legacy/radio.c
1112
else if (phy->rev == 2) {
drivers/net/wireless/broadcom/b43legacy/radio.c
1160
if (phy->rev >= 3) {
drivers/net/wireless/broadcom/b43legacy/radio.c
1189
if (phy->rev >= 2)
drivers/net/wireless/broadcom/b43legacy/radio.c
1196
if (phy->rev == 2) {
drivers/net/wireless/broadcom/b43legacy/radio.c
1203
} else if (phy->rev >= 6) {
drivers/net/wireless/broadcom/b43legacy/radio.c
1221
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/radio.c
1223
u32 *stack = phy->interfstack;
drivers/net/wireless/broadcom/b43legacy/radio.c
1227
if (phy->rev != 1) {
drivers/net/wireless/broadcom/b43legacy/radio.c
1265
phy->aci_enable = false;
drivers/net/wireless/broadcom/b43legacy/radio.c
1277
if (phy->rev >= 2) {
drivers/net/wireless/broadcom/b43legacy/radio.c
1285
if (phy->rev == 2) {
drivers/net/wireless/broadcom/b43legacy/radio.c
1288
} else if (phy->rev >= 3) {
drivers/net/wireless/broadcom/b43legacy/radio.c
1325
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/radio.c
1328
if ((phy->type != B43legacy_PHYTYPE_G) ||
drivers/net/wireless/broadcom/b43legacy/radio.c
1329
(phy->rev == 0) || (!phy->gmode))
drivers/net/wireless/broadcom/b43legacy/radio.c
1332
phy->aci_wlan_automatic = false;
drivers/net/wireless/broadcom/b43legacy/radio.c
1335
phy->aci_wlan_automatic = true;
drivers/net/wireless/broadcom/b43legacy/radio.c
1336
if (phy->aci_enable)
drivers/net/wireless/broadcom/b43legacy/radio.c
1349
currentmode = phy->interfmode;
drivers/net/wireless/broadcom/b43legacy/radio.c
135
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/radio.c
1357
phy->aci_enable = false;
drivers/net/wireless/broadcom/b43legacy/radio.c
1358
phy->aci_hw_rssi = false;
drivers/net/wireless/broadcom/b43legacy/radio.c
1361
phy->interfmode = mode;
drivers/net/wireless/broadcom/b43legacy/radio.c
1384
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/radio.c
1386
u16 adj_loopback_gain = phy->loopback_gain[0];
drivers/net/wireless/broadcom/b43legacy/radio.c
1390
if (!phy->gmode)
drivers/net/wireless/broadcom/b43legacy/radio.c
1392
if (!has_loopback_gain(phy)) {
drivers/net/wireless/broadcom/b43legacy/radio.c
1393
if (phy->rev < 7 || !(dev->dev->bus->sprom.boardflags_lo
drivers/net/wireless/broadcom/b43legacy/radio.c
142
if (phy->rev <= 1) {
drivers/net/wireless/broadcom/b43legacy/radio.c
1422
if (phy->radio_rev == 8)
drivers/net/wireless/broadcom/b43legacy/radio.c
1446
if (phy->rev >= 7 && dev->dev->bus->sprom.boardflags_lo
drivers/net/wireless/broadcom/b43legacy/radio.c
1481
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/radio.c
1496
if (phy->type == B43legacy_PHYTYPE_B) {
drivers/net/wireless/broadcom/b43legacy/radio.c
1502
if (phy->gmode) {
drivers/net/wireless/broadcom/b43legacy/radio.c
1522
if (phy->rev > 1) { /* loopback gain enabled */
drivers/net/wireless/broadcom/b43legacy/radio.c
1525
if (phy->rev >= 3)
drivers/net/wireless/broadcom/b43legacy/radio.c
1536
if (phy->rev < 7 ||
drivers/net/wireless/broadcom/b43legacy/radio.c
1554
if (phy->analog == 0)
drivers/net/wireless/broadcom/b43legacy/radio.c
1557
if (phy->analog >= 2)
drivers/net/wireless/broadcom/b43legacy/radio.c
1568
if (phy->type == B43legacy_PHYTYPE_B)
drivers/net/wireless/broadcom/b43legacy/radio.c
1571
if (phy->gmode)
drivers/net/wireless/broadcom/b43legacy/radio.c
1577
if (phy->gmode)
drivers/net/wireless/broadcom/b43legacy/radio.c
1585
if (phy->radio_rev == 8)
drivers/net/wireless/broadcom/b43legacy/radio.c
1599
if (phy->gmode)
drivers/net/wireless/broadcom/b43legacy/radio.c
1605
if (phy->gmode)
drivers/net/wireless/broadcom/b43legacy/radio.c
1611
if (phy->gmode)
drivers/net/wireless/broadcom/b43legacy/radio.c
1619
if (phy->gmode)
drivers/net/wireless/broadcom/b43legacy/radio.c
1640
if (phy->gmode)
drivers/net/wireless/broadcom/b43legacy/radio.c
1646
if (phy->gmode)
drivers/net/wireless/broadcom/b43legacy/radio.c
1652
if (phy->gmode)
drivers/net/wireless/broadcom/b43legacy/radio.c
1660
if (phy->gmode)
drivers/net/wireless/broadcom/b43legacy/radio.c
1681
if (phy->analog != 0)
drivers/net/wireless/broadcom/b43legacy/radio.c
1684
b43legacy_radio_selectchannel(dev, phy->channel, 1);
drivers/net/wireless/broadcom/b43legacy/radio.c
1685
if (phy->type == B43legacy_PHYTYPE_B) {
drivers/net/wireless/broadcom/b43legacy/radio.c
1689
if (phy->gmode) {
drivers/net/wireless/broadcom/b43legacy/radio.c
1700
if (phy->rev > 1) {
drivers/net/wireless/broadcom/b43legacy/radio.c
171
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/radio.c
1716
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/radio.c
1719
switch (phy->type) {
drivers/net/wireless/broadcom/b43legacy/radio.c
1759
phy->channel = channel;
drivers/net/wireless/broadcom/b43legacy/radio.c
178
if (phy->rev <= 1) {
drivers/net/wireless/broadcom/b43legacy/radio.c
1849
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/radio.c
1875
phy->txpwr_offset = txpower;
drivers/net/wireless/broadcom/b43legacy/radio.c
1885
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/radio.c
1888
baseband_attenuation = phy->bbatt;
drivers/net/wireless/broadcom/b43legacy/radio.c
1890
radio_attenuation = phy->rfatt;
drivers/net/wireless/broadcom/b43legacy/radio.c
1892
txpower = phy->txctl1;
drivers/net/wireless/broadcom/b43legacy/radio.c
1893
phy->bbatt = baseband_attenuation;
drivers/net/wireless/broadcom/b43legacy/radio.c
1894
phy->rfatt = radio_attenuation;
drivers/net/wireless/broadcom/b43legacy/radio.c
1895
phy->txctl1 = txpower;
drivers/net/wireless/broadcom/b43legacy/radio.c
1898
if (phy->radio_rev < 6)
drivers/net/wireless/broadcom/b43legacy/radio.c
1908
if (phy->radio_ver == 0x2050)
drivers/net/wireless/broadcom/b43legacy/radio.c
1913
if (phy->type == B43legacy_PHYTYPE_G)
drivers/net/wireless/broadcom/b43legacy/radio.c
1919
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/radio.c
1921
if (phy->radio_ver == 0x2050 && phy->radio_rev < 6)
drivers/net/wireless/broadcom/b43legacy/radio.c
1928
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/radio.c
1931
switch (phy->radio_ver) {
drivers/net/wireless/broadcom/b43legacy/radio.c
1933
switch (phy->radio_rev) {
drivers/net/wireless/broadcom/b43legacy/radio.c
1940
switch (phy->radio_rev) {
drivers/net/wireless/broadcom/b43legacy/radio.c
1945
if (phy->type == B43legacy_PHYTYPE_G) {
drivers/net/wireless/broadcom/b43legacy/radio.c
1965
if (phy->type == B43legacy_PHYTYPE_G) {
drivers/net/wireless/broadcom/b43legacy/radio.c
2015
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/radio.c
2017
if (phy->radio_ver != 0x2050)
drivers/net/wireless/broadcom/b43legacy/radio.c
2019
if (phy->radio_rev == 1)
drivers/net/wireless/broadcom/b43legacy/radio.c
2021
if (phy->radio_rev < 6)
drivers/net/wireless/broadcom/b43legacy/radio.c
2023
if (phy->radio_rev == 8)
drivers/net/wireless/broadcom/b43legacy/radio.c
2030
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/radio.c
2036
if (phy->radio_on)
drivers/net/wireless/broadcom/b43legacy/radio.c
2039
switch (phy->type) {
drivers/net/wireless/broadcom/b43legacy/radio.c
2045
(phy->gmode ? 0x00C0 : 0x0000));
drivers/net/wireless/broadcom/b43legacy/radio.c
2046
if (phy->radio_off_context.valid) {
drivers/net/wireless/broadcom/b43legacy/radio.c
2049
phy->radio_off_context.rfover);
drivers/net/wireless/broadcom/b43legacy/radio.c
2051
phy->radio_off_context.rfoverval);
drivers/net/wireless/broadcom/b43legacy/radio.c
2052
phy->radio_off_context.valid = false;
drivers/net/wireless/broadcom/b43legacy/radio.c
2054
channel = phy->channel;
drivers/net/wireless/broadcom/b43legacy/radio.c
2063
phy->radio_on = true;
drivers/net/wireless/broadcom/b43legacy/radio.c
2068
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/radio.c
2070
if (!phy->radio_on && !force)
drivers/net/wireless/broadcom/b43legacy/radio.c
2073
if (phy->type == B43legacy_PHYTYPE_G && dev->dev->id.revision >= 5) {
drivers/net/wireless/broadcom/b43legacy/radio.c
2079
phy->radio_off_context.rfover = rfover;
drivers/net/wireless/broadcom/b43legacy/radio.c
2080
phy->radio_off_context.rfoverval = rfoverval;
drivers/net/wireless/broadcom/b43legacy/radio.c
2081
phy->radio_off_context.valid = true;
drivers/net/wireless/broadcom/b43legacy/radio.c
2088
phy->radio_on = false;
drivers/net/wireless/broadcom/b43legacy/radio.c
2094
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/radio.c
2096
switch (phy->type) {
drivers/net/wireless/broadcom/b43legacy/radio.c
211
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/radio.c
215
if (phy->radio_ver != 0x2050 || phy->radio_rev >= 6)
drivers/net/wireless/broadcom/b43legacy/radio.c
232
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/radio.c
243
if (phy->aci_hw_rssi)
drivers/net/wireless/broadcom/b43legacy/radio.c
266
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/radio.c
268
unsigned int channel = phy->channel;
drivers/net/wireless/broadcom/b43legacy/radio.c
274
if (!((phy->type == B43legacy_PHYTYPE_G) && (phy->rev > 0)))
drivers/net/wireless/broadcom/b43legacy/radio.c
351
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/radio.c
356
delta = 0x1F - phy->nrssi[0];
drivers/net/wireless/broadcom/b43legacy/radio.c
358
tmp = (i - delta) * phy->nrssislope;
drivers/net/wireless/broadcom/b43legacy/radio.c
362
phy->nrssi_lt[i] = tmp;
drivers/net/wireless/broadcom/b43legacy/radio.c
368
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/radio.c
399
if (phy->rev >= 6) {
drivers/net/wireless/broadcom/b43legacy/radio.c
463
if (phy->analog == 0)
drivers/net/wireless/broadcom/b43legacy/radio.c
505
if (phy->rev >= 6) {
drivers/net/wireless/broadcom/b43legacy/radio.c
525
if (phy->rev >= 6) {
drivers/net/wireless/broadcom/b43legacy/radio.c
538
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/radio.c
544
switch (phy->type) {
drivers/net/wireless/broadcom/b43legacy/radio.c
562
tmp &= (phy->rev >= 5) ? 0x007F : 0x000F;
drivers/net/wireless/broadcom/b43legacy/radio.c
578
if (phy->analog >= 2)
drivers/net/wireless/broadcom/b43legacy/radio.c
580
else if (phy->analog == 0)
drivers/net/wireless/broadcom/b43legacy/radio.c
604
b43legacy_synth_pu_workaround(dev, phy->channel);
drivers/net/wireless/broadcom/b43legacy/radio.c
605
if (phy->analog != 0)
drivers/net/wireless/broadcom/b43legacy/radio.c
616
phy->nrssislope = 0x00010000;
drivers/net/wireless/broadcom/b43legacy/radio.c
618
phy->nrssislope = 0x00400000 / (nrssi0 - nrssi1);
drivers/net/wireless/broadcom/b43legacy/radio.c
621
phy->nrssi[0] = nrssi0;
drivers/net/wireless/broadcom/b43legacy/radio.c
622
phy->nrssi[1] = nrssi1;
drivers/net/wireless/broadcom/b43legacy/radio.c
626
if (phy->radio_rev >= 9)
drivers/net/wireless/broadcom/b43legacy/radio.c
628
if (phy->radio_rev == 8)
drivers/net/wireless/broadcom/b43legacy/radio.c
648
if (phy->rev >= 3) {
drivers/net/wireless/broadcom/b43legacy/radio.c
660
switch (phy->rev) {
drivers/net/wireless/broadcom/b43legacy/radio.c
689
if (phy->rev >= 2) {
drivers/net/wireless/broadcom/b43legacy/radio.c
709
if (phy->analog >= 2)
drivers/net/wireless/broadcom/b43legacy/radio.c
721
if (phy->rev >= 2) {
drivers/net/wireless/broadcom/b43legacy/radio.c
731
if (phy->radio_rev == 8)
drivers/net/wireless/broadcom/b43legacy/radio.c
747
phy->nrssislope = 0x00010000;
drivers/net/wireless/broadcom/b43legacy/radio.c
749
phy->nrssislope = 0x00400000 / (nrssi0 - nrssi1);
drivers/net/wireless/broadcom/b43legacy/radio.c
751
phy->nrssi[0] = nrssi1;
drivers/net/wireless/broadcom/b43legacy/radio.c
752
phy->nrssi[1] = nrssi0;
drivers/net/wireless/broadcom/b43legacy/radio.c
754
if (phy->rev >= 3) {
drivers/net/wireless/broadcom/b43legacy/radio.c
761
if (phy->rev >= 2) {
drivers/net/wireless/broadcom/b43legacy/radio.c
780
b43legacy_synth_pu_workaround(dev, phy->channel);
drivers/net/wireless/broadcom/b43legacy/radio.c
787
if (phy->rev >= 3) {
drivers/net/wireless/broadcom/b43legacy/radio.c
803
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/radio.c
810
switch (phy->type) {
drivers/net/wireless/broadcom/b43legacy/radio.c
812
if (phy->radio_ver != 0x2050)
drivers/net/wireless/broadcom/b43legacy/radio.c
818
if (phy->radio_rev >= 6) {
drivers/net/wireless/broadcom/b43legacy/radio.c
819
threshold = (phy->nrssi[1] - phy->nrssi[0]) * 32;
drivers/net/wireless/broadcom/b43legacy/radio.c
820
threshold += 20 * (phy->nrssi[0] + 1);
drivers/net/wireless/broadcom/b43legacy/radio.c
823
threshold = phy->nrssi[1] - 5;
drivers/net/wireless/broadcom/b43legacy/radio.c
830
if (phy->radio_rev >= 6) {
drivers/net/wireless/broadcom/b43legacy/radio.c
843
if (!phy->gmode ||
drivers/net/wireless/broadcom/b43legacy/radio.c
858
if (phy->interfmode ==
drivers/net/wireless/broadcom/b43legacy/radio.c
862
} else if (!phy->aci_wlan_automatic &&
drivers/net/wireless/broadcom/b43legacy/radio.c
863
phy->aci_enable) {
drivers/net/wireless/broadcom/b43legacy/radio.c
871
a = a * (phy->nrssi[1] - phy->nrssi[0]);
drivers/net/wireless/broadcom/b43legacy/radio.c
872
a += (phy->nrssi[0] << 6);
drivers/net/wireless/broadcom/b43legacy/radio.c
880
b = b * (phy->nrssi[1] - phy->nrssi[0]);
drivers/net/wireless/broadcom/b43legacy/radio.c
881
b += (phy->nrssi[0] << 6);
drivers/net/wireless/broadcom/b43legacy/radio.c
975
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/radio.c
980
u32 *stack = phy->interfstack;
drivers/net/wireless/broadcom/b43legacy/radio.c
984
if (phy->rev != 1) {
drivers/net/wireless/broadcom/b43legacy/rfkill.c
64
if (enabled != dev->phy.radio_on) {
drivers/net/wireless/broadcom/b43legacy/sysfs.c
76
switch (wldev->phy.interfmode) {
drivers/net/wireless/broadcom/b43legacy/xmit.c
361
struct b43legacy_phy *phy = &dev->phy;
drivers/net/wireless/broadcom/b43legacy/xmit.c
364
switch (phy->radio_ver) {
drivers/net/wireless/broadcom/b43legacy/xmit.c
381
tmp = phy->nrssi_lt[in_rssi];
drivers/net/wireless/broadcom/b43legacy/xmit.c
393
if (phy->type == B43legacy_PHYTYPE_G &&
drivers/net/wireless/intel/ipw2x00/ipw2200.h
1210
struct ipw_rates phy[3]; /**< PHY restrictions, per band */
drivers/net/wireless/intel/iwlwifi/fw/api/binding.h
33
__le32 phy;
drivers/net/wireless/intel/iwlwifi/fw/api/binding.h
54
__le32 phy;
drivers/net/wireless/intel/iwlwifi/mld/link.c
746
struct iwl_mld_phy *phy;
drivers/net/wireless/intel/iwlwifi/mld/link.c
759
phy = iwl_mld_phy_from_mac80211(chan_ctx);
drivers/net/wireless/intel/iwlwifi/mld/link.c
761
return phy->channel_load_by_us;
drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
754
mld->monitor.phy.valid = false;
drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
933
struct iwl_mld_phy *phy = iwl_mld_phy_from_mac80211(ctx);
drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
940
phy->mld = mld;
drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
941
phy->fw_id = fw_id;
drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
942
phy->chandef = *iwl_mld_get_chandef_from_chanctx(mld, ctx);
drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
946
mld->used_phy_ids &= ~BIT(phy->fw_id);
drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
961
struct iwl_mld_phy *phy = iwl_mld_phy_from_mac80211(ctx);
drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
964
mld->used_phy_ids &= ~BIT(phy->fw_id);
drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
972
struct iwl_mld_phy *phy = iwl_mld_phy_from_mac80211(ctx);
drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
987
if (chandef->chan == phy->chandef.chan &&
drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
988
chandef->center_freq1 == phy->chandef.center_freq1 &&
drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
989
chandef->punctured == phy->chandef.punctured) {
drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
991
if (phy->chandef.width == chandef->width ||
drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
992
(phy->chandef.width <= NL80211_CHAN_WIDTH_20 &&
drivers/net/wireless/intel/iwlwifi/mld/mld.h
221
} phy;
drivers/net/wireless/intel/iwlwifi/mld/mlo.c
1071
struct iwl_mld_phy *phy;
drivers/net/wireless/intel/iwlwifi/mld/mlo.c
1079
const struct iwl_mld_phy *phy = data->phy;
drivers/net/wireless/intel/iwlwifi/mld/mlo.c
1081
container_of((const void *)phy, struct ieee80211_chanctx_conf,
drivers/net/wireless/intel/iwlwifi/mld/mlo.c
1110
u32 new_chan_load = phy->avg_channel_load_not_by_us;
drivers/net/wireless/intel/iwlwifi/mld/mlo.c
1124
struct iwl_mld_phy *phy,
drivers/net/wireless/intel/iwlwifi/mld/mlo.c
1128
.phy = phy,
drivers/net/wireless/intel/iwlwifi/mld/mlo.c
183
struct iwl_mld_phy *phy = iwl_mld_phy_from_mac80211(ctx);
drivers/net/wireless/intel/iwlwifi/mld/mlo.c
189
phy->avg_channel_load_not_by_us = 0;
drivers/net/wireless/intel/iwlwifi/mld/mlo.c
763
const struct iwl_mld_phy *phy = iwl_mld_phy_from_mac80211(chanctx);
drivers/net/wireless/intel/iwlwifi/mld/mlo.c
765
switch (phy->chandef.width) {
drivers/net/wireless/intel/iwlwifi/mld/mlo.h
140
struct iwl_mld_phy *phy,
drivers/net/wireless/intel/iwlwifi/mld/phy.c
133
struct iwl_mld_phy *phy = iwl_mld_phy_from_mac80211(ctx);
drivers/net/wireless/intel/iwlwifi/mld/phy.c
134
struct cfg80211_chan_def *chandef = &phy->chandef;
drivers/net/wireless/intel/iwlwifi/mld/phy.c
136
.id_and_color = cpu_to_le32(phy->fw_id),
drivers/net/wireless/intel/iwlwifi/mld/phy.c
192
struct iwl_mld_phy *phy = iwl_mld_phy_from_mac80211(ctx);
drivers/net/wireless/intel/iwlwifi/mld/phy.c
196
phy->chandef = *chandef;
drivers/net/wireless/intel/iwlwifi/mld/phy.h
42
iwl_mld_cleanup_phy(struct iwl_mld *mld, struct iwl_mld_phy *phy)
drivers/net/wireless/intel/iwlwifi/mld/phy.h
44
CLEANUP_STRUCT(phy);
drivers/net/wireless/intel/iwlwifi/mld/rx.c
2347
if (mld->monitor.phy.valid && !mld->monitor.phy.used) {
drivers/net/wireless/intel/iwlwifi/mld/rx.c
2349
mld->monitor.phy.data.status = IWL_SNIF_STAT_AID_NOT_FOR_US;
drivers/net/wireless/intel/iwlwifi/mld/rx.c
2350
iwl_mld_no_data_rx(mld, napi, &mld->monitor.phy.data);
drivers/net/wireless/intel/iwlwifi/mld/rx.c
2354
mld->monitor.phy.valid = false;
drivers/net/wireless/intel/iwlwifi/mld/rx.c
2393
mld->monitor.phy.data = *ntfy;
drivers/net/wireless/intel/iwlwifi/mld/rx.c
2394
mld->monitor.phy.valid = true;
drivers/net/wireless/intel/iwlwifi/mld/rx.c
2395
mld->monitor.phy.used = false;
drivers/net/wireless/intel/iwlwifi/mld/rx.c
36
if (unlikely(mld->monitor.phy.valid)) {
drivers/net/wireless/intel/iwlwifi/mld/rx.c
37
mld->monitor.phy.used = true;
drivers/net/wireless/intel/iwlwifi/mld/rx.c
38
phy_data->ntfy = &mld->monitor.phy.data;
drivers/net/wireless/intel/iwlwifi/mld/stats.c
462
struct iwl_mld_phy *phy = iwl_mld_phy_from_mac80211(ctx);
drivers/net/wireless/intel/iwlwifi/mld/stats.c
466
if (WARN_ON(phy->fw_id >= IWL_STATS_MAX_PHY_OPERATIONAL))
drivers/net/wireless/intel/iwlwifi/mld/stats.c
469
phy->channel_load_by_us =
drivers/net/wireless/intel/iwlwifi/mld/stats.c
470
le32_to_cpu(per_phy[phy->fw_id].channel_load_by_us);
drivers/net/wireless/intel/iwlwifi/mld/stats.c
472
old_load = phy->avg_channel_load_not_by_us;
drivers/net/wireless/intel/iwlwifi/mld/stats.c
473
new_load = le32_to_cpu(per_phy[phy->fw_id].channel_load_not_by_us);
drivers/net/wireless/intel/iwlwifi/mld/stats.c
475
if (IWL_FW_CHECK(phy->mld,
drivers/net/wireless/intel/iwlwifi/mld/stats.c
483
phy->avg_channel_load_not_by_us = (new_load >> 1) +
drivers/net/wireless/intel/iwlwifi/mld/stats.c
487
iwl_mld_emlsr_check_chan_load(hw, phy, old_load);
drivers/net/wireless/intel/iwlwifi/mld/tests/link-selection.c
112
struct iwl_mld_phy *phy;
drivers/net/wireless/intel/iwlwifi/mld/tests/link-selection.c
116
phy = iwl_mld_phy_from_mac80211(chan_ctx);
drivers/net/wireless/intel/iwlwifi/mld/tests/link-selection.c
118
phy->channel_load_by_us = test_param->input.link.chan_load_by_us;
drivers/net/wireless/intel/iwlwifi/mld/tests/link-selection.c
315
struct iwl_mld_phy *phy =
drivers/net/wireless/intel/iwlwifi/mld/tests/link-selection.c
318
phy->avg_channel_load_not_by_us = params->chan_load_not_by_us;
drivers/net/wireless/intel/iwlwifi/mld/tests/utils.c
154
struct iwl_mld_phy *phy;
drivers/net/wireless/intel/iwlwifi/mld/tests/utils.c
157
KUNIT_ALLOC_AND_ASSERT_SIZE(test, ctx, sizeof(*ctx) + sizeof(*phy));
drivers/net/wireless/intel/iwlwifi/mld/tests/utils.c
165
phy = iwl_mld_phy_from_mac80211(ctx);
drivers/net/wireless/intel/iwlwifi/mld/tests/utils.c
170
phy->fw_id = fw_id;
drivers/net/wireless/intel/iwlwifi/mld/tests/utils.c
171
phy->mld = mld;
drivers/net/wireless/intel/iwlwifi/mld/tests/utils.c
172
phy->chandef = *def;
drivers/net/wireless/intel/iwlwifi/mvm/binding.c
44
cmd.phy = cpu_to_le32(FW_CMD_ID_AND_COLOR(phyctxt->id,
drivers/net/wireless/intel/iwlwifi/mvm/d3.c
768
binding_cmd.phy =
drivers/net/wireless/mediatek/mt76/channel.c
109
struct mt76_phy *phy = ctx->phy;
drivers/net/wireless/mediatek/mt76/channel.c
110
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/channel.c
134
ret = dev->drv->vif_link_add(phy, vif, link_conf, mlink);
drivers/net/wireless/mediatek/mt76/channel.c
160
struct mt76_phy *phy = ctx->phy;
drivers/net/wireless/mediatek/mt76/channel.c
161
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/channel.c
179
dev->drv->vif_link_remove(phy, vif, link_conf, mlink);
drivers/net/wireless/mediatek/mt76/channel.c
198
struct mt76_phy *old_phy = old_ctx->phy;
drivers/net/wireless/mediatek/mt76/channel.c
199
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/channel.c
200
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/channel.c
206
phy = new_ctx->phy = dev->band_phys[conf->def.chan->band];
drivers/net/wireless/mediatek/mt76/channel.c
208
phy = new_ctx->phy;
drivers/net/wireless/mediatek/mt76/channel.c
209
if (!phy)
drivers/net/wireless/mediatek/mt76/channel.c
212
update_chan = phy->chanctx != new_ctx;
drivers/net/wireless/mediatek/mt76/channel.c
214
if (dev->scan.phy == phy)
drivers/net/wireless/mediatek/mt76/channel.c
217
cancel_delayed_work_sync(&phy->mac_work);
drivers/net/wireless/mediatek/mt76/channel.c
22
mt76_phy_update_channel(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/channel.c
223
phy != old_phy && old_phy->chanctx == old_ctx)
drivers/net/wireless/mediatek/mt76/channel.c
227
ret = mt76_phy_update_channel(phy, vifs->new_ctx);
drivers/net/wireless/mediatek/mt76/channel.c
232
if (old_phy == phy)
drivers/net/wireless/mediatek/mt76/channel.c
243
ret = dev->drv->vif_link_add(phy, vifs[i].vif,
drivers/net/wireless/mediatek/mt76/channel.c
25
phy->radar_enabled = conf->radar_enabled;
drivers/net/wireless/mediatek/mt76/channel.c
26
phy->main_chandef = conf->def;
drivers/net/wireless/mediatek/mt76/channel.c
266
struct mt76_vif_link *mt76_get_vif_phy_link(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/channel.c
27
phy->chanctx = (struct mt76_chanctx *)conf->drv_priv;
drivers/net/wireless/mediatek/mt76/channel.c
271
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/channel.c
279
if (mt76_vif_link_phy(mlink) == phy)
drivers/net/wireless/mediatek/mt76/channel.c
29
return __mt76_set_channel(phy, &phy->main_chandef, false);
drivers/net/wireless/mediatek/mt76/channel.c
291
ret = dev->drv->vif_link_add(phy, vif, &vif->bss_conf, mlink);
drivers/net/wireless/mediatek/mt76/channel.c
301
void mt76_put_vif_phy_link(struct mt76_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/channel.c
304
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/channel.c
313
dev->drv->vif_link_remove(phy, vif, &vif->bss_conf, mlink);
drivers/net/wireless/mediatek/mt76/channel.c
317
void mt76_roc_complete(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/channel.c
319
struct mt76_vif_link *mlink = phy->roc_link;
drivers/net/wireless/mediatek/mt76/channel.c
320
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/channel.c
322
if (!phy->roc_vif)
drivers/net/wireless/mediatek/mt76/channel.c
327
if (phy->main_chandef.chan &&
drivers/net/wireless/mediatek/mt76/channel.c
328
!test_bit(MT76_MCU_RESET, &dev->phy.state))
drivers/net/wireless/mediatek/mt76/channel.c
329
mt76_set_channel(phy, &phy->main_chandef, false);
drivers/net/wireless/mediatek/mt76/channel.c
330
mt76_put_vif_phy_link(phy, phy->roc_vif, phy->roc_link);
drivers/net/wireless/mediatek/mt76/channel.c
331
phy->roc_vif = NULL;
drivers/net/wireless/mediatek/mt76/channel.c
332
phy->roc_link = NULL;
drivers/net/wireless/mediatek/mt76/channel.c
333
if (!test_bit(MT76_MCU_RESET, &dev->phy.state))
drivers/net/wireless/mediatek/mt76/channel.c
334
ieee80211_remain_on_channel_expired(phy->hw);
drivers/net/wireless/mediatek/mt76/channel.c
339
struct mt76_phy *phy = container_of(work, struct mt76_phy, roc_work.work);
drivers/net/wireless/mediatek/mt76/channel.c
340
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/channel.c
343
mt76_roc_complete(phy);
drivers/net/wireless/mediatek/mt76/channel.c
347
void mt76_abort_roc(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/channel.c
349
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/channel.c
351
cancel_delayed_work_sync(&phy->roc_work);
drivers/net/wireless/mediatek/mt76/channel.c
354
mt76_roc_complete(phy);
drivers/net/wireless/mediatek/mt76/channel.c
36
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/channel.c
364
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/channel.c
365
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/channel.c
369
phy = dev->band_phys[chan->band];
drivers/net/wireless/mediatek/mt76/channel.c
37
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/channel.c
370
if (!phy)
drivers/net/wireless/mediatek/mt76/channel.c
375
if (phy->roc_vif || dev->scan.phy == phy ||
drivers/net/wireless/mediatek/mt76/channel.c
376
test_bit(MT76_MCU_RESET, &dev->phy.state)) {
drivers/net/wireless/mediatek/mt76/channel.c
381
mlink = mt76_get_vif_phy_link(phy, vif);
drivers/net/wireless/mediatek/mt76/channel.c
387
mlink->mvif->roc_phy = phy;
drivers/net/wireless/mediatek/mt76/channel.c
388
phy->roc_vif = vif;
drivers/net/wireless/mediatek/mt76/channel.c
389
phy->roc_link = mlink;
drivers/net/wireless/mediatek/mt76/channel.c
391
mt76_set_channel(phy, &chandef, true);
drivers/net/wireless/mediatek/mt76/channel.c
393
ieee80211_queue_delayed_work(phy->hw, &phy->roc_work,
drivers/net/wireless/mediatek/mt76/channel.c
40
phy = ctx->phy = dev->band_phys[conf->def.chan->band];
drivers/net/wireless/mediatek/mt76/channel.c
407
struct mt76_phy *phy = mvif->roc_phy;
drivers/net/wireless/mediatek/mt76/channel.c
409
if (!phy)
drivers/net/wireless/mediatek/mt76/channel.c
41
if (WARN_ON_ONCE(!phy))
drivers/net/wireless/mediatek/mt76/channel.c
412
mt76_abort_roc(phy);
drivers/net/wireless/mediatek/mt76/channel.c
44
if (dev->scan.phy == phy)
drivers/net/wireless/mediatek/mt76/channel.c
48
if (!phy->chanctx)
drivers/net/wireless/mediatek/mt76/channel.c
49
ret = mt76_phy_update_channel(phy, conf);
drivers/net/wireless/mediatek/mt76/channel.c
62
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/channel.c
63
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/channel.c
65
phy = ctx->phy;
drivers/net/wireless/mediatek/mt76/channel.c
66
if (WARN_ON_ONCE(!phy))
drivers/net/wireless/mediatek/mt76/channel.c
69
if (dev->scan.phy == phy)
drivers/net/wireless/mediatek/mt76/channel.c
73
if (phy->chanctx == ctx)
drivers/net/wireless/mediatek/mt76/channel.c
74
phy->chanctx = NULL;
drivers/net/wireless/mediatek/mt76/channel.c
84
struct mt76_phy *phy = ctx->phy;
drivers/net/wireless/mediatek/mt76/channel.c
85
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/channel.c
91
cancel_delayed_work_sync(&phy->mac_work);
drivers/net/wireless/mediatek/mt76/channel.c
94
mt76_phy_update_channel(phy, conf);
drivers/net/wireless/mediatek/mt76/debugfs.c
104
mt76_register_debugfs_fops(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/debugfs.c
108
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/debugfs.c
111
dir = debugfs_create_dir("mt76", phy->hw->wiphy->debugfsdir);
drivers/net/wireless/mediatek/mt76/debugfs.c
113
debugfs_create_u8("led_pin", 0600, dir, &phy->leds.pin);
drivers/net/wireless/mediatek/mt76/debugfs.c
60
for (i = 0; i < ARRAY_SIZE(dev->phy.q_tx); i++) {
drivers/net/wireless/mediatek/mt76/debugfs.c
61
struct mt76_queue *q = dev->phy.q_tx[i];
drivers/net/wireless/mediatek/mt76/dma.c
1155
struct mt76_phy *phy = dev->phys[i];
drivers/net/wireless/mediatek/mt76/dma.c
1158
if (!phy)
drivers/net/wireless/mediatek/mt76/dma.c
1161
for (j = 0; j < ARRAY_SIZE(phy->q_tx); j++)
drivers/net/wireless/mediatek/mt76/dma.c
1162
mt76_dma_tx_cleanup(dev, phy->q_tx[j], true);
drivers/net/wireless/mediatek/mt76/dma.c
610
if (test_bit(MT76_MCU_RESET, &dev->phy.state))
drivers/net/wireless/mediatek/mt76/dma.c
637
mt76_dma_tx_queue_skb(struct mt76_phy *phy, struct mt76_queue *q,
drivers/net/wireless/mediatek/mt76/dma.c
647
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/dma.c
655
if (test_bit(MT76_RESET, &phy->state))
drivers/net/wireless/mediatek/mt76/dma.c
710
return mt76_npu_dma_add_buf(phy, q, skb, &tx_info.buf[1], txwi);
drivers/net/wireless/mediatek/mt76/dma.c
724
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/dma.c
726
if (tx_info.skb == phy->test.tx_skb)
drivers/net/wireless/mediatek/mt76/dma.c
727
phy->test.tx_done--;
drivers/net/wireless/mediatek/mt76/eeprom.c
167
mt76_eeprom_override(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/eeprom.c
169
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/eeprom.c
173
err = of_get_mac_address(np, phy->macaddr);
drivers/net/wireless/mediatek/mt76/eeprom.c
177
if (!is_valid_ether_addr(phy->macaddr)) {
drivers/net/wireless/mediatek/mt76/eeprom.c
178
eth_random_addr(phy->macaddr);
drivers/net/wireless/mediatek/mt76/eeprom.c
181
phy->macaddr);
drivers/net/wireless/mediatek/mt76/eeprom.c
354
s8 mt76_get_rate_power_limits(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/eeprom.c
359
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/eeprom.c
370
int n_chains = hweight16(phy->chainmask);
drivers/net/wireless/mediatek/mt76/eeprom.c
409
txs_delta = mt76_get_txs_delta(np, hweight16(phy->chainmask));
drivers/net/wireless/mediatek/mt76/mac80211.c
1000
phy->survey_time = time;
drivers/net/wireless/mediatek/mt76/mac80211.c
1004
void mt76_update_survey(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/mac80211.c
1006
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mac80211.c
1010
dev->drv->update_survey(phy);
drivers/net/wireless/mediatek/mt76/mac80211.c
1013
mt76_update_survey_active_time(phy, cur_time);
drivers/net/wireless/mediatek/mt76/mac80211.c
1016
struct mt76_channel_state *state = phy->chan_state;
drivers/net/wireless/mediatek/mt76/mac80211.c
1026
int __mt76_set_channel(struct mt76_phy *phy, struct cfg80211_chan_def *chandef,
drivers/net/wireless/mediatek/mt76/mac80211.c
1029
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mac80211.c
1033
set_bit(MT76_RESET, &phy->state);
drivers/net/wireless/mediatek/mt76/mac80211.c
1036
wait_event_timeout(dev->tx_wait, !mt76_has_tx_pending(phy), timeout);
drivers/net/wireless/mediatek/mt76/mac80211.c
1037
mt76_update_survey(phy);
drivers/net/wireless/mediatek/mt76/mac80211.c
1039
if (phy->chandef.chan->center_freq != chandef->chan->center_freq ||
drivers/net/wireless/mediatek/mt76/mac80211.c
1040
phy->chandef.width != chandef->width)
drivers/net/wireless/mediatek/mt76/mac80211.c
1041
phy->dfs_state = MT_DFS_STATE_UNKNOWN;
drivers/net/wireless/mediatek/mt76/mac80211.c
1043
phy->chandef = *chandef;
drivers/net/wireless/mediatek/mt76/mac80211.c
1044
phy->chan_state = mt76_channel_state(phy, chandef->chan);
drivers/net/wireless/mediatek/mt76/mac80211.c
1045
phy->offchannel = offchannel;
drivers/net/wireless/mediatek/mt76/mac80211.c
1048
phy->main_chandef = *chandef;
drivers/net/wireless/mediatek/mt76/mac80211.c
1050
if (chandef->chan != phy->main_chandef.chan)
drivers/net/wireless/mediatek/mt76/mac80211.c
1051
memset(phy->chan_state, 0, sizeof(*phy->chan_state));
drivers/net/wireless/mediatek/mt76/mac80211.c
1053
ret = dev->drv->set_channel(phy);
drivers/net/wireless/mediatek/mt76/mac80211.c
1055
clear_bit(MT76_RESET, &phy->state);
drivers/net/wireless/mediatek/mt76/mac80211.c
1062
int mt76_set_channel(struct mt76_phy *phy, struct cfg80211_chan_def *chandef,
drivers/net/wireless/mediatek/mt76/mac80211.c
1065
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mac80211.c
1068
cancel_delayed_work_sync(&phy->mac_work);
drivers/net/wireless/mediatek/mt76/mac80211.c
1071
ret = __mt76_set_channel(phy, chandef, offchannel);
drivers/net/wireless/mediatek/mt76/mac80211.c
1077
int mt76_update_channel(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/mac80211.c
1079
struct ieee80211_hw *hw = phy->hw;
drivers/net/wireless/mediatek/mt76/mac80211.c
1083
phy->radar_enabled = hw->conf.radar_enabled;
drivers/net/wireless/mediatek/mt76/mac80211.c
1085
return mt76_set_channel(phy, chandef, offchannel);
drivers/net/wireless/mediatek/mt76/mac80211.c
1090
mt76_get_survey_sband(struct mt76_phy *phy, int *idx)
drivers/net/wireless/mediatek/mt76/mac80211.c
1092
if (*idx < phy->sband_2g.sband.n_channels)
drivers/net/wireless/mediatek/mt76/mac80211.c
1093
return &phy->sband_2g;
drivers/net/wireless/mediatek/mt76/mac80211.c
1095
*idx -= phy->sband_2g.sband.n_channels;
drivers/net/wireless/mediatek/mt76/mac80211.c
1096
if (*idx < phy->sband_5g.sband.n_channels)
drivers/net/wireless/mediatek/mt76/mac80211.c
1097
return &phy->sband_5g;
drivers/net/wireless/mediatek/mt76/mac80211.c
1099
*idx -= phy->sband_5g.sband.n_channels;
drivers/net/wireless/mediatek/mt76/mac80211.c
1100
if (*idx < phy->sband_6g.sband.n_channels)
drivers/net/wireless/mediatek/mt76/mac80211.c
1101
return &phy->sband_6g;
drivers/net/wireless/mediatek/mt76/mac80211.c
1103
*idx -= phy->sband_6g.sband.n_channels;
drivers/net/wireless/mediatek/mt76/mac80211.c
1110
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/mac80211.c
1111
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mac80211.c
1122
phy = dev->phys[phy_idx];
drivers/net/wireless/mediatek/mt76/mac80211.c
1123
if (!phy || phy->hw != hw)
drivers/net/wireless/mediatek/mt76/mac80211.c
1126
sband = mt76_get_survey_sband(phy, &idx);
drivers/net/wireless/mediatek/mt76/mac80211.c
1128
if (idx == 0 && phy->dev->drv->update_survey)
drivers/net/wireless/mediatek/mt76/mac80211.c
1129
mt76_update_survey(phy);
drivers/net/wireless/mediatek/mt76/mac80211.c
1141
state = mt76_channel_state(phy, chan);
drivers/net/wireless/mediatek/mt76/mac80211.c
1150
if (chan == phy->main_chandef.chan) {
drivers/net/wireless/mediatek/mt76/mac80211.c
1414
if (!ether_addr_equal(hdr->addr1, dev->phy.macaddr))
drivers/net/wireless/mediatek/mt76/mac80211.c
1569
mt76_sta_add(struct mt76_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mac80211.c
1573
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mac80211.c
1595
phy->num_sta++;
drivers/net/wireless/mediatek/mt76/mac80211.c
1597
mt76_wcid_init(wcid, phy->band_idx);
drivers/net/wireless/mediatek/mt76/mac80211.c
1604
void __mt76_sta_remove(struct mt76_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mac80211.c
1607
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mac80211.c
1620
phy->num_sta--;
drivers/net/wireless/mediatek/mt76/mac80211.c
1625
mt76_sta_remove(struct mt76_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mac80211.c
1628
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mac80211.c
1631
__mt76_sta_remove(phy, vif, sta);
drivers/net/wireless/mediatek/mt76/mac80211.c
1640
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/mac80211.c
1641
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mac80211.c
1644
phy = mt76_vif_phy(hw, vif);
drivers/net/wireless/mediatek/mt76/mac80211.c
1645
if (!phy)
drivers/net/wireless/mediatek/mt76/mac80211.c
1650
return mt76_sta_add(phy, vif, sta);
drivers/net/wireless/mediatek/mt76/mac80211.c
1654
mt76_sta_remove(phy, vif, sta);
drivers/net/wireless/mediatek/mt76/mac80211.c
1678
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/mac80211.c
1679
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mac80211.c
1708
struct mt76_phy *phy = mt76_dev_phy(dev, wcid->phy_idx);
drivers/net/wireless/mediatek/mt76/mac80211.c
1719
spin_lock_bh(&phy->tx_lock);
drivers/net/wireless/mediatek/mt76/mac80211.c
1732
spin_unlock_bh(&phy->tx_lock);
drivers/net/wireless/mediatek/mt76/mac80211.c
1743
if (test_bit(MT76_MCU_RESET, &dev->phy.state) || !wcid->sta)
drivers/net/wireless/mediatek/mt76/mac80211.c
1753
s8 mt76_get_power_bound(struct mt76_phy *phy, s8 txpower)
drivers/net/wireless/mediatek/mt76/mac80211.c
1755
int n_chains = hweight16(phy->chainmask);
drivers/net/wireless/mediatek/mt76/mac80211.c
1757
txpower = mt76_get_sar_power(phy, phy->chandef.chan, txpower * 2);
drivers/net/wireless/mediatek/mt76/mac80211.c
1767
struct mt76_phy *phy = mt76_vif_phy(hw, vif);
drivers/net/wireless/mediatek/mt76/mac80211.c
1770
if (!phy)
drivers/net/wireless/mediatek/mt76/mac80211.c
1773
n_chains = hweight16(phy->chainmask);
drivers/net/wireless/mediatek/mt76/mac80211.c
1775
*dbm = DIV_ROUND_UP(phy->txpower_cur + delta, 2);
drivers/net/wireless/mediatek/mt76/mac80211.c
1784
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/mac80211.c
1799
phy->frp[index].range = &capa->freq_ranges[index];
drivers/net/wireless/mediatek/mt76/mac80211.c
1800
phy->frp[index].power = power;
drivers/net/wireless/mediatek/mt76/mac80211.c
1807
int mt76_get_sar_power(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mac80211.c
1811
const struct cfg80211_sar_capa *capa = phy->hw->wiphy->sar_capa;
drivers/net/wireless/mediatek/mt76/mac80211.c
1814
if (!capa || !phy->frp)
drivers/net/wireless/mediatek/mt76/mac80211.c
1822
if (phy->frp[i].range &&
drivers/net/wireless/mediatek/mt76/mac80211.c
1823
freq >= phy->frp[i].range->start_freq &&
drivers/net/wireless/mediatek/mt76/mac80211.c
1824
freq < phy->frp[i].range->end_freq) {
drivers/net/wireless/mediatek/mt76/mac80211.c
1825
power = min_t(int, phy->frp[i].power, power);
drivers/net/wireless/mediatek/mt76/mac80211.c
1931
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/mac80211.c
1933
set_bit(MT76_SCANNING, &phy->state);
drivers/net/wireless/mediatek/mt76/mac80211.c
1939
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/mac80211.c
1941
clear_bit(MT76_SCANNING, &phy->state);
drivers/net/wireless/mediatek/mt76/mac80211.c
1948
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/mac80211.c
1949
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mac80211.c
196
static int mt76_led_init(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/mac80211.c
198
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mac80211.c
199
struct ieee80211_hw *hw = phy->hw;
drivers/net/wireless/mediatek/mt76/mac80211.c
202
if (!phy->leds.cdev.brightness_set && !phy->leds.cdev.blink_set)
drivers/net/wireless/mediatek/mt76/mac80211.c
2037
enum mt76_dfs_state mt76_phy_dfs_state(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/mac80211.c
2039
struct ieee80211_hw *hw = phy->hw;
drivers/net/wireless/mediatek/mt76/mac80211.c
2040
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mac80211.c
2043
test_bit(MT76_SCANNING, &phy->state))
drivers/net/wireless/mediatek/mt76/mac80211.c
2046
if (!phy->radar_enabled) {
drivers/net/wireless/mediatek/mt76/mac80211.c
2048
(phy->chandef.chan->flags & IEEE80211_CHAN_RADAR))
drivers/net/wireless/mediatek/mt76/mac80211.c
2054
if (!cfg80211_reg_can_beacon(hw->wiphy, &phy->chandef, NL80211_IFTYPE_AP))
drivers/net/wireless/mediatek/mt76/mac80211.c
214
if (phy == &dev->phy) {
drivers/net/wireless/mediatek/mt76/mac80211.c
218
phy->leds.pin = led_pin;
drivers/net/wireless/mediatek/mt76/mac80211.c
220
phy->leds.al =
drivers/net/wireless/mediatek/mt76/mac80211.c
227
snprintf(phy->leds.name, sizeof(phy->leds.name), "mt76-%s",
drivers/net/wireless/mediatek/mt76/mac80211.c
230
phy->leds.cdev.name = phy->leds.name;
drivers/net/wireless/mediatek/mt76/mac80211.c
231
phy->leds.cdev.default_trigger =
drivers/net/wireless/mediatek/mt76/mac80211.c
238
"registering led '%s'\n", phy->leds.name);
drivers/net/wireless/mediatek/mt76/mac80211.c
240
return led_classdev_register(dev->dev, &phy->leds.cdev);
drivers/net/wireless/mediatek/mt76/mac80211.c
243
static void mt76_led_cleanup(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/mac80211.c
245
if (!phy->leds.cdev.brightness_set && !phy->leds.cdev.blink_set)
drivers/net/wireless/mediatek/mt76/mac80211.c
248
led_classdev_unregister(&phy->leds.cdev);
drivers/net/wireless/mediatek/mt76/mac80211.c
251
static void mt76_init_stream_cap(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mac80211.c
256
int i, nstream = hweight8(phy->antenna_mask);
drivers/net/wireless/mediatek/mt76/mac80211.c
288
if (ieee80211_hw_check(phy->hw, SUPPORTS_VHT_EXT_NSS_BW))
drivers/net/wireless/mediatek/mt76/mac80211.c
293
void mt76_set_stream_caps(struct mt76_phy *phy, bool vht)
drivers/net/wireless/mediatek/mt76/mac80211.c
295
if (phy->cap.has_2ghz)
drivers/net/wireless/mediatek/mt76/mac80211.c
296
mt76_init_stream_cap(phy, &phy->sband_2g.sband, false);
drivers/net/wireless/mediatek/mt76/mac80211.c
297
if (phy->cap.has_5ghz)
drivers/net/wireless/mediatek/mt76/mac80211.c
298
mt76_init_stream_cap(phy, &phy->sband_5g.sband, vht);
drivers/net/wireless/mediatek/mt76/mac80211.c
299
if (phy->cap.has_6ghz)
drivers/net/wireless/mediatek/mt76/mac80211.c
300
mt76_init_stream_cap(phy, &phy->sband_6g.sband, vht);
drivers/net/wireless/mediatek/mt76/mac80211.c
305
mt76_init_sband(struct mt76_phy *phy, struct mt76_sband *msband,
drivers/net/wireless/mediatek/mt76/mac80211.c
313
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mac80211.c
346
mt76_init_stream_cap(phy, sband, vht);
drivers/net/wireless/mediatek/mt76/mac80211.c
362
mt76_init_sband_2g(struct mt76_phy *phy, struct ieee80211_rate *rates,
drivers/net/wireless/mediatek/mt76/mac80211.c
365
phy->hw->wiphy->bands[NL80211_BAND_2GHZ] = &phy->sband_2g.sband;
drivers/net/wireless/mediatek/mt76/mac80211.c
367
return mt76_init_sband(phy, &phy->sband_2g, mt76_channels_2ghz,
drivers/net/wireless/mediatek/mt76/mac80211.c
373
mt76_init_sband_5g(struct mt76_phy *phy, struct ieee80211_rate *rates,
drivers/net/wireless/mediatek/mt76/mac80211.c
376
phy->hw->wiphy->bands[NL80211_BAND_5GHZ] = &phy->sband_5g.sband;
drivers/net/wireless/mediatek/mt76/mac80211.c
378
return mt76_init_sband(phy, &phy->sband_5g, mt76_channels_5ghz,
drivers/net/wireless/mediatek/mt76/mac80211.c
384
mt76_init_sband_6g(struct mt76_phy *phy, struct ieee80211_rate *rates,
drivers/net/wireless/mediatek/mt76/mac80211.c
387
phy->hw->wiphy->bands[NL80211_BAND_6GHZ] = &phy->sband_6g.sband;
drivers/net/wireless/mediatek/mt76/mac80211.c
389
return mt76_init_sband(phy, &phy->sband_6g, mt76_channels_6ghz,
drivers/net/wireless/mediatek/mt76/mac80211.c
395
mt76_check_sband(struct mt76_phy *phy, struct mt76_sband *msband,
drivers/net/wireless/mediatek/mt76/mac80211.c
414
cfg80211_chandef_create(&phy->chandef, &sband->channels[0],
drivers/net/wireless/mediatek/mt76/mac80211.c
416
phy->chan_state = &msband->chan[0];
drivers/net/wireless/mediatek/mt76/mac80211.c
417
phy->dev->band_phys[band] = phy;
drivers/net/wireless/mediatek/mt76/mac80211.c
422
if (phy->hw->wiphy->bands[band] == sband)
drivers/net/wireless/mediatek/mt76/mac80211.c
423
phy->hw->wiphy->bands[band] = NULL;
drivers/net/wireless/mediatek/mt76/mac80211.c
427
mt76_phy_init(struct mt76_phy *phy, struct ieee80211_hw *hw)
drivers/net/wireless/mediatek/mt76/mac80211.c
429
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mac80211.c
432
INIT_LIST_HEAD(&phy->tx_list);
drivers/net/wireless/mediatek/mt76/mac80211.c
433
spin_lock_init(&phy->tx_lock);
drivers/net/wireless/mediatek/mt76/mac80211.c
434
INIT_DELAYED_WORK(&phy->roc_work, mt76_roc_complete_work);
drivers/net/wireless/mediatek/mt76/mac80211.c
436
if ((void *)phy != hw->priv)
drivers/net/wireless/mediatek/mt76/mac80211.c
440
SET_IEEE80211_PERM_ADDR(hw, phy->macaddr);
drivers/net/wireless/mediatek/mt76/mac80211.c
453
wiphy->available_antennas_tx = phy->antenna_mask;
drivers/net/wireless/mediatek/mt76/mac80211.c
455
wiphy->available_antennas_rx = phy->antenna_mask;
drivers/net/wireless/mediatek/mt76/mac80211.c
458
phy->frp = devm_kcalloc(dev->dev, wiphy->sar_capa->num_freq_ranges,
drivers/net/wireless/mediatek/mt76/mac80211.c
461
if (!phy->frp)
drivers/net/wireless/mediatek/mt76/mac80211.c
496
struct ieee80211_hw *hw = dev->phy.hw;
drivers/net/wireless/mediatek/mt76/mac80211.c
498
struct mt76_phy *phy;
drivers/net/wireless/mediatek/mt76/mac80211.c
500
phy_size = ALIGN(sizeof(*phy), 8);
drivers/net/wireless/mediatek/mt76/mac80211.c
501
phy = devm_kzalloc(dev->dev, size + phy_size, GFP_KERNEL);
drivers/net/wireless/mediatek/mt76/mac80211.c
502
if (!phy)
drivers/net/wireless/mediatek/mt76/mac80211.c
505
phy->dev = dev;
drivers/net/wireless/mediatek/mt76/mac80211.c
506
phy->hw = hw;
drivers/net/wireless/mediatek/mt76/mac80211.c
507
phy->priv = (void *)phy + phy_size;
drivers/net/wireless/mediatek/mt76/mac80211.c
508
phy->band_idx = band_idx;
drivers/net/wireless/mediatek/mt76/mac80211.c
510
return phy;
drivers/net/wireless/mediatek/mt76/mac80211.c
520
struct mt76_phy *phy;
drivers/net/wireless/mediatek/mt76/mac80211.c
522
phy_size = ALIGN(sizeof(*phy), 8);
drivers/net/wireless/mediatek/mt76/mac80211.c
527
phy = hw->priv;
drivers/net/wireless/mediatek/mt76/mac80211.c
528
phy->dev = dev;
drivers/net/wireless/mediatek/mt76/mac80211.c
529
phy->hw = hw;
drivers/net/wireless/mediatek/mt76/mac80211.c
530
phy->priv = hw->priv + phy_size;
drivers/net/wireless/mediatek/mt76/mac80211.c
531
phy->band_idx = band_idx;
drivers/net/wireless/mediatek/mt76/mac80211.c
544
return phy;
drivers/net/wireless/mediatek/mt76/mac80211.c
548
int mt76_register_phy(struct mt76_phy *phy, bool vht,
drivers/net/wireless/mediatek/mt76/mac80211.c
553
ret = mt76_phy_init(phy, phy->hw);
drivers/net/wireless/mediatek/mt76/mac80211.c
557
if (phy->cap.has_2ghz) {
drivers/net/wireless/mediatek/mt76/mac80211.c
558
ret = mt76_init_sband_2g(phy, rates, n_rates);
drivers/net/wireless/mediatek/mt76/mac80211.c
563
if (phy->cap.has_5ghz) {
drivers/net/wireless/mediatek/mt76/mac80211.c
564
ret = mt76_init_sband_5g(phy, rates + 4, n_rates - 4, vht);
drivers/net/wireless/mediatek/mt76/mac80211.c
569
if (phy->cap.has_6ghz) {
drivers/net/wireless/mediatek/mt76/mac80211.c
570
ret = mt76_init_sband_6g(phy, rates + 4, n_rates - 4);
drivers/net/wireless/mediatek/mt76/mac80211.c
576
ret = mt76_led_init(phy);
drivers/net/wireless/mediatek/mt76/mac80211.c
581
wiphy_read_of_freq_limits(phy->hw->wiphy);
drivers/net/wireless/mediatek/mt76/mac80211.c
582
mt76_check_sband(phy, &phy->sband_2g, NL80211_BAND_2GHZ);
drivers/net/wireless/mediatek/mt76/mac80211.c
583
mt76_check_sband(phy, &phy->sband_5g, NL80211_BAND_5GHZ);
drivers/net/wireless/mediatek/mt76/mac80211.c
584
mt76_check_sband(phy, &phy->sband_6g, NL80211_BAND_6GHZ);
drivers/net/wireless/mediatek/mt76/mac80211.c
586
if ((void *)phy == phy->hw->priv) {
drivers/net/wireless/mediatek/mt76/mac80211.c
587
ret = ieee80211_register_hw(phy->hw);
drivers/net/wireless/mediatek/mt76/mac80211.c
592
set_bit(MT76_STATE_REGISTERED, &phy->state);
drivers/net/wireless/mediatek/mt76/mac80211.c
593
phy->dev->phys[phy->band_idx] = phy;
drivers/net/wireless/mediatek/mt76/mac80211.c
599
void mt76_unregister_phy(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/mac80211.c
601
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mac80211.c
603
if (!test_bit(MT76_STATE_REGISTERED, &phy->state))
drivers/net/wireless/mediatek/mt76/mac80211.c
607
mt76_led_cleanup(phy);
drivers/net/wireless/mediatek/mt76/mac80211.c
609
ieee80211_unregister_hw(phy->hw);
drivers/net/wireless/mediatek/mt76/mac80211.c
610
dev->phys[phy->band_idx] = NULL;
drivers/net/wireless/mediatek/mt76/mac80211.c
671
struct mt76_phy *phy;
drivers/net/wireless/mediatek/mt76/mac80211.c
685
phy = &dev->phy;
drivers/net/wireless/mediatek/mt76/mac80211.c
686
phy->dev = dev;
drivers/net/wireless/mediatek/mt76/mac80211.c
687
phy->hw = hw;
drivers/net/wireless/mediatek/mt76/mac80211.c
688
phy->band_idx = MT_BAND0;
drivers/net/wireless/mediatek/mt76/mac80211.c
689
dev->phys[phy->band_idx] = phy;
drivers/net/wireless/mediatek/mt76/mac80211.c
747
struct mt76_phy *phy = &dev->phy;
drivers/net/wireless/mediatek/mt76/mac80211.c
751
mt76_wcid_init(&dev->global_wcid, phy->band_idx);
drivers/net/wireless/mediatek/mt76/mac80211.c
752
ret = mt76_phy_init(phy, hw);
drivers/net/wireless/mediatek/mt76/mac80211.c
756
if (phy->cap.has_2ghz) {
drivers/net/wireless/mediatek/mt76/mac80211.c
757
ret = mt76_init_sband_2g(phy, rates, n_rates);
drivers/net/wireless/mediatek/mt76/mac80211.c
762
if (phy->cap.has_5ghz) {
drivers/net/wireless/mediatek/mt76/mac80211.c
763
ret = mt76_init_sband_5g(phy, rates + 4, n_rates - 4, vht);
drivers/net/wireless/mediatek/mt76/mac80211.c
768
if (phy->cap.has_6ghz) {
drivers/net/wireless/mediatek/mt76/mac80211.c
769
ret = mt76_init_sband_6g(phy, rates + 4, n_rates - 4);
drivers/net/wireless/mediatek/mt76/mac80211.c
775
mt76_check_sband(&dev->phy, &phy->sband_2g, NL80211_BAND_2GHZ);
drivers/net/wireless/mediatek/mt76/mac80211.c
776
mt76_check_sband(&dev->phy, &phy->sband_5g, NL80211_BAND_5GHZ);
drivers/net/wireless/mediatek/mt76/mac80211.c
777
mt76_check_sband(&dev->phy, &phy->sband_6g, NL80211_BAND_6GHZ);
drivers/net/wireless/mediatek/mt76/mac80211.c
780
ret = mt76_led_init(phy);
drivers/net/wireless/mediatek/mt76/mac80211.c
790
set_bit(MT76_STATE_REGISTERED, &phy->state);
drivers/net/wireless/mediatek/mt76/mac80211.c
801
if (!test_bit(MT76_STATE_REGISTERED, &dev->phy.state))
drivers/net/wireless/mediatek/mt76/mac80211.c
805
mt76_led_cleanup(&dev->phy);
drivers/net/wireless/mediatek/mt76/mac80211.c
824
static void mt76_reset_phy(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/mac80211.c
826
if (!phy)
drivers/net/wireless/mediatek/mt76/mac80211.c
829
INIT_LIST_HEAD(&phy->tx_list);
drivers/net/wireless/mediatek/mt76/mac80211.c
830
phy->num_sta = 0;
drivers/net/wireless/mediatek/mt76/mac80211.c
831
phy->chanctx = NULL;
drivers/net/wireless/mediatek/mt76/mac80211.c
832
mt76_roc_complete(phy);
drivers/net/wireless/mediatek/mt76/mac80211.c
858
mt76_reset_phy(&dev->phy);
drivers/net/wireless/mediatek/mt76/mac80211.c
877
return ctx->phy;
drivers/net/wireless/mediatek/mt76/mac80211.c
881
static void mt76_rx_release_amsdu(struct mt76_phy *phy, enum mt76_rxq_id q)
drivers/net/wireless/mediatek/mt76/mac80211.c
883
struct sk_buff *skb = phy->rx_amsdu[q].head;
drivers/net/wireless/mediatek/mt76/mac80211.c
885
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mac80211.c
887
phy->rx_amsdu[q].head = NULL;
drivers/net/wireless/mediatek/mt76/mac80211.c
888
phy->rx_amsdu[q].tail = NULL;
drivers/net/wireless/mediatek/mt76/mac80211.c
917
static void mt76_rx_release_burst(struct mt76_phy *phy, enum mt76_rxq_id q,
drivers/net/wireless/mediatek/mt76/mac80211.c
922
if (phy->rx_amsdu[q].head &&
drivers/net/wireless/mediatek/mt76/mac80211.c
924
status->seqno != phy->rx_amsdu[q].seqno))
drivers/net/wireless/mediatek/mt76/mac80211.c
925
mt76_rx_release_amsdu(phy, q);
drivers/net/wireless/mediatek/mt76/mac80211.c
927
if (!phy->rx_amsdu[q].head) {
drivers/net/wireless/mediatek/mt76/mac80211.c
928
phy->rx_amsdu[q].tail = &skb_shinfo(skb)->frag_list;
drivers/net/wireless/mediatek/mt76/mac80211.c
929
phy->rx_amsdu[q].seqno = status->seqno;
drivers/net/wireless/mediatek/mt76/mac80211.c
930
phy->rx_amsdu[q].head = skb;
drivers/net/wireless/mediatek/mt76/mac80211.c
932
*phy->rx_amsdu[q].tail = skb;
drivers/net/wireless/mediatek/mt76/mac80211.c
933
phy->rx_amsdu[q].tail = &skb->next;
drivers/net/wireless/mediatek/mt76/mac80211.c
937
mt76_rx_release_amsdu(phy, q);
drivers/net/wireless/mediatek/mt76/mac80211.c
943
struct mt76_phy *phy = mt76_dev_phy(dev, status->phy_idx);
drivers/net/wireless/mediatek/mt76/mac80211.c
945
if (!test_bit(MT76_STATE_RUNNING, &phy->state)) {
drivers/net/wireless/mediatek/mt76/mac80211.c
951
if (phy->test.state == MT76_TM_STATE_RX_FRAMES) {
drivers/net/wireless/mediatek/mt76/mac80211.c
952
phy->test.rx_stats.packets[q]++;
drivers/net/wireless/mediatek/mt76/mac80211.c
954
phy->test.rx_stats.fcs_error[q]++;
drivers/net/wireless/mediatek/mt76/mac80211.c
958
mt76_rx_release_burst(phy, q, skb);
drivers/net/wireless/mediatek/mt76/mac80211.c
962
bool mt76_has_tx_pending(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/mac80211.c
968
q = phy->q_tx[i];
drivers/net/wireless/mediatek/mt76/mac80211.c
978
mt76_channel_state(struct mt76_phy *phy, struct ieee80211_channel *c)
drivers/net/wireless/mediatek/mt76/mac80211.c
984
msband = &phy->sband_2g;
drivers/net/wireless/mediatek/mt76/mac80211.c
986
msband = &phy->sband_6g;
drivers/net/wireless/mediatek/mt76/mac80211.c
988
msband = &phy->sband_5g;
drivers/net/wireless/mediatek/mt76/mac80211.c
994
void mt76_update_survey_active_time(struct mt76_phy *phy, ktime_t time)
drivers/net/wireless/mediatek/mt76/mac80211.c
996
struct mt76_channel_state *state = phy->chan_state;
drivers/net/wireless/mediatek/mt76/mac80211.c
999
phy->survey_time));
drivers/net/wireless/mediatek/mt76/mcu.c
114
if (!skb && !test_bit(MT76_MCU_RESET, &dev->phy.state) &&
drivers/net/wireless/mediatek/mt76/mcu.c
43
test_bit(MT76_MCU_RESET, &dev->phy.state)),
drivers/net/wireless/mediatek/mt76/mcu.c
82
if (test_bit(MT76_RESET, &dev->phy.state) && atomic_read(&dev->bus_hung))
drivers/net/wireless/mediatek/mt76/mt76.h
1010
struct mt76_phy *phy;
drivers/net/wireless/mediatek/mt76/mt76.h
1152
struct mt76_phy *phy;
drivers/net/wireless/mediatek/mt76/mt76.h
1307
void mt76_unregister_phy(struct mt76_phy *phy);
drivers/net/wireless/mediatek/mt76/mt76.h
1314
int mt76_register_phy(struct mt76_phy *phy, bool vht,
drivers/net/wireless/mediatek/mt76/mt76.h
1319
struct dentry *mt76_register_debugfs_fops(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76.h
1323
return mt76_register_debugfs_fops(&dev->phy, NULL);
drivers/net/wireless/mediatek/mt76/mt76.h
1331
int mt76_eeprom_override(struct mt76_phy *phy);
drivers/net/wireless/mediatek/mt76/mt76.h
1339
static inline int mt76_init_tx_queue(struct mt76_phy *phy, int qid, int idx,
drivers/net/wireless/mediatek/mt76/mt76.h
1345
q = mt76_init_queue(phy->dev, qid, idx, n_desc, ring_base, wed, flags);
drivers/net/wireless/mediatek/mt76/mt76.h
1349
phy->q_tx[qid] = q;
drivers/net/wireless/mediatek/mt76/mt76.h
1375
return &dev->phy;
drivers/net/wireless/mediatek/mt76/mt76.h
1482
static inline bool mt76_testmode_enabled(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/mt76.h
1485
return phy->test.state != MT76_TM_STATE_OFF;
drivers/net/wireless/mediatek/mt76/mt76.h
1499
struct mt76_phy *phy = dev->phys[i];
drivers/net/wireless/mediatek/mt76/mt76.h
1501
if (phy && skb == phy->test.tx_skb) {
drivers/net/wireless/mediatek/mt76/mt76.h
1516
void mt76_stop_tx_queues(struct mt76_phy *phy, struct ieee80211_sta *sta,
drivers/net/wireless/mediatek/mt76/mt76.h
1519
void mt76_txq_schedule(struct mt76_phy *phy, enum mt76_txq_id qid);
drivers/net/wireless/mediatek/mt76/mt76.h
1520
void mt76_txq_schedule_all(struct mt76_phy *phy);
drivers/net/wireless/mediatek/mt76/mt76.h
1528
bool mt76_has_tx_pending(struct mt76_phy *phy);
drivers/net/wireless/mediatek/mt76/mt76.h
1529
int mt76_update_channel(struct mt76_phy *phy);
drivers/net/wireless/mediatek/mt76/mt76.h
1530
void mt76_update_survey(struct mt76_phy *phy);
drivers/net/wireless/mediatek/mt76/mt76.h
1531
void mt76_update_survey_active_time(struct mt76_phy *phy, ktime_t time);
drivers/net/wireless/mediatek/mt76/mt76.h
1535
void mt76_set_stream_caps(struct mt76_phy *phy, bool vht);
drivers/net/wireless/mediatek/mt76/mt76.h
1569
void __mt76_sta_remove(struct mt76_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt76.h
1576
s8 mt76_get_power_bound(struct mt76_phy *phy, s8 txpower);
drivers/net/wireless/mediatek/mt76/mt76.h
1582
int mt76_get_sar_power(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76.h
1603
enum mt76_dfs_state mt76_phy_dfs_state(struct mt76_phy *phy);
drivers/net/wireless/mediatek/mt76/mt76.h
1632
int mt76_testmode_set_state(struct mt76_phy *phy, enum mt76_testmode_state state);
drivers/net/wireless/mediatek/mt76/mt76.h
1633
int mt76_testmode_alloc_skb(struct mt76_phy *phy, u32 len);
drivers/net/wireless/mediatek/mt76/mt76.h
1638
int mt76_npu_dma_add_buf(struct mt76_phy *phy, struct mt76_queue *q,
drivers/net/wireless/mediatek/mt76/mt76.h
1658
static inline int mt76_npu_dma_add_buf(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76.h
1738
static inline void mt76_testmode_reset(struct mt76_phy *phy, bool disable)
drivers/net/wireless/mediatek/mt76/mt76.h
1743
if (disable || phy->test.state == MT76_TM_STATE_OFF)
drivers/net/wireless/mediatek/mt76/mt76.h
1746
mt76_testmode_set_state(phy, state);
drivers/net/wireless/mediatek/mt76/mt76.h
1773
void mt76_testmode_tx_pending(struct mt76_phy *phy);
drivers/net/wireless/mediatek/mt76/mt76.h
1776
int __mt76_set_channel(struct mt76_phy *phy, struct cfg80211_chan_def *chandef,
drivers/net/wireless/mediatek/mt76/mt76.h
1778
int mt76_set_channel(struct mt76_phy *phy, struct cfg80211_chan_def *chandef,
drivers/net/wireless/mediatek/mt76/mt76.h
1783
void mt76_roc_complete(struct mt76_phy *phy);
drivers/net/wireless/mediatek/mt76/mt76.h
1784
void mt76_abort_roc(struct mt76_phy *phy);
drivers/net/wireless/mediatek/mt76/mt76.h
1785
struct mt76_vif_link *mt76_get_vif_phy_link(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76.h
1787
void mt76_put_vif_phy_link(struct mt76_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt76.h
1915
s8 mt76_get_rate_power_limits(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76.h
2107
return ctx->phy;
drivers/net/wireless/mediatek/mt76/mt76.h
298
int (*tx_queue_skb)(struct mt76_phy *phy, struct mt76_queue *q,
drivers/net/wireless/mediatek/mt76/mt76.h
547
void (*update_survey)(struct mt76_phy *phy);
drivers/net/wireless/mediatek/mt76/mt76.h
548
int (*set_channel)(struct mt76_phy *phy);
drivers/net/wireless/mediatek/mt76/mt76.h
583
int (*vif_link_add)(struct mt76_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt76.h
587
void (*vif_link_remove)(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76.h
775
int (*set_state)(struct mt76_phy *phy, enum mt76_testmode_state state);
drivers/net/wireless/mediatek/mt76/mt76.h
776
int (*set_params)(struct mt76_phy *phy, struct nlattr **tb,
drivers/net/wireless/mediatek/mt76/mt76.h
778
int (*dump_stats)(struct mt76_phy *phy, struct sk_buff *msg);
drivers/net/wireless/mediatek/mt76/mt76.h
914
struct mt76_phy phy; /* must be first */
drivers/net/wireless/mediatek/mt76/mt7603/mac.c
690
u8 phy, nss, rate_idx;
drivers/net/wireless/mediatek/mt76/mt7603/mac.c
697
phy = MT_PHY_TYPE_HT;
drivers/net/wireless/mediatek/mt76/mt7603/mac.c
699
phy = MT_PHY_TYPE_HT_GF;
drivers/net/wireless/mediatek/mt76/mt7603/mac.c
714
phy = val >> 8;
drivers/net/wireless/mediatek/mt76/mt7603/mac.c
719
FIELD_PREP(MT_TX_RATE_MODE, phy));
drivers/net/wireless/mediatek/mt76/mt7603/regs.h
156
#define MT_WF_PHY_CR_TSSI(phy, n) (MT_WF_PHY_CR_TSSI_BASE + \
drivers/net/wireless/mediatek/mt76/mt7603/regs.h
157
((phy) * MT_WF_PHY_OFFSET) + \
drivers/net/wireless/mediatek/mt76/mt7615/debugfs.c
113
if (dev->phy.n_beacon_vif) {
drivers/net/wireless/mediatek/mt76/mt7615/debugfs.c
276
mt7615_ampdu_stat_read_phy(struct mt7615_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7615/debugfs.c
283
if (!phy)
drivers/net/wireless/mediatek/mt76/mt7615/debugfs.c
294
seq_printf(file, "\nPhy %d\n", phy != &dev->phy);
drivers/net/wireless/mediatek/mt76/mt7615/debugfs.c
303
seq_printf(file, "%8d | ", phy->mt76->aggr_stats[i]);
drivers/net/wireless/mediatek/mt76/mt7615/debugfs.c
306
seq_printf(file, "BA miss count: %d\n", phy->mib.ba_miss_cnt);
drivers/net/wireless/mediatek/mt76/mt7615/debugfs.c
308
phy->mib.aggr_per / 10, phy->mib.aggr_per % 10);
drivers/net/wireless/mediatek/mt76/mt7615/debugfs.c
318
mt7615_ampdu_stat_read_phy(&dev->phy, file);
drivers/net/wireless/mediatek/mt76/mt7615/debugfs.c
329
mt7615_radio_read_phy(struct mt7615_phy *phy, struct seq_file *s)
drivers/net/wireless/mediatek/mt76/mt7615/debugfs.c
332
bool ext_phy = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7615/debugfs.c
334
if (!phy)
drivers/net/wireless/mediatek/mt76/mt7615/debugfs.c
338
phy->ofdm_sensitivity, phy->cck_sensitivity);
drivers/net/wireless/mediatek/mt76/mt7615/debugfs.c
340
phy->false_cca_ofdm, phy->false_cca_cck);
drivers/net/wireless/mediatek/mt76/mt7615/debugfs.c
348
mt7615_radio_read_phy(&dev->phy, s);
drivers/net/wireless/mediatek/mt76/mt7615/debugfs.c
74
mt7615_mac_set_scs(&dev->phy, val);
drivers/net/wireless/mediatek/mt76/mt7615/debugfs.c
87
*val = dev->phy.scs_en;
drivers/net/wireless/mediatek/mt76/mt7615/init.c
153
mt7615_mac_set_scs(&dev->phy, true);
drivers/net/wireless/mediatek/mt76/mt7615/init.c
337
struct mt7615_phy *phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7615/init.c
349
mt7615_dfs_init_radar_detector(phy);
drivers/net/wireless/mediatek/mt76/mt7615/init.c
351
if (mt7615_firmware_offload(phy->dev)) {
drivers/net/wireless/mediatek/mt76/mt7615/init.c
362
struct mt7615_phy *phy = mt7615_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7615/init.c
374
phy->slottime = 9;
drivers/net/wireless/mediatek/mt76/mt7615/init.c
379
if (is_mt7663(&phy->dev->mt76)) {
drivers/net/wireless/mediatek/mt76/mt7615/init.c
400
if (!is_mt7622(&phy->dev->mt76))
drivers/net/wireless/mediatek/mt76/mt7615/init.c
409
if (is_mt7615(&phy->dev->mt76))
drivers/net/wireless/mediatek/mt76/mt7615/init.c
414
phy->mt76->sband_2g.sband.ht_cap.cap |= IEEE80211_HT_CAP_LDPC_CODING;
drivers/net/wireless/mediatek/mt76/mt7615/init.c
415
phy->mt76->sband_5g.sband.ht_cap.cap |= IEEE80211_HT_CAP_LDPC_CODING;
drivers/net/wireless/mediatek/mt76/mt7615/init.c
416
phy->mt76->sband_5g.sband.vht_cap.cap |=
drivers/net/wireless/mediatek/mt76/mt7615/init.c
530
struct mt7615_phy *phy = mt7615_ext_phy(dev);
drivers/net/wireless/mediatek/mt76/mt7615/init.c
540
if (phy)
drivers/net/wireless/mediatek/mt76/mt7615/init.c
544
mphy = mt76_alloc_phy(&dev->mt76, sizeof(*phy), &mt7615_ops, MT_BAND1);
drivers/net/wireless/mediatek/mt76/mt7615/init.c
548
phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7615/init.c
549
phy->dev = dev;
drivers/net/wireless/mediatek/mt76/mt7615/init.c
550
phy->mt76 = mphy;
drivers/net/wireless/mediatek/mt76/mt7615/init.c
556
INIT_DELAYED_WORK(&phy->scan_work, mt7615_scan_work);
drivers/net/wireless/mediatek/mt76/mt7615/init.c
557
skb_queue_head_init(&phy->scan_event_list);
drivers/net/wireless/mediatek/mt76/mt7615/init.c
559
INIT_WORK(&phy->roc_work, mt7615_roc_work);
drivers/net/wireless/mediatek/mt76/mt7615/init.c
560
timer_setup(&phy->roc_timer, mt7615_roc_timer, 0);
drivers/net/wireless/mediatek/mt76/mt7615/init.c
561
init_waitqueue_head(&phy->roc_wait);
drivers/net/wireless/mediatek/mt76/mt7615/init.c
563
mt7615_mac_set_scs(phy, true);
drivers/net/wireless/mediatek/mt76/mt7615/init.c
602
struct mt7615_phy *phy = mt7615_ext_phy(dev);
drivers/net/wireless/mediatek/mt76/mt7615/init.c
605
if (!phy)
drivers/net/wireless/mediatek/mt76/mt7615/init.c
618
dev->phy.dev = dev;
drivers/net/wireless/mediatek/mt76/mt7615/init.c
619
dev->phy.mt76 = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7615/init.c
620
dev->mt76.phy.priv = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7615/init.c
630
INIT_DELAYED_WORK(&dev->phy.scan_work, mt7615_scan_work);
drivers/net/wireless/mediatek/mt76/mt7615/init.c
632
skb_queue_head_init(&dev->phy.scan_event_list);
drivers/net/wireless/mediatek/mt76/mt7615/init.c
635
init_waitqueue_head(&dev->phy.roc_wait);
drivers/net/wireless/mediatek/mt76/mt7615/init.c
637
INIT_WORK(&dev->phy.roc_work, mt7615_roc_work);
drivers/net/wireless/mediatek/mt76/mt7615/init.c
638
timer_setup(&dev->phy.roc_timer, mt7615_roc_timer, 0);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1048
mt7615_mac_queue_rate_update(struct mt7615_phy *phy, struct mt7615_sta *sta,
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1052
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1063
mt7615_mac_update_rate_desc(phy, sta, probe_rate, rates,
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
107
void mt7615_mac_reset_counters(struct mt7615_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
109
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1094
void mt7615_mac_set_rates(struct mt7615_phy *phy, struct mt7615_sta *sta,
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1099
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1105
mt7615_mac_queue_rate_update(phy, sta, probe_rate, rates);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1113
mt7615_mac_update_rate_desc(phy, sta, probe_rate, rates, &rd);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
117
memset(phy->mt76->aggr_stats, 0, sizeof(phy->mt76->aggr_stats));
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
118
phy->mt76->survey_time = ktime_get_boottime();
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
134
void mt7615_mac_set_timing(struct mt7615_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
136
s16 coverage_class = phy->coverage_class;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1369
struct mt7615_phy *phy = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
137
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1372
phy = dev->mt76.phys[MT_BAND1]->priv;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1374
mt7615_mac_set_rates(phy, sta, NULL, sta->rates);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
138
bool ext_phy = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
145
bool is_5ghz = phy->mt76->chandef.chan->band == NL80211_BAND_5GHZ;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
147
if (!test_bit(MT76_STATE_RUNNING, &phy->mt76->state))
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1488
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
156
coverage_class = max_t(s16, dev->phy.coverage_class,
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1673
mt7615_mac_set_sensitivity(struct mt7615_phy *phy, int val, bool ofdm)
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1675
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1676
bool ext_phy = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1701
mt7615_mac_set_default_sensitivity(struct mt7615_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1704
mt7615_mac_set_sensitivity(phy, 0x13c, true);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1706
mt7615_mac_set_sensitivity(phy, 0x92, false);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1708
phy->ofdm_sensitivity = -98;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1709
phy->cck_sensitivity = -110;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1710
phy->last_cca_adj = jiffies;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1713
void mt7615_mac_set_scs(struct mt7615_phy *phy, bool enable)
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1715
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1716
bool ext_phy = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1721
if (phy->scs_en == enable)
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1742
mt7615_mac_set_default_sensitivity(phy);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1743
phy->scs_en = enable;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1767
void mt7615_mac_cca_stats_reset(struct mt7615_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1769
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1770
bool ext_phy = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1784
mt7615_mac_adjust_sensitivity(struct mt7615_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1787
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1788
int false_cca = ofdm ? phy->false_cca_ofdm : phy->false_cca_cck;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1789
bool ext_phy = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1795
sensitivity = ofdm ? &phy->ofdm_sensitivity : &phy->cck_sensitivity;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1798
mt7615_mac_set_default_sensitivity(phy);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
181
FIELD_PREP(MT_IFS_SLOT, phy->slottime));
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
183
if (phy->slottime < 20 || is_5ghz)
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1832
mt7615_mac_set_sensitivity(phy, val, ofdm);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1833
phy->last_cca_adj = jiffies;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1838
mt7615_mac_scs_check(struct mt7615_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1840
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1841
struct mib_stats *mib = &phy->mib;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1844
bool ext_phy = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1846
if (!phy->scs_en)
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1863
phy->false_cca_ofdm = pd_ofdm - mdrdy_ofdm;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1864
phy->false_cca_cck = pd_cck - mdrdy_cck;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1865
mt7615_mac_cca_stats_reset(phy);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1872
mt7615_mac_adjust_sensitivity(phy, rts_err_rate, false);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1874
mt7615_mac_adjust_sensitivity(phy, rts_err_rate, true);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1876
if (time_after(jiffies, phy->last_cca_adj + 10 * HZ))
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1877
mt7615_mac_set_default_sensitivity(phy);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1908
struct mt7615_phy *phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1923
if (!phy->noise)
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1924
phy->noise = nf << 4;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1926
phy->noise += nf - (phy->noise >> 4);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1933
state->noise = -(phy->noise >> 4);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1946
mt7615_phy_update_channel(&mdev->phy, 0);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1952
mt76_update_survey_active_time(&mdev->phy, cur_time);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1973
mt7615_mac_update_mib_stats(struct mt7615_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1975
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1976
struct mib_stats *mib = &phy->mib;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
1977
bool ext_phy = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2004
phy->mt76->aggr_stats[aggr++] += val & 0xffff;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2005
phy->mt76->aggr_stats[aggr++] += val >> 16;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2016
mphy = dev->phy.mt76;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2082
struct mt7615_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2088
phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2090
mt7615_mutex_acquire(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2092
mt7615_update_survey(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2096
mt7615_mac_update_mib_stats(phy);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2097
mt7615_mac_scs_check(phy);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2100
mt7615_mutex_release(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2104
timeout = mt7615_get_macwork_timeout(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2121
static void mt7615_dfs_stop_radar_detector(struct mt7615_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2123
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2125
if (phy->rdd_state & BIT(0))
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2128
if (phy->rdd_state & BIT(1))
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
214
static void mt7615_mac_fill_tm_rx(struct mt7615_phy *phy, __le32 *rxv)
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2146
static int mt7615_dfs_start_radar_detector(struct mt7615_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2148
struct cfg80211_chan_def *chandef = &phy->mt76->chandef;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2149
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2150
bool ext_phy = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2163
phy->rdd_state |= BIT(ext_phy);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2171
phy->rdd_state |= BIT(1);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2178
mt7615_dfs_init_radar_specs(struct mt7615_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2181
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2214
int mt7615_dfs_init_radar_detector(struct mt7615_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2216
struct cfg80211_chan_def *chandef = &phy->mt76->chandef;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2217
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2218
bool ext_phy = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2225
prev_state = phy->mt76->dfs_state;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2226
dfs_state = mt76_phy_dfs_state(phy->mt76);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2238
err = mt7615_dfs_init_radar_specs(phy);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2242
err = mt7615_dfs_start_radar_detector(phy);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2246
phy->mt76->dfs_state = MT_DFS_STATE_CAC;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2255
phy->mt76->dfs_state = MT_DFS_STATE_UNKNOWN;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2259
phy->mt76->dfs_state = MT_DFS_STATE_ACTIVE;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2268
mt7615_dfs_stop_radar_detector(phy);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2269
phy->mt76->dfs_state = MT_DFS_STATE_DISABLED;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2274
int mt7615_mac_set_beacon_filter(struct mt7615_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2278
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2279
bool ext_phy = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2292
phy->n_beacon_vif++;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2294
phy->n_beacon_vif--;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2300
err = mt7615_mcu_set_bss_pm(dev, vif, !phy->n_beacon_vif);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
2304
if (phy->n_beacon_vif) {
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
238
phy->test.last_freq_offset = foe;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
239
phy->test.last_rcpi[0] = FIELD_GET(MT_RXV4_RCPI0, rxv4);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
240
phy->test.last_rcpi[1] = FIELD_GET(MT_RXV4_RCPI1, rxv4);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
241
phy->test.last_rcpi[2] = FIELD_GET(MT_RXV4_RCPI2, rxv4);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
242
phy->test.last_rcpi[3] = FIELD_GET(MT_RXV4_RCPI3, rxv4);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
243
phy->test.last_ib_rssi[0] = FIELD_GET(MT_RXV3_IB_RSSI, rxv3);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
244
phy->test.last_wb_rssi[0] = FIELD_GET(MT_RXV3_WB_RSSI, rxv3);
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
333
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
334
struct mt7615_phy *phy = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
359
else if (phy2->chfreq == phy->chfreq)
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
361
else if (phy->chfreq == chfreq)
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
466
if (phy->rx_ampdu_ts != status->timestamp) {
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
467
if (!++phy->ampdu_ref)
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
468
phy->ampdu_ref++;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
470
phy->rx_ampdu_ts = status->timestamp;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
472
status->ampdu_ref = phy->ampdu_ref;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
499
phy = phy2;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
503
if (!mt7615_firmware_offload(dev) && chfreq != phy->chfreq)
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
658
u8 phy, nss, rate_idx;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
666
phy = MT_PHY_TYPE_VHT;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
676
phy = MT_PHY_TYPE_HT;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
678
phy = MT_PHY_TYPE_HT_GF;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
693
phy = val >> 8;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
703
FIELD_PREP(MT_TX_RATE_MODE, phy) |
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
958
mt7615_mac_update_rate_desc(struct mt7615_phy *phy, struct mt7615_sta *sta,
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
963
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/mac.c
964
struct mt76_phy *mphy = phy->mt76;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
100
timer_delete_sync(&phy->roc_timer);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1005
phy->mt76->antenna_mask = tx_ant;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
101
cancel_work_sync(&phy->roc_work);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1012
phy->mt76->chainmask = tx_ant;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1014
mt76_set_stream_caps(phy->mt76, true);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1024
struct mt7615_phy *phy = priv;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1026
mt7615_mcu_set_roc(phy, vif, NULL, 0);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1031
struct mt7615_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1033
phy = (struct mt7615_phy *)container_of(work, struct mt7615_phy,
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1036
if (!test_and_clear_bit(MT76_STATE_ROC, &phy->mt76->state))
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1039
mt7615_mutex_acquire(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1040
ieee80211_iterate_active_interfaces(phy->mt76->hw,
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1042
mt7615_roc_iter, phy);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1043
mt7615_mutex_release(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1044
ieee80211_remain_on_channel_expired(phy->mt76->hw);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1049
struct mt7615_phy *phy = timer_container_of(phy, timer, roc_timer);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1051
ieee80211_queue_work(phy->mt76->hw, &phy->roc_work);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1056
struct mt7615_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1058
phy = (struct mt7615_phy *)container_of(work, struct mt7615_phy,
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1065
spin_lock_bh(&phy->dev->mt76.lock);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1066
skb = __skb_dequeue(&phy->scan_event_list);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1067
spin_unlock_bh(&phy->dev->mt76.lock);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1074
ieee80211_sched_scan_results(phy->mt76->hw);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1076
&phy->mt76->state)) {
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1081
ieee80211_scan_completed(phy->mt76->hw, &info);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
110
mt76_testmode_reset(phy->mt76, true);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
112
clear_bit(MT76_STATE_RUNNING, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
113
cancel_delayed_work_sync(&phy->scan_work);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
115
if (phy != &dev->phy) {
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1165
struct mt7615_phy *phy = mt7615_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1168
if (test_and_set_bit(MT76_STATE_ROC, &phy->mt76->state))
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1171
mt7615_mutex_acquire(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1173
err = mt7615_mcu_set_roc(phy, vif, chan, duration);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1175
clear_bit(MT76_STATE_ROC, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1179
if (!wait_event_timeout(phy->roc_wait, phy->roc_grant, HZ)) {
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1180
mt7615_mcu_set_roc(phy, vif, NULL, 0);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1181
clear_bit(MT76_STATE_ROC, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1186
mt7615_mutex_release(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1194
struct mt7615_phy *phy = mt7615_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1197
if (!test_and_clear_bit(MT76_STATE_ROC, &phy->mt76->state))
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1200
timer_delete_sync(&phy->roc_timer);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1201
cancel_work_sync(&phy->roc_work);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1203
mt7615_mutex_acquire(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1204
err = mt7615_mcu_set_roc(phy, vif, NULL, 0);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1205
mt7615_mutex_release(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1234
struct mt7615_phy *phy = mt7615_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1243
clear_bit(MT76_STATE_RUNNING, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1244
cancel_delayed_work_sync(&phy->scan_work);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1245
cancel_delayed_work_sync(&phy->mt76->mac_work);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1247
set_bit(MT76_STATE_SUSPEND, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1251
phy->mt76);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1263
struct mt7615_phy *phy = mt7615_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1271
set_bit(MT76_STATE_RUNNING, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1283
clear_bit(MT76_STATE_SUSPEND, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1287
phy->mt76);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
1290
ieee80211_queue_delayed_work(hw, &phy->mt76->mac_work, timeout);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
17
struct mt7615_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
184
struct mt7615_phy *phy = mt7615_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
186
bool ext_phy = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
191
mt76_testmode_reset(phy->mt76, true);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
195
phy->monitor_vif = vif;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
218
phy->omac_mask |= BIT_ULL(mvif->mt76.omac_idx);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
22
phy = mt7615_ext_phy(dev);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
239
ret = mt7615_mcu_add_dev_info(phy, vif, true);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
24
return phy && test_bit(MT76_STATE_RUNNING, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
252
struct mt7615_phy *phy = mt7615_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
257
mt7615_mcu_add_bss_info(phy, vif, NULL, false);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
258
mt7615_mcu_sta_add(phy, vif, NULL, false);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
260
mt76_testmode_reset(phy->mt76, true);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
261
if (vif == phy->monitor_vif)
drivers/net/wireless/mediatek/mt76/mt7615/main.c
262
phy->monitor_vif = NULL;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
266
mt7615_mcu_add_dev_info(phy, vif, false);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
272
phy->omac_mask &= ~BIT_ULL(mvif->mt76.omac_idx);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
286
struct mt7615_phy *phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
287
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
288
bool ext_phy = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
294
ret = mt7615_mcu_apply_rx_dcoc(phy);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
298
ret = mt7615_mcu_apply_tx_dpd(phy);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
30
struct mt7615_phy *phy = mt7615_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
303
ret = mt7615_mcu_set_chan_info(phy, MCU_EXT_CMD(CHANNEL_SWITCH));
drivers/net/wireless/mediatek/mt76/mt7615/main.c
307
mt7615_mac_set_timing(phy);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
308
ret = mt7615_dfs_init_radar_detector(phy);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
312
mt7615_mac_cca_stats_reset(phy);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
313
ret = mt7615_mcu_set_sku_en(phy, true);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
317
mt7615_mac_reset_counters(phy);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
318
phy->noise = 0;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
319
phy->chfreq = mt76_rr(dev, MT_CHFREQ(ext_phy));
drivers/net/wireless/mediatek/mt76/mt7615/main.c
324
if (!mt76_testmode_enabled(phy->mt76)) {
drivers/net/wireless/mediatek/mt76/mt7615/main.c
327
ieee80211_queue_delayed_work(phy->mt76->hw,
drivers/net/wireless/mediatek/mt76/mt7615/main.c
328
&phy->mt76->mac_work, timeout);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
340
struct mt7615_phy *phy = mt7615_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
381
mt7615_mcu_add_bss_info(phy, vif, NULL, true);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
407
struct mt7615_phy *phy = mt7615_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
410
if (!cfg80211_chandef_valid(&phy->mt76->chandef))
drivers/net/wireless/mediatek/mt76/mt7615/main.c
417
if (mt7615_firmware_offload(phy->dev))
drivers/net/wireless/mediatek/mt76/mt7615/main.c
418
return mt76_connac_mcu_set_rate_txpower(phy->mt76);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
420
return mt76_update_channel(phy->mt76);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
426
struct mt7615_phy *phy = mt7615_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
427
bool band = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
433
if (phy->mt76->test.state != MT76_TM_STATE_OFF) {
drivers/net/wireless/mediatek/mt76/mt7615/main.c
435
mt76_testmode_reset(phy->mt76, false);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
439
ret = mt76_update_channel(phy->mt76);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
445
mt76_testmode_reset(phy->mt76, true);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
448
phy->rxfilter |= MT_WF_RFCR_DROP_OTHER_UC;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
450
phy->rxfilter &= ~MT_WF_RFCR_DROP_OTHER_UC;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
452
mt76_wr(dev, MT_WF_RFCR(band), phy->rxfilter);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
486
struct mt7615_phy *phy = mt7615_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
487
bool band = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
500
phy->rxfilter &= ~(_hw); \
drivers/net/wireless/mediatek/mt76/mt7615/main.c
501
if (!mt76_testmode_enabled(phy->mt76)) \
drivers/net/wireless/mediatek/mt76/mt7615/main.c
502
phy->rxfilter |= !(flags & FIF_##_flag) * (_hw);\
drivers/net/wireless/mediatek/mt76/mt7615/main.c
505
phy->rxfilter &= ~(MT_WF_RFCR_DROP_OTHER_BSS |
drivers/net/wireless/mediatek/mt76/mt7615/main.c
516
if (phy->n_beacon_vif || !mt7615_firmware_offload(dev))
drivers/net/wireless/mediatek/mt76/mt7615/main.c
517
phy->rxfilter &= ~MT_WF_RFCR_DROP_OTHER_BEACON;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
531
mt76_wr(dev, MT_WF_RFCR(band), phy->rxfilter);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
54
if (phy != &dev->phy) {
drivers/net/wireless/mediatek/mt76/mt7615/main.c
573
struct mt7615_phy *phy = mt7615_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
580
if (slottime != phy->slottime) {
drivers/net/wireless/mediatek/mt76/mt7615/main.c
581
phy->slottime = slottime;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
582
mt7615_mac_set_timing(phy);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
590
mt7615_mcu_add_bss_info(phy, vif, NULL, true);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
591
mt7615_mcu_sta_add(phy, vif, NULL, true);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
613
mt7615_mac_set_beacon_filter(phy, vif, vif->cfg.assoc);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
639
struct mt7615_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
652
phy = mvif->mt76.band_idx ? mt7615_ext_phy(dev) : &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
653
err = mt76_connac_pm_wake(phy->mt76, &dev->pm);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
658
err = mt7615_mcu_add_bss_info(phy, vif, sta, true);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
665
err = mt7615_mcu_sta_add(&dev->phy, vif, sta, true);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
669
mt76_connac_power_save_sched(phy->mt76, &dev->pm);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
67
ret = mt76_connac_mcu_set_channel_domain(phy->mt76);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
681
struct mt7615_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
685
phy = mvif->mt76.band_idx ? mt7615_ext_phy(dev) : &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
686
mt76_connac_pm_wake(phy->mt76, &dev->pm);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
688
mt7615_mcu_sta_add(&dev->phy, vif, sta, false);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
692
mt7615_mcu_add_bss_info(phy, vif, sta, false);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
699
mt76_connac_power_save_sched(phy->mt76, &dev->pm);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
708
struct mt7615_phy *phy = mt7615_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
71
ret = mt76_connac_mcu_set_rate_txpower(phy->mt76);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
726
if (mt76_connac_pm_ref(phy->mt76, &dev->pm)) {
drivers/net/wireless/mediatek/mt76/mt7615/main.c
727
mt7615_mac_set_rates(phy, msta, NULL, msta->rates);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
728
mt76_connac_pm_unref(phy->mt76, &dev->pm);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
76
ret = mt7615_mcu_set_chan_info(phy, MCU_EXT_CMD(SET_RX_PATH));
drivers/net/wireless/mediatek/mt76/mt7615/main.c
791
struct mt7615_phy *phy = mt7615_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
792
int err, band = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
80
set_bit(MT76_STATE_RUNNING, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
83
ieee80211_queue_delayed_work(hw, &phy->mt76->mac_work, timeout);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
86
mt7615_mac_reset_counters(phy);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
881
struct mt7615_phy *phy = mt7615_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
882
struct mib_stats *mib = &phy->mib;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
884
mt7615_mutex_acquire(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
891
mt7615_mutex_release(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
97
struct mt7615_phy *phy = mt7615_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
979
struct mt7615_phy *phy = mt7615_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
980
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/main.c
983
phy->coverage_class = max_t(s16, coverage_class, 0);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
984
mt7615_mac_set_timing(phy);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
99
cancel_delayed_work_sync(&phy->mt76->mac_work);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
993
struct mt7615_phy *phy = mt7615_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7615/main.c
995
bool ext_phy = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
1001
return __mt7615_mcu_add_sta(phy->mt76, vif, sta, enable,
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
1113
mt7615_mcu_uni_add_dev(struct mt7615_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
1118
return mt76_connac_mcu_uni_add_dev(phy->mt76, &vif->bss_conf, &mvif->mt76,
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
1123
mt7615_mcu_uni_add_bss(struct mt7615_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
1128
return mt76_connac_mcu_uni_add_bss(phy->mt76, vif, &mvif->sta.wcid,
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
1133
mt7615_mcu_uni_add_sta(struct mt7615_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
1136
return __mt7615_mcu_add_sta(phy->mt76, vif, sta, enable,
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2007
static void mt7615_mcu_set_txpower_sku(struct mt7615_phy *phy, u8 *sku)
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2009
struct mt76_phy *mphy = phy->mt76;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2114
int mt7615_mcu_set_chan_info(struct mt7615_phy *phy, int cmd)
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2116
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2117
struct cfg80211_chan_def *chandef = &phy->mt76->chandef;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2140
.tx_streams = hweight8(phy->mt76->antenna_mask),
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2141
.rx_streams_mask = phy->mt76->chainmask,
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2146
phy->mt76->hw->conf.flags & IEEE80211_CONF_MONITOR)
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2148
else if (phy->mt76->offchannel)
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2150
else if (!cfg80211_reg_can_beacon(phy->mt76->hw->wiphy, chandef,
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2156
req.band_idx = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2159
if (mt76_testmode_enabled(phy->mt76))
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2162
mt7615_mcu_set_txpower_sku(phy, req.txpower_sku);
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2199
int mt7615_mcu_set_sku_en(struct mt7615_phy *phy, bool enable)
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2201
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2209
.band_idx = phy != &dev->phy,
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2295
int mt7615_mcu_apply_rx_dcoc(struct mt7615_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2297
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2298
struct cfg80211_chan_def *chandef = &phy->mt76->chandef;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2410
int mt7615_mcu_apply_tx_dpd(struct mt7615_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2412
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2413
struct cfg80211_chan_def *chandef = &phy->mt76->chandef;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
243
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2548
int mt7615_mcu_set_roc(struct mt7615_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2552
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
2562
phy->roc_grant = false;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
283
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
317
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
363
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
382
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
448
struct mt7615_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
454
mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
456
phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
459
__skb_queue_tail(&phy->scan_event_list, skb);
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
462
ieee80211_queue_delayed_work(mphy->hw, &phy->scan_work,
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
470
struct mt7615_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
480
mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
484
phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
485
phy->roc_grant = true;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
486
wake_up(&phy->roc_wait);
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
489
mod_timer(&phy->roc_timer,
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
505
mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
526
mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
623
mt7615_mcu_add_dev(struct mt7615_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
627
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
740
mt7615_mcu_add_bss(struct mt7615_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
744
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
757
mt76_connac_mcu_bss_basic_tlv(skb, vif, sta, phy->mt76,
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
840
mt7615_mcu_wtbl_sta_add(struct mt7615_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
846
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
871
mt76_connac_mcu_sta_tlv(phy->mt76, sskb, sta, vif, 0,
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
979
__mt7615_mcu_add_sta(struct mt76_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
994
return mt76_connac_mcu_sta_cmd(phy, &info);
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
998
mt7615_mcu_add_sta(struct mt7615_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
210
#define mt7615_mcu_sta_add(phy, ...) ((phy)->dev)->mcu_ops->sta_add((phy), __VA_ARGS__)
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
211
#define mt7615_mcu_add_dev_info(phy, ...) ((phy)->dev)->mcu_ops->add_dev_info((phy), __VA_ARGS__)
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
212
#define mt7615_mcu_add_bss_info(phy, ...) ((phy)->dev)->mcu_ops->add_bss_info((phy), __VA_ARGS__)
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
225
int (*sta_add)(struct mt7615_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
227
int (*add_dev_info)(struct mt7615_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
229
int (*add_bss_info)(struct mt7615_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
249
struct mt7615_phy phy;
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
328
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
330
return phy->priv;
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
336
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
338
return container_of(phy->dev, struct mt7615_dev, mt76);
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
344
struct mt76_phy *phy = dev->mt76.phys[MT_BAND1];
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
346
if (!phy)
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
349
return phy->priv;
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
398
void mt7615_mac_set_rates(struct mt7615_phy *phy, struct mt7615_sta *sta,
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
403
int mt7615_mcu_set_chan_info(struct mt7615_phy *phy, int cmd);
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
466
void mt7615_mac_reset_counters(struct mt7615_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
467
void mt7615_mac_cca_stats_reset(struct mt7615_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
468
void mt7615_mac_set_scs(struct mt7615_phy *phy, bool enable);
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
478
void mt7615_mac_set_timing(struct mt7615_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
494
int mt7615_mcu_set_tx_power(struct mt7615_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
522
int mt7615_mcu_set_sku_en(struct mt7615_phy *phy, bool enable);
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
523
int mt7615_mcu_apply_rx_dcoc(struct mt7615_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
524
int mt7615_mcu_apply_tx_dpd(struct mt7615_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
525
int mt7615_dfs_init_radar_detector(struct mt7615_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
527
int mt7615_mcu_set_roc(struct mt7615_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
533
int mt7615_mac_set_beacon_filter(struct mt7615_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7615/pci_mac.c
223
timer_delete_sync(&dev->phy.roc_timer);
drivers/net/wireless/mediatek/mt76/mt7615/pci_mac.c
224
cancel_work_sync(&dev->phy.roc_work);
drivers/net/wireless/mediatek/mt76/mt7615/pci_mac.c
79
struct mt7615_phy *phy = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7615/pci_mac.c
83
phy = mdev->phys[MT_BAND1]->priv;
drivers/net/wireless/mediatek/mt76/mt7615/pci_mac.c
86
mt7615_mac_set_rates(phy, msta, &info->control.rates[0],
drivers/net/wireless/mediatek/mt76/mt7615/sdio_mcu.c
101
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7615/sdio_mcu.c
58
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7615/sdio_mcu.c
85
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
100
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
101
u32 *b = phy->test.reg_backup;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
106
if (phy->mt76->test.state == MT76_TM_STATE_OFF) {
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
124
phy->test.reg_backup = b;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
133
mt7615_tm_init(struct mt7615_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
135
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
138
if (!test_bit(MT76_STATE_RUNNING, &phy->mt76->state))
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
141
mt7615_mcu_set_sku_en(phy, phy->mt76->test.state == MT76_TM_STATE_OFF);
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
144
mt76_update_channel(phy->mt76);
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
145
mt7615_ops.configure_filter(phy->mt76->hw, 0, &total_flags, 0);
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
148
mt7615_tm_reg_backup_restore(phy);
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
172
mt7615_tm_set_tx_antenna(struct mt7615_phy *phy, bool en)
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
174
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
175
struct mt76_testmode_data *td = &phy->mt76->test;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
183
mask = phy->mt76->chainmask;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
225
mt7615_tm_set_tx_frames(struct mt7615_phy *phy, bool en)
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
227
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
229
struct sk_buff *skb = phy->mt76->test.tx_skb;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
231
mt7615_mcu_set_chan_info(phy, MCU_EXT_CMD(SET_RX_PATH));
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
232
mt7615_tm_set_tx_antenna(phy, en);
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
238
info->control.vif = phy->monitor_vif;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
242
mt7615_tm_update_params(struct mt7615_phy *phy, u32 changed)
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
244
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
245
struct mt76_testmode_data *td = &phy->mt76->test;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
246
bool en = phy->mt76->test.state != MT76_TM_STATE_OFF;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
255
mt7615_tm_set_tx_power(phy);
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
261
struct mt7615_phy *phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
268
mt7615_tm_set_tx_frames(phy, false);
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
270
mt7615_tm_set_tx_frames(phy, true);
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
273
mt7615_tm_init(phy);
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
289
mt7615_tm_update_params(phy, changed);
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
300
struct mt7615_phy *phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
318
mt7615_tm_update_params(phy, changed);
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
326
struct mt7615_phy *phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
334
if (nla_put_s32(msg, MT76_TM_RX_ATTR_FREQ_OFFSET, phy->test.last_freq_offset))
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
341
for (i = 0; i < ARRAY_SIZE(phy->test.last_rcpi); i++)
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
342
if (nla_put_u8(msg, i, phy->test.last_rcpi[i]))
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
351
for (i = 0; i < ARRAY_SIZE(phy->test.last_ib_rssi); i++)
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
352
if (nla_put_s8(msg, i, phy->test.last_ib_rssi[i]))
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
361
for (i = 0; i < ARRAY_SIZE(phy->test.last_wb_rssi); i++)
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
362
if (nla_put_s8(msg, i, phy->test.last_wb_rssi[i]))
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
48
mt7615_tm_set_tx_power(struct mt7615_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
50
struct mt7615_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
51
struct mt76_phy *mphy = phy->mt76;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
66
.dbdc_idx = phy != &dev->phy,
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
98
mt7615_tm_reg_backup_restore(struct mt7615_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7615/usb.c
84
struct mt7615_phy *phy = mt7615_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7615/usb.c
88
timer_delete_sync(&phy->roc_timer);
drivers/net/wireless/mediatek/mt76/mt7615/usb.c
89
cancel_work_sync(&phy->roc_work);
drivers/net/wireless/mediatek/mt76/mt7615/usb.c
90
cancel_delayed_work_sync(&phy->scan_work);
drivers/net/wireless/mediatek/mt76/mt7615/usb.c
91
cancel_delayed_work_sync(&phy->mt76->mac_work);
drivers/net/wireless/mediatek/mt76/mt7615/usb_sdio.c
201
mt7615_mac_set_rates(&dev->phy, msta, &info->control.rates[0],
drivers/net/wireless/mediatek/mt76/mt76_connac.h
339
int mt76_connac_pm_wake(struct mt76_phy *phy, struct mt76_connac_pm *pm);
drivers/net/wireless/mediatek/mt76/mt76_connac.h
340
void mt76_connac_power_save_sched(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76_connac.h
352
mt76_connac_pm_ref(struct mt76_phy *phy, struct mt76_connac_pm *pm)
drivers/net/wireless/mediatek/mt76/mt76_connac.h
357
if (test_bit(MT76_STATE_PM, &phy->state))
drivers/net/wireless/mediatek/mt76/mt76_connac.h
369
mt76_connac_pm_unref(struct mt76_phy *phy, struct mt76_connac_pm *pm)
drivers/net/wireless/mediatek/mt76/mt76_connac.h
375
test_bit(MT76_STATE_MCU_RUNNING, &phy->state))
drivers/net/wireless/mediatek/mt76/mt76_connac.h
376
mt76_connac_power_save_sched(phy, pm);
drivers/net/wireless/mediatek/mt76/mt76_connac.h
382
mt76_connac_skip_fw_pmctrl(struct mt76_phy *phy, struct mt76_connac_pm *pm)
drivers/net/wireless/mediatek/mt76/mt76_connac.h
384
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt76_connac.h
391
ret = pm->wake.count || test_and_set_bit(MT76_STATE_PM, &phy->state);
drivers/net/wireless/mediatek/mt76/mt76_connac.h
402
mt76_connac_pm_wake(&dev->phy, pm);
drivers/net/wireless/mediatek/mt76/mt76_connac.h
409
mt76_connac_power_save_sched(&dev->phy, pm);
drivers/net/wireless/mediatek/mt76/mt76_connac.h
414
int mt76_connac_init_tx_queues(struct mt76_phy *phy, int idx, int n_desc,
drivers/net/wireless/mediatek/mt76/mt76_connac.h
428
void mt76_connac_pm_dequeue_skbs(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
108
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
115
queue_work(phy->dev->wq, &pm->wake_work);
drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
123
void mt76_connac_pm_dequeue_skbs(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
140
mt76_tx(phy, sta, wcid, pm->tx_q[i].skb);
drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
145
mt76_worker_schedule(&phy->dev->tx_worker);
drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
261
int mt76_connac_init_tx_queues(struct mt76_phy *phy, int idx, int n_desc,
drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
266
err = mt76_init_tx_queue(phy, 0, idx, n_desc, ring_base,
drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
272
phy->q_tx[i] = phy->q_tx[0];
drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
36
int mt76_connac_pm_wake(struct mt76_phy *phy, struct mt76_connac_pm *pm)
drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
38
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
44
if (!test_bit(MT76_STATE_PM, &phy->state))
drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
503
struct mt76_phy *mphy = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
52
!test_bit(MT76_STATE_PM, &phy->state),
drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
54
ieee80211_wake_queues(phy->hw);
drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
62
void mt76_connac_power_save_sched(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
65
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
670
mphy = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
78
if (!test_bit(MT76_STATE_PM, &phy->state)) {
drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
79
cancel_delayed_work(&phy->mac_work);
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1041
int mt76_connac_mcu_sta_cmd(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1046
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1067
mt76_connac_mcu_sta_tlv(phy, skb, info->sta,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
107
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
111
n_max_channels = phy->sband_2g.sband.n_channels +
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
112
phy->sband_5g.sband.n_channels +
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
113
phy->sband_6g.sband.n_channels;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1141
int mt76_connac_mcu_uni_add_dev(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1147
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
122
for (i = 0; i < phy->sband_2g.sband.n_channels; i++) {
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
123
chan = &phy->sband_2g.sband.channels[i];
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1319
u8 mt76_connac_get_phy_mode(struct mt76_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1323
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1339
sband = phy->hw->wiphy->bands[band];
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
134
for (i = 0; i < phy->sband_5g.sband.n_channels; i++) {
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
135
chan = &phy->sband_5g.sband.channels[i];
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1373
u8 mt76_connac_get_phy_mode_ext(struct mt76_phy *phy, struct ieee80211_bss_conf *conf,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1383
sband = phy->hw->wiphy->bands[band];
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1408
mt76_connac_get_he_phy_cap(struct mt76_phy *phy, struct ieee80211_vif *vif)
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1412
&mvif->ctx->def : &phy->chandef;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1416
sband = phy->hw->wiphy->bands[band];
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1423
mt76_connac_get_eht_phy_cap(struct mt76_phy *phy, struct ieee80211_vif *vif)
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1425
enum nl80211_band band = phy->chandef.chan->band;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1428
sband = phy->hw->wiphy->bands[band];
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1437
mt76_connac_mcu_uni_bss_he_tlv(struct mt76_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1443
cap = mt76_connac_get_he_phy_cap(phy, vif);
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1459
int mt76_connac_mcu_uni_set_chctx(struct mt76_phy *phy, struct mt76_vif_link *mvif,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
146
for (i = 0; i < phy->sband_6g.sband.n_channels; i++) {
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1462
struct cfg80211_chan_def *chandef = ctx ? &ctx->def : &phy->chandef;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1465
struct mt76_dev *mdev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
147
chan = &phy->sband_6g.sband.channels[i];
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1496
.tx_streams = hweight8(phy->antenna_mask),
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1498
.rx_streams = phy->chainmask,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1541
int mt76_connac_mcu_uni_add_bss(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1548
struct cfg80211_chan_def *chandef = ctx ? &ctx->def : &phy->chandef;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1550
struct mt76_dev *mdev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1571
.phymode = mt76_connac_get_phy_mode(phy, vif, band, NULL),
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1587
basic_phy = mt76_connac_get_phy_mode_v2(phy, vif, band, NULL);
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1657
mt76_connac_mcu_uni_bss_he_tlv(phy, vif,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1690
return mt76_connac_mcu_uni_set_chctx(phy, mvif, ctx);
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1733
int mt76_connac_mcu_hw_scan(struct mt76_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1741
struct mt76_dev *mdev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1746
if (test_bit(MT76_HW_SCANNING, &phy->state))
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1753
set_bit(MT76_HW_SCANNING, &phy->state);
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1777
duration = is_mt7921(phy->dev) ? 0 : MT76_CONNAC_SCAN_CHANNEL_TIME;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1820
if (is_mt7921(phy->dev))
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1833
clear_bit(MT76_HW_SCANNING, &phy->state);
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1839
int mt76_connac_mcu_cancel_hw_scan(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1851
if (test_and_clear_bit(MT76_HW_SCANNING, &phy->state)) {
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1856
ieee80211_scan_completed(phy->hw, &info);
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1859
return mt76_mcu_send_msg(phy->dev, MCU_CE_CMD(CANCEL_HW_SCAN),
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1864
int mt76_connac_mcu_sched_scan_req(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1872
struct mt76_dev *mdev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1889
u8 *addr = is_mt7663(phy->dev) ? req->mt7663.random_mac
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1896
if (is_mt7921(phy->dev)) {
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1950
int mt76_connac_mcu_sched_scan_enable(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1962
set_bit(MT76_HW_SCHED_SCANNING, &phy->state);
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1964
clear_bit(MT76_HW_SCHED_SCANNING, &phy->state);
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
1966
return mt76_mcu_send_msg(phy->dev, MCU_CE_CMD(SCHED_SCAN_ENABLE),
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2074
s8 mt76_connac_get_ch_power(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2078
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2084
sband = &phy->sband_2g.sband;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2087
sband = &phy->sband_5g.sband;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2090
sband = &phy->sband_6g.sband;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2116
mt76_connac_mcu_rate_txpower_band(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2119
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2162
tx_power = 2 * phy->hw->conf.power_level;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2178
if (phy->cap.has_6ghz)
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2180
else if (phy->cap.has_5ghz)
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2223
reg_power = mt76_connac_get_ch_power(phy, &chan,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2225
sar_power = mt76_get_sar_power(phy, &chan, reg_power);
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2227
mt76_get_rate_power_limits(phy, &chan, limits,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2252
int mt76_connac_mcu_set_rate_txpower(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2256
if (phy->cap.has_2ghz) {
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2257
err = mt76_connac_mcu_rate_txpower_band(phy,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2262
if (phy->cap.has_5ghz) {
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2263
err = mt76_connac_mcu_rate_txpower_band(phy,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2268
if (phy->cap.has_6ghz) {
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2269
err = mt76_connac_mcu_rate_txpower_band(phy,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2325
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2335
return mt76_mcu_send_msg(phy->dev, MCU_CE_CMD(SET_P2P_OPPPS),
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2392
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2401
skb = mt76_mcu_msg_alloc(phy->dev, NULL,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2422
return mt76_mcu_skb_send_msg(phy->dev, skb,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2546
mt76_connac_mcu_set_wow_ctrl(struct mt76_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2550
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2580
mt76_connac_mcu_sched_scan_req(phy, vif, wowlan->nd_config);
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2582
mt76_connac_mcu_sched_scan_enable(phy, vif, suspend);
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2638
struct mt76_phy *phy = priv;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2639
bool suspend = !test_bit(MT76_STATE_RUNNING, &phy->state);
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2640
struct ieee80211_hw *hw = phy->hw;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2644
mt76_connac_mcu_set_gtk_rekey(phy->dev, vif, suspend);
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2645
mt76_connac_mcu_set_arp_filter(phy->dev, vif, suspend);
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2647
mt76_connac_mcu_set_suspend_mode(phy->dev, vif, suspend, 1, true);
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2650
mt76_connac_mcu_set_wow_pattern(phy->dev, vif, i, suspend,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2652
mt76_connac_mcu_set_wow_ctrl(phy, vif, suspend, wowlan);
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2801
struct mt76_phy *phy, u16 wlan_idx,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2817
if (ieee80211_hw_check(phy->hw, SUPPORTS_MULTI_BSSID)) {
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2819
struct wiphy *wiphy = phy->hw->wiphy;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2860
struct cfg80211_chan_def *chandef = &phy->chandef;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2865
bss->phy_mode = mt76_connac_get_phy_mode(phy, vif,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
2868
memcpy(bss->bssid, phy->macaddr, ETH_ALEN);
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
79
int mt76_connac_mcu_set_channel_domain(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
859
struct sta_rec_phy *phy;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
909
tlv = mt76_connac_mcu_add_tlv(skb, STA_REC_PHY, sizeof(*phy));
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
910
phy = (struct sta_rec_phy *)tlv;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
911
phy->phy_type = mt76_connac_get_phy_mode_v2(mphy, vif, band,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
913
phy->basic_rate = cpu_to_le16((u16)vif->bss_conf.basic_rates);
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
914
phy->rcpi = rcpi;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
915
phy->ampdu = FIELD_PREP(IEEE80211_HT_AMPDU_PARM_FACTOR,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h
1919
int mt76_connac_mcu_set_channel_domain(struct mt76_phy *phy);
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h
1957
int mt76_connac_mcu_uni_add_dev(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h
1965
int mt76_connac_mcu_uni_set_chctx(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h
1968
int mt76_connac_mcu_uni_add_bss(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h
1973
int mt76_connac_mcu_sta_cmd(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h
1988
int mt76_connac_mcu_hw_scan(struct mt76_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h
1990
int mt76_connac_mcu_cancel_hw_scan(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h
1992
int mt76_connac_mcu_sched_scan_req(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h
1995
int mt76_connac_mcu_sched_scan_enable(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h
2003
int mt76_connac_mcu_set_wow_ctrl(struct mt76_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h
2022
s8 mt76_connac_get_ch_power(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h
2025
int mt76_connac_mcu_set_rate_txpower(struct mt76_phy *phy);
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h
2032
mt76_connac_get_he_phy_cap(struct mt76_phy *phy, struct ieee80211_vif *vif);
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h
2034
mt76_connac_get_eht_phy_cap(struct mt76_phy *phy, struct ieee80211_vif *vif);
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h
2035
u8 mt76_connac_get_phy_mode(struct mt76_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h
2038
u8 mt76_connac_get_phy_mode_ext(struct mt76_phy *phy, struct ieee80211_bss_conf *conf,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h
2052
struct mt76_phy *phy, u16 wlan_idx,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h
604
struct sta_phy phy;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h
617
struct sta_phy phy;
drivers/net/wireless/mediatek/mt76/mt76x0/pci.c
253
for (i = 0; i < ARRAY_SIZE(mdev->phy.q_tx); i++)
drivers/net/wireless/mediatek/mt76/mt76x0/pci.c
254
mt76_queue_tx_cleanup(dev, mdev->phy.q_tx[i], true);
drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
183
u8 phy, rate_idx, nss, bw = 0;
drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
189
phy = MT_PHY_TYPE_VHT;
drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
197
phy = MT_PHY_TYPE_HT;
drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
199
phy = MT_PHY_TYPE_HT_GF;
drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
213
phy = val >> 8;
drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
219
rateval |= FIELD_PREP(MT_RXWI_RATE_PHY, phy);
drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
440
mt76x02_tx_rate_fallback(struct ieee80211_tx_rate *rates, int idx, int phy)
drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
449
switch (phy) {
drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
484
int phy;
drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
490
phy = FIELD_GET(MT_RXWI_RATE_PHY, st->rate);
drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
517
mt76x02_tx_rate_fallback(info->status.rates, i, phy);
drivers/net/wireless/mediatek/mt76/mt76x02_mac.h
155
if (test_bit(MT76_REMOVED, &dev->phy.state))
drivers/net/wireless/mediatek/mt76/mt76x02_usb_mcu.c
77
if (test_bit(MT76_REMOVED, &dev->phy.state)) {
drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2.h
50
int mt76x2e_set_channel(struct mt76_phy *phy);
drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2.h
51
int mt76x2u_set_channel(struct mt76_phy *phy);
drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c
35
int mt76x2e_set_channel(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c
37
struct mt76x02_dev *dev = container_of(phy->dev, struct mt76x02_dev, mt76);
drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c
43
mt76x2_phy_set_channel(dev, &phy->chandef);
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1001
u8 band = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1011
ret = mt7915_mcu_get_txpower_sku(phy, txpwr, sizeof(txpwr), TX_POWER_INFO_RATE);
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1018
phy != &dev->phy, phy->mt76->chandef.chan->hw_value);
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1075
struct mt7915_phy *phy = file->private_data;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1076
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1077
struct mt76_phy *mphy = phy->mt76;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1080
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1120
ret = mt7915_mcu_get_txpower_sku(phy, req.txpower_sku,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1174
struct mt7915_phy *phy = file->private;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1190
ret = mt7915_mcu_get_txpower_sku(phy, txpower, sizeof(txpower),
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1226
struct mt7915_phy *phy = file->private;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1228
seq_printf(file, "\nBand %d\n", phy != &phy->dev->phy);
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
128
struct mt7915_phy *phy = file->private_data;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
129
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1292
int mt7915_init_debugfs(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1294
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1295
bool ext_phy = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1298
dir = mt76_register_debugfs_fops(phy->mt76, NULL);
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1302
debugfs_create_file("muru_stats", 0400, dir, phy,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1304
debugfs_create_file("hw-queues", 0400, dir, phy,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1306
debugfs_create_file("xmit-queues", 0400, dir, phy,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1308
debugfs_create_file("tx_stats", 0400, dir, phy, &mt7915_tx_stats_fops);
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1309
debugfs_create_file("sys_recovery", 0600, dir, phy,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1320
debugfs_create_file("txpower_sku", 0400, dir, phy,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1322
debugfs_create_file("txpower_path", 0400, dir, phy,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1328
if (!dev->dbdc_support || phy->mt76->band_idx) {
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1331
debugfs_create_file("radar_trigger", 0200, dir, phy,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1408
struct mt7915_dev *dev = msta->vif->phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1410
struct sta_phy phy = {};
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1437
&phy.type, &phy.bw, &phy.nss, &phy.mcs, &gi,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1438
&phy.ldpc, &phy.stbc, &he_ltf) != 8) {
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1445
phy.ldpc = (phy.bw || phy.ldpc) * GENMASK(2, 0);
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1446
for (i = 0; i <= phy.bw; i++) {
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1447
phy.sgi |= gi << (i << sta->deflink.he_cap.has_he);
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1448
phy.he_ltf |= he_ltf << (i << sta->deflink.he_cap.has_he);
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
1454
ret = mt7915_mcu_set_fixed_rate_ctrl(dev, vif, sta, &phy, field);
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
216
struct mt7915_phy *phy = data;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
217
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
228
rdd_idx = mt7915_get_rdd_idx(phy, val == RADAR_BACKGROUND);
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
267
struct mt7915_phy *phy = file->private;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
268
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
292
ret = mt7915_mcu_muru_debug_get(phy);
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
304
phy->mib.dl_cck_cnt,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
305
phy->mib.dl_ofdm_cnt,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
306
phy->mib.dl_htmix_cnt,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
307
phy->mib.dl_htgf_cnt,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
308
phy->mib.dl_vht_su_cnt);
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
317
phy->mib.dl_vht_2mu_cnt,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
318
phy->mib.dl_vht_3mu_cnt,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
319
phy->mib.dl_vht_4mu_cnt);
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
321
sub_total_cnt = (u64)phy->mib.dl_vht_2mu_cnt +
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
322
phy->mib.dl_vht_3mu_cnt +
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
323
phy->mib.dl_vht_4mu_cnt;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
329
phy->mib.dl_cck_cnt +
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
330
phy->mib.dl_ofdm_cnt +
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
331
phy->mib.dl_htmix_cnt +
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
332
phy->mib.dl_htgf_cnt +
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
333
phy->mib.dl_vht_su_cnt;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
345
phy->mib.dl_he_su_cnt, phy->mib.dl_he_ext_su_cnt);
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
354
phy->mib.dl_he_2mu_cnt, phy->mib.dl_he_3mu_cnt,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
355
phy->mib.dl_he_4mu_cnt);
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
364
phy->mib.dl_he_2ru_cnt,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
365
phy->mib.dl_he_3ru_cnt,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
366
phy->mib.dl_he_4ru_cnt,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
367
phy->mib.dl_he_5to8ru_cnt,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
368
phy->mib.dl_he_9to16ru_cnt,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
369
phy->mib.dl_he_gtr16ru_cnt);
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
371
sub_total_cnt = (u64)phy->mib.dl_he_2mu_cnt +
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
372
phy->mib.dl_he_3mu_cnt +
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
373
phy->mib.dl_he_4mu_cnt;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
379
sub_total_cnt = (u64)phy->mib.dl_he_2ru_cnt +
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
380
phy->mib.dl_he_3ru_cnt +
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
381
phy->mib.dl_he_4ru_cnt +
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
382
phy->mib.dl_he_5to8ru_cnt +
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
383
phy->mib.dl_he_9to16ru_cnt +
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
384
phy->mib.dl_he_gtr16ru_cnt;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
390
total_ppdu_cnt += (u64)phy->mib.dl_he_su_cnt +
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
391
phy->mib.dl_he_ext_su_cnt;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
404
phy->mib.ul_hetrig_2mu_cnt,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
405
phy->mib.ul_hetrig_3mu_cnt,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
406
phy->mib.ul_hetrig_4mu_cnt);
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
415
phy->mib.ul_hetrig_su_cnt,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
416
phy->mib.ul_hetrig_2ru_cnt,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
417
phy->mib.ul_hetrig_3ru_cnt,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
418
phy->mib.ul_hetrig_4ru_cnt,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
419
phy->mib.ul_hetrig_5to8ru_cnt,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
420
phy->mib.ul_hetrig_9to16ru_cnt,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
421
phy->mib.ul_hetrig_gtr16ru_cnt);
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
423
sub_total_cnt = (u64)phy->mib.ul_hetrig_2mu_cnt +
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
424
phy->mib.ul_hetrig_3mu_cnt +
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
425
phy->mib.ul_hetrig_4mu_cnt;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
431
sub_total_cnt = (u64)phy->mib.ul_hetrig_2ru_cnt +
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
432
phy->mib.ul_hetrig_3ru_cnt +
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
433
phy->mib.ul_hetrig_4ru_cnt +
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
434
phy->mib.ul_hetrig_5to8ru_cnt +
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
435
phy->mib.ul_hetrig_9to16ru_cnt +
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
436
phy->mib.ul_hetrig_gtr16ru_cnt;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
442
total_ppdu_cnt += phy->mib.ul_hetrig_su_cnt;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
52
struct mt7915_phy *phy = file->private_data;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
53
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
54
bool band = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
703
mt7915_ampdu_stat_read_phy(struct mt7915_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
706
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
707
bool ext_phy = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
709
u8 band = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
727
seq_printf(file, "%8d | ", phy->mt76->aggr_stats[i]);
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
730
seq_printf(file, "BA miss count: %d\n", phy->mib.ba_miss_cnt);
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
734
mt7915_txbf_stat_read_phy(struct mt7915_phy *phy, struct seq_file *s)
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
736
struct mt76_mib_stats *mib = &phy->mib;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
783
struct mt7915_phy *phy = file->private;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
784
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
785
struct mt76_mib_stats *mib = &phy->mib;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
790
mt7915_ampdu_stat_read_phy(phy, file);
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
791
mt7915_mac_update_stats(phy);
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
792
mt7915_txbf_stat_read_phy(phy, file);
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
817
struct mt7915_phy *phy = s->private;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
818
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
848
struct mt7915_dev *dev = msta->vif->phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
875
struct mt7915_phy *phy = file->private;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
876
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
930
ieee80211_iterate_stations_atomic(phy->mt76->hw,
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
945
struct mt7915_phy *phy = file->private;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
946
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
951
{ phy->mt76->q_tx[MT_TXQ_BE], " MAIN" },
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
997
struct mt7915_phy *phy = file->private_data;
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
998
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/dma.c
11
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/dma.c
24
return mt76_connac_init_tx_queues(phy->mt76, idx, n_desc, ring_base,
drivers/net/wireless/mediatek/mt76/mt7915/dma.c
303
if (!dev->phy.mt76->band_idx)
drivers/net/wireless/mediatek/mt76/mt7915/dma.c
306
if (dev->dbdc_support || dev->phy.mt76->band_idx)
drivers/net/wireless/mediatek/mt76/mt7915/dma.c
444
ret = mt7915_init_tx_queues(&dev->phy,
drivers/net/wireless/mediatek/mt76/mt7915/dma.c
445
MT_TXQ_ID(dev->phy.mt76->band_idx),
drivers/net/wireless/mediatek/mt76/mt7915/dma.c
510
if (!dev->phy.mt76->band_idx) {
drivers/net/wireless/mediatek/mt76/mt7915/dma.c
549
if (dev->dbdc_support || dev->phy.mt76->band_idx) {
drivers/net/wireless/mediatek/mt76/mt7915/dma.c
597
for (i = 0; i < ARRAY_SIZE(dev->mt76.phy.q_tx); i++) {
drivers/net/wireless/mediatek/mt76/mt7915/dma.c
9
mt7915_init_tx_queues(struct mt7915_phy *phy, int idx, int n_desc, int ring_base)
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
159
static void mt7915_eeprom_parse_band_config(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
161
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
163
u8 band = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
172
phy->mt76->cap.has_5ghz = true;
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
175
phy->mt76->cap.has_6ghz = true;
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
179
phy->mt76->cap.has_6ghz = true;
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
184
phy->mt76->cap.has_5ghz = true;
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
194
phy->mt76->cap.has_2ghz = true;
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
203
phy->mt76->cap.has_5ghz = true;
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
206
phy->mt76->cap.has_2ghz = true;
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
209
phy->mt76->cap.has_2ghz = true;
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
210
phy->mt76->cap.has_5ghz = true;
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
216
struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
219
struct mt76_phy *mphy = phy->mt76;
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
220
u8 band = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
222
mt7915_eeprom_parse_band_config(phy);
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
283
mt7915_eeprom_parse_hw_cap(dev, &dev->phy);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
100
ret = mt7915_mcu_set_thermal_protect(phy);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
101
mutex_unlock(&phy->dev->mt76.mutex);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1133
mt7915_set_stream_he_txbf_caps(phy, he_cap, i);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1165
void mt7915_set_stream_he_caps(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1171
if (phy->mt76->cap.has_2ghz) {
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1172
data = phy->iftype[NL80211_BAND_2GHZ];
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1173
n = mt7915_init_he_caps(phy, NL80211_BAND_2GHZ, data);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1175
band = &phy->mt76->sband_2g.sband;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1179
if (phy->mt76->cap.has_5ghz) {
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1180
data = phy->iftype[NL80211_BAND_5GHZ];
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1181
n = mt7915_init_he_caps(phy, NL80211_BAND_5GHZ, data);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1183
band = &phy->mt76->sband_5g.sband;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1187
if (phy->mt76->cap.has_6ghz) {
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1188
data = phy->iftype[NL80211_BAND_6GHZ];
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1189
n = mt7915_init_he_caps(phy, NL80211_BAND_6GHZ, data);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1191
band = &phy->mt76->sband_6g.sband;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1198
struct mt7915_phy *phy = mt7915_ext_phy(dev);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1201
if (!phy)
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1204
mt7915_unregister_thermal(phy);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1225
dev->phy.dev = dev;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1226
dev->phy.mt76 = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1227
dev->mt76.phy.priv = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1248
mt7915_init_wiphy(&dev->phy);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1259
ret = mt7915_thermal_init(&dev->phy);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1273
ret = mt7915_init_debugfs(&dev->phy);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1284
mt7915_unregister_thermal(&dev->phy);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
1299
mt7915_unregister_thermal(&dev->phy);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
135
struct mt7915_phy *phy = cdev->devdata;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
137
*state = phy->cdev_state;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
146
struct mt7915_phy *phy = cdev->devdata;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
151
dev_err(phy->dev->mt76.dev,
drivers/net/wireless/mediatek/mt76/mt7915/init.c
156
if (state == phy->cdev_state)
drivers/net/wireless/mediatek/mt76/mt7915/init.c
163
mutex_lock(&phy->dev->mt76.mutex);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
164
ret = mt7915_mcu_set_thermal_throttling(phy, throttling);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
165
mutex_unlock(&phy->dev->mt76.mutex);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
169
phy->cdev_state = state;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
180
static void mt7915_unregister_thermal(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/init.c
182
struct wiphy *wiphy = phy->mt76->hw->wiphy;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
184
if (!phy->cdev)
drivers/net/wireless/mediatek/mt76/mt7915/init.c
188
thermal_cooling_device_unregister(phy->cdev);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
191
static int mt7915_thermal_init(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/init.c
193
struct wiphy *wiphy = phy->mt76->hw->wiphy;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
203
cdev = thermal_cooling_device_register(name, phy, &mt7915_thermal_ops);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
209
phy->cdev = cdev;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
213
phy->throttle_temp[MT7915_CRIT_TEMP_IDX] = MT7915_CRIT_TEMP;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
214
phy->throttle_temp[MT7915_MAX_TEMP_IDX] = MT7915_MAX_TEMP;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
219
hwmon = devm_hwmon_device_register_with_groups(&wiphy->dev, name, phy,
drivers/net/wireless/mediatek/mt76/mt7915/init.c
283
static void __mt7915_init_txpower(struct mt7915_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7915/init.c
286
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
287
int i, n_chains = hweight16(phy->mt76->chainmask);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
292
phy->sku_limit_en = true;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
293
phy->sku_path_en = true;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
307
target_power = mt76_get_rate_power_limits(phy->mt76, chan,
drivers/net/wireless/mediatek/mt76/mt7915/init.c
313
phy->sku_path_en = false;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
323
void mt7915_init_txpower(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/init.c
325
if (!phy)
drivers/net/wireless/mediatek/mt76/mt7915/init.c
328
if (phy->mt76->cap.has_2ghz)
drivers/net/wireless/mediatek/mt76/mt7915/init.c
329
__mt7915_init_txpower(phy, &phy->mt76->sband_2g.sband);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
330
if (phy->mt76->cap.has_5ghz)
drivers/net/wireless/mediatek/mt76/mt7915/init.c
331
__mt7915_init_txpower(phy, &phy->mt76->sband_5g.sband);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
332
if (phy->mt76->cap.has_6ghz)
drivers/net/wireless/mediatek/mt76/mt7915/init.c
333
__mt7915_init_txpower(phy, &phy->mt76->sband_6g.sband);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
343
struct mt7915_phy *phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
349
mt7915_mcu_rdd_background_enable(phy, NULL);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
351
mt7915_init_txpower(phy);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
354
mt7915_dfs_init_radar_detector(phy);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
358
mt7915_init_wiphy(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/init.c
360
struct mt76_phy *mphy = phy->mt76;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
362
struct mt76_dev *mdev = &phy->dev->mt76;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
364
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
377
phy->slottime = 9;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
402
if (mt7915_eeprom_has_background_radar(phy->dev) &&
drivers/net/wireless/mediatek/mt76/mt7915/init.c
418
if (phy->mt76->cap.has_2ghz) {
drivers/net/wireless/mediatek/mt76/mt7915/init.c
419
phy->mt76->sband_2g.sband.ht_cap.cap |=
drivers/net/wireless/mediatek/mt76/mt7915/init.c
423
phy->mt76->sband_2g.sband.ht_cap.ampdu_density =
drivers/net/wireless/mediatek/mt76/mt7915/init.c
426
phy->mt76->sband_2g.sband.ht_cap.ampdu_density =
drivers/net/wireless/mediatek/mt76/mt7915/init.c
430
if (phy->mt76->cap.has_5ghz) {
drivers/net/wireless/mediatek/mt76/mt7915/init.c
433
vht_cap = &phy->mt76->sband_5g.sband.vht_cap;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
434
phy->mt76->sband_5g.sband.ht_cap.cap |=
drivers/net/wireless/mediatek/mt76/mt7915/init.c
439
phy->mt76->sband_5g.sband.ht_cap.ampdu_density =
drivers/net/wireless/mediatek/mt76/mt7915/init.c
451
phy->mt76->sband_5g.sband.ht_cap.ampdu_density =
drivers/net/wireless/mediatek/mt76/mt7915/init.c
468
mt76_set_stream_caps(phy->mt76, true);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
469
mt7915_set_stream_vht_txbf_caps(phy);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
470
mt7915_set_stream_he_caps(phy);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
471
mt7915_init_txpower(phy);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
473
wiphy->available_antennas_rx = phy->mt76->antenna_mask;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
474
wiphy->available_antennas_tx = phy->mt76->antenna_mask;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
50
struct mt7915_phy *phy = dev_get_drvdata(dev);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
56
mutex_lock(&phy->dev->mt76.mutex);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
57
temperature = mt7915_mcu_get_temperature(phy);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
58
mutex_unlock(&phy->dev->mt76.mutex);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
66
phy->throttle_temp[i - 1] * 1000);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
671
struct mt7915_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
677
mphy = mt76_alloc_phy(&dev->mt76, sizeof(*phy), &mt7915_ops, MT_BAND1);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
68
return sprintf(buf, "%hhu\n", phy->throttle_state);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
681
phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
682
phy->dev = dev;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
683
phy->mt76 = mphy;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
686
phy->mt76->band_idx = 1;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
688
return phy;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
692
mt7915_register_ext_phy(struct mt7915_dev *dev, struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/init.c
694
struct mt76_phy *mphy = phy->mt76;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
699
mt7915_eeprom_parse_hw_cap(dev, phy);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
717
mt7915_init_wiphy(phy);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
724
ret = mt7915_thermal_init(phy);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
728
mt7915_init_debugfs(phy);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
78
struct mt7915_phy *phy = dev_get_drvdata(dev);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
805
dev->phy.mt76->band_idx = 0;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
816
dev->phy.mt76->band_idx = 1;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
86
mutex_lock(&phy->dev->mt76.mutex);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
870
void mt7915_set_stream_vht_txbf_caps(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/init.c
875
if (!phy->mt76->cap.has_5ghz)
drivers/net/wireless/mediatek/mt76/mt7915/init.c
878
sts = hweight8(phy->mt76->chainmask);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
879
cap = &phy->mt76->sband_5g.sband.vht_cap.cap;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
90
val > phy->throttle_temp[MT7915_MAX_TEMP_IDX]) ||
drivers/net/wireless/mediatek/mt76/mt7915/init.c
900
mt7915_set_stream_he_txbf_caps(struct mt7915_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7915/init.c
903
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
905
int sts = hweight8(phy->mt76->chainmask);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
92
val < phy->throttle_temp[MT7915_CRIT_TEMP_IDX])) {
drivers/net/wireless/mediatek/mt76/mt7915/init.c
93
dev_err(phy->dev->mt76.dev,
drivers/net/wireless/mediatek/mt76/mt7915/init.c
95
mutex_unlock(&phy->dev->mt76.mutex);
drivers/net/wireless/mediatek/mt76/mt7915/init.c
99
phy->throttle_temp[i - 1] = val;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
990
mt7915_init_he_caps(struct mt7915_phy *phy, enum nl80211_band band,
drivers/net/wireless/mediatek/mt76/mt7915/init.c
993
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/init.c
994
int i, idx = 0, nss = hweight8(phy->mt76->antenna_mask);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1109
void mt7915_mac_cca_stats_reset(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1111
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1112
u32 reg = MT_WF_PHY_RX_CTRL1(phy->mt76->band_idx);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1118
void mt7915_mac_reset_counters(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1120
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1124
mt76_rr(dev, MT_TX_AGG_CNT(phy->mt76->band_idx, i));
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1125
mt76_rr(dev, MT_TX_AGG_CNT2(phy->mt76->band_idx, i));
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1128
phy->mt76->survey_time = ktime_get_boottime();
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1129
memset(phy->mt76->aggr_stats, 0, sizeof(phy->mt76->aggr_stats));
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1132
mt76_set(dev, MT_WF_RMAC_MIB_AIRTIME0(phy->mt76->band_idx),
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1135
mt7915_mcu_get_chan_mib_info(phy, true);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1138
void mt7915_mac_set_timing(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1140
s16 coverage_class = phy->coverage_class;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1141
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1148
u8 band = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1150
bool a_band = !(phy->mt76->chandef.chan->band == NL80211_BAND_2GHZ);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1152
if (!test_bit(MT76_STATE_RUNNING, &phy->mt76->state))
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1156
coverage_class = max_t(s16, dev->phy.coverage_class,
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1185
FIELD_PREP(MT_IFS_SLOT, phy->slottime));
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1187
if (phy->slottime < 20 || a_band)
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1213
mt7915_phy_get_nf(struct mt7915_phy *phy, int idx)
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1216
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1220
for (nss = 0; nss < hweight8(phy->mt76->chainmask); nss++) {
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1240
struct mt7915_phy *phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1244
mt7915_mcu_get_chan_mib_info(phy, false);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1246
nf = mt7915_phy_get_nf(phy, phy->mt76->band_idx);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1247
if (!phy->noise)
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1248
phy->noise = nf << 4;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1250
phy->noise += nf - (phy->noise >> 4);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1252
state->noise = -(phy->noise >> 4);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1399
mt7915_init_txpower(&dev->phy);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1465
dev->phy.omac_mask = 0;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1707
void mt7915_mac_update_stats(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1709
struct mt76_mib_stats *mib = &phy->mib;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1710
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1712
u8 band = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1858
phy->mt76->aggr_stats[aggr0++] += val & 0xffff;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1859
phy->mt76->aggr_stats[aggr0++] += val >> 16;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1862
phy->mt76->aggr_stats[aggr1++] += val & 0xffff;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1863
phy->mt76->aggr_stats[aggr1++] += val >> 16;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1910
phy->mt76->aggr_stats[aggr0++] += FIELD_GET(GENMASK(15, 0), val);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1911
phy->mt76->aggr_stats[aggr0++] += FIELD_GET(GENMASK(31, 16), val);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1938
static void mt7915_mac_severe_check(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1940
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1943
if (!phy->omac_mask)
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1950
trb = mt76_rr(dev, MT_TRB_RXPSR0(phy->mt76->band_idx));
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1954
(FIELD_GET(MT_TRB_RXPSR0_RX_RMAC_PTR, phy->trb_ts) !=
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1955
FIELD_GET(MT_TRB_RXPSR0_RX_WTBL_PTR, phy->trb_ts)) &&
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1956
trb == phy->trb_ts)
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1958
phy->mt76->band_idx);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
1960
phy->trb_ts = trb;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2001
struct mt7915_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2006
phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2014
mt7915_mac_update_stats(phy);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2015
mt7915_mac_severe_check(phy);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2017
if (phy->dev->muru_debug)
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2018
mt7915_mcu_muru_debug_get(phy);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2029
static void mt7915_dfs_stop_radar_detector(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2031
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2032
int rdd_idx = mt7915_get_rdd_idx(phy, false);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2071
static int mt7915_dfs_start_radar_detector(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2073
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2076
rdd_idx = mt7915_get_rdd_idx(phy, false);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2093
mt7915_dfs_init_radar_specs(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2096
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2126
int mt7915_dfs_init_radar_detector(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2128
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2130
int err, rdd_idx = mt7915_get_rdd_idx(phy, false);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2132
prev_state = phy->mt76->dfs_state;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2133
dfs_state = mt76_phy_dfs_state(phy->mt76);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2139
mt7915_dfs_stop_radar_detector(phy);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2145
err = mt7915_dfs_init_radar_specs(phy);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2149
err = mt7915_dfs_start_radar_detector(phy);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2153
phy->mt76->dfs_state = MT_DFS_STATE_CAC;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2161
phy->mt76->dfs_state = MT_DFS_STATE_UNKNOWN;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2165
phy->mt76->dfs_state = MT_DFS_STATE_ACTIVE;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2180
mt7915_dfs_stop_radar_detector(phy);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
2181
phy->mt76->dfs_state = MT_DFS_STATE_DISABLED;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
227
mt76_rx_signal(msta->vif->phy->mt76->antenna_mask, rssi);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
280
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
281
struct mt7915_phy *phy = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
304
if ((rxd1 & MT_RXD1_NORMAL_BAND_IDX) && !phy->mt76->band_idx) {
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
309
phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
423
if (phy->rx_ampdu_ts != status->timestamp) {
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
424
if (!++phy->ampdu_ref)
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
425
phy->ampdu_ref++;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
427
phy->rx_ampdu_ts = status->timestamp;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
429
status->ampdu_ref = phy->ampdu_ref;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
563
struct mt7915_phy *phy = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
574
if (band_idx && !phy->mt76->band_idx) {
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
575
phy = mt7915_ext_phy(dev);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
576
if (!phy)
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
588
phy->test.last_rcpi[i] = rcpi & 0xff;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
589
phy->test.last_ib_rssi[i] = ib_rssi & 0xff;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
590
phy->test.last_wb_rssi[i] = wb_rssi & 0xff;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
601
phy->test.last_freq_offset = foe;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
602
phy->test.last_snr = snr;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
609
mt7915_mac_write_txwi_tm(struct mt7915_phy *phy, __le32 *txwi,
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
613
struct mt76_testmode_data *td = &phy->mt76->test;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
622
if (skb != phy->mt76->test.tx_skb)
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
649
band = phy->mt76->chandef.chan->band;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
653
r = &phy->mt76->hw->wiphy->bands[band]->bitrates[rate_idx];
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
664
switch (phy->mt76->chandef.width) {
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
719
phy->test.spe_idx));
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
730
struct mt76_phy *mphy = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1005
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1006
bool band = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1050
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1051
bool band = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1081
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1082
bool band = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1110
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1111
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1114
phy->coverage_class = max_t(s16, coverage_class, 0);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1115
mt7915_mac_set_timing(phy);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1123
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1126
u8 band = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1133
phy->mt76->antenna_mask = tx_ant;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1138
phy->mt76->chainmask = (dev->chainmask >> chainshift) << chainshift;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
114
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1140
phy->mt76->chainmask = tx_ant << (chainshift * band);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1142
mt76_set_stream_caps(phy->mt76, true);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1143
mt7915_set_stream_vht_txbf_caps(phy);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1144
mt7915_set_stream_he_caps(phy);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1156
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
116
cancel_delayed_work_sync(&phy->mt76->mac_work);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1161
if (!mt7915_mcu_get_rx_rate(phy, vif, sta, &rxrate)) {
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1184
if (mtk_wed_device_active(&phy->dev->mt76.mmio.wed)) {
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1188
if (!mt7915_mcu_wed_wa_tx_stats(phy->dev, msta->wcid.idx)) {
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1193
if (mtk_wed_get_rx_capa(&phy->dev->mt76.mmio.wed)) {
drivers/net/wireless/mediatek/mt76/mt7915/main.c
120
mt76_testmode_reset(phy->mt76, true);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1218
struct mt7915_dev *dev = msta->vif->phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
122
clear_bit(MT76_STATE_RUNNING, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1234
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1235
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
124
if (phy != &dev->phy) {
drivers/net/wireless/mediatek/mt76/mt7915/main.c
125
mt76_connac_mcu_set_pm(&dev->mt76, phy->mt76->band_idx, 1);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1250
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1251
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
126
mt7915_mcu_set_mac(dev, phy->mt76->band_idx, false, false);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
13
struct mt7915_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
130
mt76_connac_mcu_set_pm(&dev->mt76, dev->phy.mt76->band_idx, 1);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
131
mt7915_mcu_set_mac(dev, dev->phy.mt76->band_idx, false, false);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1312
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1325
ret = mt7915_mcu_set_txpower_frame_min(phy, 0);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1333
ret = mt7915_mcu_set_txpower_frame(phy, vif, sta, txpower);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1519
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1521
struct mt76_mib_stats *mib = &phy->mib;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1531
mt7915_mac_update_stats(phy);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1544
data[ei++] = phy->mt76->aggr_stats[i];
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1546
data[ei++] = phy->mib.ba_miss_cnt;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1670
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1671
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1680
if (dev->rdd2_phy && dev->rdd2_phy != phy) {
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1693
ret = mt7915_mcu_rdd_background_enable(phy, NULL);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1701
ret = mt7915_mcu_rdd_background_enable(phy, chandef);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1706
dev->rdd2_phy = chandef ? phy : NULL;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1726
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1740
path->mtk_wdma.queue = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1752
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
1755
ieee80211_queue_delayed_work(hw, &phy->mt76->mac_work,
drivers/net/wireless/mediatek/mt76/mt7915/main.c
18
phy = mt7915_ext_phy(dev);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
20
return phy && test_bit(MT76_STATE_RUNNING, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
209
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
211
bool ext_phy = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
216
mt76_testmode_reset(phy->mt76, true);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
220
phy->monitor_vif = vif;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
228
idx = get_omac_idx(vif->type, phy->omac_mask);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
234
mvif->phy = phy;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
235
mvif->mt76.band_idx = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
242
ret = mt7915_mcu_add_dev_info(phy, vif, true);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
247
phy->omac_mask |= BIT_ULL(mvif->mt76.omac_idx);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
258
mt76_wcid_init(&mvif->sta.wcid, phy->mt76->band_idx);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
26
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
276
mt7915_mcu_add_bss_info(phy, vif, true);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
292
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
295
mt7915_mcu_add_bss_info(phy, vif, false);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
300
mt76_testmode_reset(phy->mt76, true);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
303
if (vif == phy->monitor_vif)
drivers/net/wireless/mediatek/mt76/mt7915/main.c
304
phy->monitor_vif = NULL;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
306
mt7915_mcu_add_dev_info(phy, vif, false);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
312
phy->omac_mask &= ~BIT_ULL(mvif->mt76.omac_idx);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
325
struct mt7915_phy *phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
326
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
330
ret = mt7915_mcu_apply_tx_dpd(phy);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
335
ret = mt7915_mcu_set_chan_info(phy, MCU_EXT_CMD(CHANNEL_SWITCH));
drivers/net/wireless/mediatek/mt76/mt7915/main.c
339
mt7915_mac_set_timing(phy);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
34
dev->phy.mt76->band_idx, 0);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
340
ret = mt7915_dfs_init_radar_detector(phy);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
341
mt7915_mac_cca_stats_reset(phy);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
343
mt7915_mac_reset_counters(phy);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
344
phy->noise = 0;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
347
if (!mt76_testmode_enabled(phy->mt76))
drivers/net/wireless/mediatek/mt76/mt7915/main.c
348
ieee80211_queue_delayed_work(phy->mt76->hw,
drivers/net/wireless/mediatek/mt76/mt7915/main.c
349
&phy->mt76->mac_work,
drivers/net/wireless/mediatek/mt76/mt7915/main.c
360
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
38
ret = mt7915_mcu_set_mac(dev, dev->phy.mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7915/main.c
409
mt7915_mcu_add_bss_info(phy, vif, true);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
43
mt7915_mac_enable_nf(dev, dev->phy.mt76->band_idx);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
433
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
438
if (!cfg80211_chandef_valid(&phy->mt76->chandef))
drivers/net/wireless/mediatek/mt76/mt7915/main.c
445
err = mt7915_mcu_set_txpower_sku(phy);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
456
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
46
if (phy != &dev->phy) {
drivers/net/wireless/mediatek/mt76/mt7915/main.c
461
if (phy->mt76->test.state != MT76_TM_STATE_OFF) {
drivers/net/wireless/mediatek/mt76/mt7915/main.c
463
mt76_testmode_reset(phy->mt76, false);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
467
ret = mt76_update_channel(phy->mt76);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
474
ret = mt7915_mcu_set_txpower_sku(phy);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
48
phy->mt76->band_idx, 0);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
483
bool band = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
484
u32 rxfilter = phy->rxfilter;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
498
mt76_testmode_reset(phy->mt76, true);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
52
ret = mt7915_mcu_set_mac(dev, phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7915/main.c
527
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
528
bool band = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
539
phy->rxfilter &= ~(_hw); \
drivers/net/wireless/mediatek/mt76/mt7915/main.c
540
phy->rxfilter |= !(flags & FIF_##_flag) * (_hw); \
drivers/net/wireless/mediatek/mt76/mt7915/main.c
545
phy->rxfilter &= ~(MT_WF_RFCR_DROP_OTHER_BSS |
drivers/net/wireless/mediatek/mt76/mt7915/main.c
568
rxfilter = phy->rxfilter;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
57
mt7915_mac_enable_nf(dev, phy->mt76->band_idx);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
60
ret = mt7915_mcu_set_thermal_throttling(phy,
drivers/net/wireless/mediatek/mt76/mt7915/main.c
611
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
632
mt7915_mcu_add_bss_info(phy, vif, true);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
642
if (phy->mt76->chandef.chan->band == NL80211_BAND_2GHZ &&
drivers/net/wireless/mediatek/mt76/mt7915/main.c
646
if (slottime != phy->slottime) {
drivers/net/wireless/mediatek/mt76/mt7915/main.c
647
phy->slottime = slottime;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
648
mt7915_mac_set_timing(phy);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
657
mt7915_mcu_add_obss_spr(phy, vif, &info->he_obss_pd);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
66
ret = mt7915_mcu_set_thermal_protect(phy);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
671
mt7915_mcu_add_bss_info(phy, vif, false);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
679
mt7915_vif_check_caps(struct mt7915_phy *phy, struct ieee80211_vif *vif)
drivers/net/wireless/mediatek/mt76/mt7915/main.c
700
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
706
mt7915_vif_check_caps(phy, vif);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
708
err = mt7915_mcu_add_bss_info(phy, vif, true);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
72
phy->mt76->band_idx);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
747
bool ext_phy = mvif->phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
76
ret = mt7915_mcu_set_sku_en(phy);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
80
ret = mt7915_mcu_set_chan_info(phy, MCU_EXT_CMD(SET_RX_PATH));
drivers/net/wireless/mediatek/mt76/mt7915/main.c
84
set_bit(MT76_STATE_RUNNING, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
86
if (!mt76_testmode_enabled(phy->mt76))
drivers/net/wireless/mediatek/mt76/mt7915/main.c
87
ieee80211_queue_delayed_work(hw, &phy->mt76->mac_work,
drivers/net/wireless/mediatek/mt76/mt7915/main.c
91
mt7915_mac_reset_counters(phy);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
914
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
919
phy->mt76->band_idx);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
986
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/main.c
988
struct mt76_mib_stats *mib = &phy->mib;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1070
mt7915_is_ebf_supported(struct mt7915_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1074
int sts = hweight16(phy->mt76->chainmask);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1118
mt7915_mcu_sta_bfer_ht(struct ieee80211_sta *sta, struct mt7915_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1137
bf->nrow = hweight8(phy->mt76->chainmask) - 1;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1143
mt7915_mcu_sta_bfer_vht(struct ieee80211_sta *sta, struct mt7915_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1147
struct ieee80211_sta_vht_cap *vc = &phy->mt76->sband_5g.sband.vht_cap;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1150
u8 tx_ant = hweight8(phy->mt76->chainmask) - 1;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
117
struct mt7915_dev *dev = msta->vif->phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1181
struct mt7915_phy *phy, struct sta_rec_bf *bf)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1186
mt76_connac_get_he_phy_cap(phy->mt76, vif);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1244
struct mt7915_phy *phy = mvif->phy;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1245
int tx_ant = hweight8(phy->mt76->chainmask) - 1;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1259
ebf = mt7915_is_ebf_supported(phy, vif, sta, false);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1271
mt7915_mcu_sta_bfer_he(sta, vif, phy, bf);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1273
mt7915_mcu_sta_bfer_vht(sta, phy, bf, ebf);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1275
mt7915_mcu_sta_bfer_ht(sta, phy, bf);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1313
struct mt7915_phy *phy = mvif->phy;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1314
int tx_ant = hweight8(phy->mt76->chainmask) - 1;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1322
if (!mt7915_is_ebf_supported(phy, vif, sta, true))
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1366
struct sta_phy *phy = data;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1386
if (phy)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1387
ra->phy = *phy;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1442
struct mt76_phy *mphy = mvif->phy->mt76;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1455
struct cfg80211_chan_def *chandef = &mvif->phy->mt76->chandef;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1458
struct sta_phy phy = {};
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1466
phy.sgi |= gi << (i << (_he)); \
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1467
phy.he_ltf |= mask->control[band].he_ltf << (i << (_he));\
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1473
phy.mcs = ffs(mask->control[band]._mcs[i]) - 1; \
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1475
phy.mcs += 8 * i; \
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1487
phy.mcs = ffs(mask->control[band].legacy) - 1;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1500
ret = mt7915_mcu_set_fixed_rate_ctrl(dev, vif, sta, &phy,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1518
mt76_rmw_field(dev, addr, GENMASK(31, 24), phy.sgi);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1520
mt76_rmw_field(dev, addr, GENMASK(15, 12), phy.sgi);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1522
ret = mt7915_mcu_set_fixed_rate_ctrl(dev, vif, sta, &phy,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1530
ret = mt7915_mcu_set_fixed_rate_ctrl(dev, vif, sta, &phy,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1544
struct mt76_phy *mphy = mvif->phy->mt76;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1561
ra->phy.bw = sta->deflink.bandwidth;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1793
int mt7915_mcu_add_dev_info(struct mt7915_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1796
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1829
return mt7915_mcu_muar_config(phy, vif, false, enable);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1952
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1954
struct cfg80211_chan_def *chandef = &mvif->phy->mt76->chandef;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1962
bool ext_phy = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2025
return mt76_mcu_skb_send_msg(&phy->dev->mt76, rskb,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2033
struct mt7915_phy *phy = mt7915_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2041
bool ext_phy = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2080
return mt76_mcu_skb_send_msg(&phy->dev->mt76, rskb,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2204
int mt7915_mcu_muru_debug_get(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2206
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2216
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2227
#define __dl_u32(s) phy->mib.dl_##s += le32_to_cpu(mu_stats->dl.s)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2228
#define __ul_u32(s) phy->mib.ul_##s += le32_to_cpu(mu_stats->ul.s)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
267
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2670
mt7915_mcu_background_chain_ctrl(struct mt7915_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2674
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2675
struct mt76_phy *mphy = phy->mt76;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2697
req.band_idx = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2705
req.band_idx = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2724
int mt7915_mcu_rdd_background_enable(struct mt7915_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2727
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2730
rdd_idx = mt7915_get_rdd_idx(phy, true);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2739
return mt7915_mcu_background_chain_ctrl(phy, NULL,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2743
err = mt7915_mcu_background_chain_ctrl(phy, chandef,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
275
if ((c->band_idx && !dev->phy.mt76->band_idx) &&
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2764
int mt7915_mcu_set_chan_info(struct mt7915_phy *phy, int cmd)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2771
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2772
struct cfg80211_chan_def *chandef = &phy->mt76->chandef;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2774
u8 band = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2796
.tx_path_num = hweight16(phy->mt76->chainmask),
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2797
.rx_path = phy->mt76->chainmask >> (dev->chainshift * band),
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2803
if (phy->mt76->test.tx_antenna_mask &&
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2804
mt76_testmode_enabled(phy->mt76)) {
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2805
req.tx_path_num = fls(phy->mt76->test.tx_antenna_mask);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2806
req.rx_path = phy->mt76->test.tx_antenna_mask;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2810
if (mt76_connac_spe_idx(phy->mt76->antenna_mask))
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2811
req.tx_path_num = fls(phy->mt76->antenna_mask);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2813
if (phy->mt76->hw->conf.flags & IEEE80211_CONF_MONITOR)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2815
else if (phy->mt76->offchannel ||
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2816
phy->mt76->hw->conf.flags & IEEE80211_CONF_IDLE)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
2818
else if (!cfg80211_reg_can_beacon(phy->mt76->hw->wiphy, chandef,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
287
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
289
struct mt7915_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
298
if ((t->ctrl.band_idx && !dev->phy.mt76->band_idx) &&
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
302
phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
303
phy->throttle_state = t->ctrl.duty.duty_cycle;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
309
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3091
int mt7915_mcu_apply_tx_dpd(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3093
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3094
struct cfg80211_chan_def *chandef = &phy->mt76->chandef;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3143
int mt7915_mcu_get_chan_mib_info(struct mt7915_phy *phy, bool chan_switch)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3145
struct mt76_channel_state *state = phy->mt76->chan_state;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3146
struct mt76_channel_state *state_ts = &phy->state_ts;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3147
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3179
req[i].band = cpu_to_le32(phy->mt76->band_idx);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3220
int mt7915_mcu_get_temperature(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3222
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3230
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3237
int mt7915_mcu_set_thermal_throttling(struct mt7915_phy *phy, u8 state)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3239
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3241
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3260
int mt7915_mcu_set_thermal_protect(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3262
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3272
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3289
req.restore_temp = cpu_to_le32(phy->throttle_temp[0] - 10);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3290
req.trigger_temp = cpu_to_le32(phy->throttle_temp[1]);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3297
int mt7915_mcu_set_txpower_frame_min(struct mt7915_phy *phy, s8 txpower)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3299
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3307
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3316
int mt7915_mcu_set_txpower_frame(struct mt7915_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3321
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3322
struct mt76_phy *mphy = phy->mt76;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3332
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3339
ret = mt7915_mcu_get_txpower_sku(phy, txpower_sku, sizeof(txpower_sku),
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3381
mt7915_update_txpower(struct mt7915_phy *phy, int tx_power)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3383
struct mt76_phy *mphy = phy->mt76;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3393
val = mt7915_eeprom_get_target_power(phy->dev, chan, chain_idx);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3394
val += mt7915_eeprom_get_power_delta(phy->dev, chan->band);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3399
if (phy->sku_limit_en)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3405
int mt7915_mcu_set_txpower_sku(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3409
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3410
struct mt76_phy *mphy = phy->mt76;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3419
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3427
if (phy->sku_limit_en) {
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3430
mt7915_update_txpower(phy, tx_power);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3432
mt7915_update_txpower(phy, tx_power);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3460
if (!phy->sku_path_en)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3508
int mt7915_mcu_get_txpower_sku(struct mt7915_phy *phy, s8 *txpower, int len,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3512
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3521
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3569
int mt7915_mcu_set_sku_en(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3571
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3578
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3582
req.sku_enable = phy->sku_limit_en;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3591
req.sku_enable = phy->sku_path_en;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3666
mt7915_mcu_enable_obss_spr(struct mt7915_phy *phy, u8 action, u8 val)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3668
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3672
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3681
mt7915_mcu_set_obss_spr_pd(struct mt7915_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3684
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3703
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3710
ret = mt7915_mcu_enable_obss_spr(phy, SPR_ENABLE_DPD, false);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3735
mt7915_mcu_set_obss_spr_siga(struct mt7915_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3739
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3752
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3766
ret = mt7915_mcu_enable_obss_spr(phy, SPR_ENABLE_MODE, 0);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3775
mt7915_mcu_set_obss_spr_bitmap(struct mt7915_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3778
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3791
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3812
int mt7915_mcu_add_obss_spr(struct mt7915_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3818
ret = mt7915_mcu_enable_obss_spr(phy, SPR_ENABLE_SD, sr_scene_detect);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3827
ret = mt7915_mcu_enable_obss_spr(phy, SPR_ENABLE, he_obss_pd->enable);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3834
ret = mt7915_mcu_enable_obss_spr(phy, SPR_ENABLE_TX, true);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3839
ret = mt7915_mcu_set_obss_spr_pd(phy, he_obss_pd);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3844
ret = mt7915_mcu_set_obss_spr_siga(phy, vif, he_obss_pd);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3849
return mt7915_mcu_set_obss_spr_bitmap(phy, he_obss_pd);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3852
int mt7915_mcu_get_rx_rate(struct mt7915_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3857
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
3858
struct mt76_phy *mphy = phy->mt76;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
388
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
396
if ((b->band_idx && !dev->phy.mt76->band_idx) &&
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
530
struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
532
struct cfg80211_chan_def *chandef = &phy->mt76->chandef;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
551
struct mt76_phy *mphy = phy->mt76;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
563
struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
565
int max_nss = hweight8(phy->mt76->antenna_mask);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
589
struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
597
cap = mt76_connac_get_he_phy_cap(phy->mt76, vif);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
62
struct mt7915_dev *dev = msta->vif->phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
63
enum nl80211_band band = msta->vif->phy->mt76->chandef.chan->band;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
633
mt7915_mcu_bss_bmc_tlv(struct sk_buff *skb, struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
636
struct cfg80211_chan_def *chandef = &phy->mt76->chandef;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
652
mt7915_mcu_muar_config(struct mt7915_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
655
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
658
u32 mask = phy->omac_mask >> 32 & ~BIT(idx);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
675
.band = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
689
int mt7915_mcu_add_bss_info(struct mt7915_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
693
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
697
mt7915_mcu_muar_config(phy, vif, false, enable);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
698
mt7915_mcu_muar_config(phy, vif, true, enable);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
710
mt76_connac_mcu_bss_basic_tlv(skb, vif, NULL, phy->mt76,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
717
mt7915_mcu_bss_rfch_tlv(skb, vif, phy);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
718
mt7915_mcu_bss_bmc_tlv(skb, phy);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
719
mt7915_mcu_bss_ra_tlv(skb, vif, phy);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
723
mt7915_mcu_bss_he_tlv(skb, vif, phy);
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
174
struct mt7915_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
258
struct mt7915_phy phy;
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
360
mt7915_get_rdd_idx(struct mt7915_phy *phy, bool is_background)
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
362
if (!phy->mt76->cap.has_5ghz)
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
368
return phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
374
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
376
return phy->priv;
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
382
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
384
return container_of(phy->dev, struct mt7915_dev, mt76);
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
390
struct mt76_phy *phy = dev->mt76.phys[MT_BAND1];
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
392
if (!phy)
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
395
return phy->priv;
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
437
struct mt7915_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
449
void mt7915_init_txpower(struct mt7915_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
458
int mt7915_mcu_add_dev_info(struct mt7915_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
460
int mt7915_mcu_add_bss_info(struct mt7915_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
476
int mt7915_mcu_add_obss_spr(struct mt7915_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
483
int mt7915_mcu_set_chan_info(struct mt7915_phy *phy, int cmd);
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
498
int mt7915_mcu_set_sku_en(struct mt7915_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
499
int mt7915_mcu_set_txpower_sku(struct mt7915_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
500
int mt7915_mcu_get_txpower_sku(struct mt7915_phy *phy, s8 *txpower, int len,
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
502
int mt7915_mcu_set_txpower_frame_min(struct mt7915_phy *phy, s8 txpower);
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
503
int mt7915_mcu_set_txpower_frame(struct mt7915_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
514
int mt7915_mcu_apply_tx_dpd(struct mt7915_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
515
int mt7915_mcu_get_chan_mib_info(struct mt7915_phy *phy, bool chan_switch);
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
516
int mt7915_mcu_get_temperature(struct mt7915_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
517
int mt7915_mcu_set_thermal_throttling(struct mt7915_phy *phy, u8 state);
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
518
int mt7915_mcu_set_thermal_protect(struct mt7915_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
519
int mt7915_mcu_get_rx_rate(struct mt7915_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
521
int mt7915_mcu_rdd_background_enable(struct mt7915_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
568
void mt7915_mac_reset_counters(struct mt7915_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
569
void mt7915_mac_cca_stats_reset(struct mt7915_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
577
void mt7915_mac_set_timing(struct mt7915_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
588
void mt7915_mac_update_stats(struct mt7915_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
604
int mt7915_dfs_init_radar_detector(struct mt7915_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
605
void mt7915_set_stream_he_caps(struct mt7915_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
606
void mt7915_set_stream_vht_txbf_caps(struct mt7915_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
609
int mt7915_mcu_muru_debug_get(struct mt7915_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
611
int mt7915_init_debugfs(struct mt7915_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7915/regs.h
1201
#define MT_WF_IRPI_NSS(phy, nss) MT_WF_IRPI(0x6000 + ((phy) << 20) + ((nss) << 16))
drivers/net/wireless/mediatek/mt76/mt7915/regs.h
1202
#define MT_WF_IRPI_NSS_MT7916(phy, nss) MT_WF_IRPI(0x1000 + ((phy) << 20) + ((nss) << 16))
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
106
mt7915_tm_set_trx(struct mt7915_phy *phy, int type, bool en)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
108
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
114
.param.trx.band = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
122
mt7915_tm_clean_hwq(struct mt7915_phy *phy, u8 wcid)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
124
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
129
.param.clean.band = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
137
mt7915_tm_set_slot_time(struct mt7915_phy *phy, u8 slot_time, u8 sifs)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
139
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
141
.testmode_en = !(phy->mt76->test.state == MT76_TM_STATE_OFF),
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
147
.param.slot.band = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
155
mt7915_tm_set_tam_arb(struct mt7915_phy *phy, bool enable, bool mu)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
157
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
171
mt7915_tm_set_wmm_qid(struct mt7915_phy *phy, u8 qid, u8 aifs, u8 cw_min,
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
174
struct mt7915_vif *mvif = (struct mt7915_vif *)phy->monitor_vif->drv_priv;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
186
return mt7915_mcu_update_edca(phy->dev, &req);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
190
mt7915_tm_set_ipg_params(struct mt7915_phy *phy, u32 ipg, u8 mode)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
197
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
201
u8 band = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
247
mt7915_tm_set_slot_time(phy, slot_time, sifs);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
249
return mt7915_tm_set_wmm_qid(phy,
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
255
mt7915_tm_set_tx_len(struct mt7915_phy *phy, u32 tx_time)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
257
struct mt76_phy *mphy = phy->mt76;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
327
ret = mt76_testmode_alloc_skb(phy->mt76, tx_len);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
335
mt7915_tm_reg_backup_restore(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
338
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
339
u32 *b = phy->test.reg_backup;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
340
u8 band = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
361
if (phy->mt76->test.state == MT76_TM_STATE_OFF) {
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
372
phy->test.reg_backup = b;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
38
mt7915_tm_set_tx_power(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
40
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
404
mt7915_tm_init(struct mt7915_phy *phy, bool en)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
406
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
409
if (!test_bit(MT76_STATE_RUNNING, &phy->mt76->state))
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
41
struct mt76_phy *mphy = phy->mt76;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
412
mt7915_mcu_set_sku_en(phy);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
415
mt7915_tm_reg_backup_restore(phy);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
416
mt7915_tm_set_trx(phy, TM_MAC_TXRX, !en);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
418
mt7915_mcu_add_bss_info(phy, phy->monitor_vif, en);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
420
mt7915_mcu_add_sta(dev, phy->monitor_vif, NULL, state, true);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
423
mt7915_tm_set_tam_arb(phy, en, 0);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
427
mt7915_tm_update_channel(struct mt7915_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
429
mutex_unlock(&phy->dev->mt76.mutex);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
430
mt76_update_channel(phy->mt76);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
431
mutex_lock(&phy->dev->mt76.mutex);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
433
mt7915_mcu_set_chan_info(phy, MCU_EXT_CMD(SET_RX_PATH));
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
437
mt7915_tm_set_tx_frames(struct mt7915_phy *phy, bool en)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
439
struct mt76_testmode_data *td = &phy->mt76->test;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
440
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
446
mt7915_tm_set_trx(phy, TM_MAC_RX_RXV, false);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
447
mt7915_tm_clean_hwq(phy, dev->mt76.global_wcid.idx);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
450
mt7915_tm_update_channel(phy);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
453
phy->test.spe_idx = td->tx_spe_idx;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
455
phy->test.spe_idx = mt76_connac_spe_idx(td->tx_antenna_mask);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
458
mt7915_tm_set_tam_arb(phy, en,
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
469
mt7915_tm_set_ipg_params(phy, ipg, td->tx_rate_mode);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
470
mt7915_tm_set_tx_len(phy, tx_time);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
479
info->control.vif = phy->monitor_vif;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
481
mt7915_tm_set_trx(phy, TM_MAC_TX, en);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
485
mt7915_tm_set_rx_frames(struct mt7915_phy *phy, bool en)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
487
mt7915_tm_set_trx(phy, TM_MAC_RX_RXV, false);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
490
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
492
mt7915_tm_update_channel(phy);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
495
mt76_rr(dev, MT_MIB_SDR3(phy->mt76->band_idx));
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
496
mt7915_tm_set_trx(phy, TM_MAC_RX_RXV, en);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
512
mt7915_tm_set_tx_cont(struct mt7915_phy *phy, bool en)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
516
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
517
struct cfg80211_chan_def *chandef = &phy->mt76->chandef;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
519
struct mt76_testmode_data *td = &phy->mt76->test;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
522
u8 band = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
54
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
575
sband = &phy->mt76->sband_5g.sband;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
577
sband = &phy->mt76->sband_6g.sband;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
579
sband = &phy->mt76->sband_2g.sband;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
59
if (phy->mt76->test.state != MT76_TM_STATE_OFF)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
60
tx_power = phy->mt76->test.tx_power;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
631
mt7915_tm_update_channel(phy);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
638
mt7915_tm_update_params(struct mt7915_phy *phy, u32 changed)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
640
struct mt76_testmode_data *td = &phy->mt76->test;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
641
bool en = phy->mt76->test.state != MT76_TM_STATE_OFF;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
644
mt7915_tm_set_freq_offset(phy, en, en ? td->freq_offset : 0);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
646
mt7915_tm_set_tx_power(phy);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
653
struct mt7915_phy *phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
660
mt7915_tm_set_tx_frames(phy, state == MT76_TM_STATE_TX_FRAMES);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
663
mt7915_tm_set_rx_frames(phy, state == MT76_TM_STATE_RX_FRAMES);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
666
mt7915_tm_set_tx_cont(phy, state == MT76_TM_STATE_TX_CONT);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
669
mt7915_tm_init(phy, !(state == MT76_TM_STATE_OFF));
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
685
mt7915_tm_update_params(phy, changed);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
696
struct mt7915_phy *phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
697
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
699
bool ext_phy = phy != &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
717
mt7915_tm_update_params(phy, changed);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
725
struct mt7915_phy *phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
726
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
737
if (nla_put_s32(msg, MT76_TM_RX_ATTR_FREQ_OFFSET, phy->test.last_freq_offset))
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
74
mt7915_tm_set_freq_offset(struct mt7915_phy *phy, bool en, u32 val)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
744
for (i = 0; i < ARRAY_SIZE(phy->test.last_rcpi); i++)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
745
if (nla_put_u8(msg, i, phy->test.last_rcpi[i]))
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
754
for (i = 0; i < ARRAY_SIZE(phy->test.last_ib_rssi); i++)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
755
if (nla_put_s8(msg, i, phy->test.last_ib_rssi[i]))
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
76
struct mt7915_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
764
for (i = 0; i < ARRAY_SIZE(phy->test.last_wb_rssi); i++)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
765
if (nla_put_s8(msg, i, phy->test.last_wb_rssi[i]))
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
770
if (nla_put_u8(msg, MT76_TM_RX_ATTR_SNR, phy->test.last_snr))
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
775
cnt = mt76_rr(dev, MT_MIB_SDR3(phy->mt76->band_idx));
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
779
q = phy->mt76->band_idx ? MT_RXQ_BAND1 : MT_RXQ_MAIN;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
80
.param.freq.band = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7921/init.c
19
struct mt792x_phy *phy = dev_get_drvdata(dev);
drivers/net/wireless/mediatek/mt76/mt7921/init.c
20
struct mt792x_dev *mdev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7921/init.c
238
mt7921_set_stream_he_caps(&dev->phy);
drivers/net/wireless/mediatek/mt76/mt7921/init.c
24
temperature = mt7921_mcu_get_temperature(phy);
drivers/net/wireless/mediatek/mt76/mt7921/init.c
254
ret = mt7921_thermal_init(&dev->phy);
drivers/net/wireless/mediatek/mt76/mt7921/init.c
271
dev->phy.dev = dev;
drivers/net/wireless/mediatek/mt76/mt7921/init.c
272
dev->phy.mt76 = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7921/init.c
273
dev->mt76.phy.priv = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7921/init.c
286
INIT_DELAYED_WORK(&dev->phy.scan_work, mt7921_scan_work);
drivers/net/wireless/mediatek/mt76/mt7921/init.c
292
skb_queue_head_init(&dev->phy.scan_event_list);
drivers/net/wireless/mediatek/mt76/mt7921/init.c
298
INIT_WORK(&dev->phy.roc_work, mt7921_roc_work);
drivers/net/wireless/mediatek/mt76/mt7921/init.c
299
timer_setup(&dev->phy.roc_timer, mt792x_roc_timer, 0);
drivers/net/wireless/mediatek/mt76/mt7921/init.c
300
init_waitqueue_head(&dev->phy.roc_wait);
drivers/net/wireless/mediatek/mt76/mt7921/init.c
44
static int mt7921_thermal_init(struct mt792x_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7921/init.c
46
struct wiphy *wiphy = phy->mt76->hw->wiphy;
drivers/net/wireless/mediatek/mt76/mt7921/init.c
58
hwmon = devm_hwmon_device_register_with_groups(&wiphy->dev, name, phy,
drivers/net/wireless/mediatek/mt76/mt7921/init.c
67
(!(dev->phy.clc_chan_conf & BIT(idx)) && (cfreq) >= (sfreq) && (cfreq) <= (efreq))
drivers/net/wireless/mediatek/mt76/mt7921/mac.c
161
mt76_rx_signal(msta->vif->phy->mt76->antenna_mask, rssi);
drivers/net/wireless/mediatek/mt76/mt7921/mac.c
176
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7921/mac.c
177
struct mt792x_phy *phy = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7921/mac.c
314
if (phy->rx_ampdu_ts != status->timestamp) {
drivers/net/wireless/mediatek/mt76/mt7921/mac.c
315
if (!++phy->ampdu_ref)
drivers/net/wireless/mediatek/mt76/mt7921/mac.c
316
phy->ampdu_ref++;
drivers/net/wireless/mediatek/mt76/mt7921/mac.c
318
phy->rx_ampdu_ts = status->timestamp;
drivers/net/wireless/mediatek/mt76/mt7921/mac.c
320
status->ampdu_ref = phy->ampdu_ref;
drivers/net/wireless/mediatek/mt76/mt7921/mac.c
632
struct mt792x_dev *dev = mvif->phy->dev;
drivers/net/wireless/mediatek/mt76/mt7921/mac.c
644
mt76_connac_mcu_uni_add_bss(dev->phy.mt76, vif, &mvif->sta.deflink.wcid,
drivers/net/wireless/mediatek/mt76/mt7921/mac.c
699
mt76_connac_power_save_sched(&dev->mt76.phy, pm);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1000
struct mt792x_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1002
phy = (struct mt792x_phy *)container_of(work, struct mt792x_phy,
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1009
spin_lock_bh(&phy->dev->mt76.lock);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1010
skb = __skb_dequeue(&phy->scan_event_list);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1011
spin_unlock_bh(&phy->dev->mt76.lock);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1018
ieee80211_sched_scan_results(phy->mt76->hw);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1020
&phy->mt76->state)) {
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1025
ieee80211_scan_completed(phy->mt76->hw, &info);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1098
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1109
phy->mt76->antenna_mask = tx_ant;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1110
phy->mt76->chainmask = tx_ant;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1112
mt76_set_stream_caps(phy->mt76, true);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1113
mt7921_set_stream_he_caps(phy);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1125
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1127
cancel_delayed_work_sync(&phy->scan_work);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1128
cancel_delayed_work_sync(&phy->mt76->mac_work);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1135
clear_bit(MT76_STATE_RUNNING, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1149
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1153
set_bit(MT76_STATE_RUNNING, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1159
ieee80211_queue_delayed_work(hw, &phy->mt76->mac_work,
drivers/net/wireless/mediatek/mt76/mt7921/main.c
13
mt7921_init_he_caps(struct mt792x_phy *phy, enum nl80211_band band,
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1315
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1321
err = mt76_connac_mcu_uni_add_bss(phy->mt76, vif, &mvif->sta.deflink.wcid,
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1343
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
135
if (is_mt7922(phy->mt76->dev)) {
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1353
mt76_connac_mcu_uni_add_bss(phy->mt76, vif, &mvif->sta.deflink.wcid, false,
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1386
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1396
mt792x_mutex_acquire(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1400
mt76_connac_mcu_uni_set_chctx(mvif->phy->mt76, &mvif->bss_conf.mt76, ctx);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1401
mt792x_mutex_release(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1414
mt7921_set_roc(mvif->phy, mvif, mvif->bss_conf.mt76.ctx->def.chan, duration,
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1425
mt7921_abort_roc(mvif->phy, mvif);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1446
dev = mvif->phy->dev;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1450
ret = mt76_connac_mcu_uni_set_chctx(mvif->phy->mt76, &mvif->bss_conf.mt76,
drivers/net/wireless/mediatek/mt76/mt7921/main.c
149
if (is_mt7922(phy->mt76->dev)) {
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1510
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1513
mt792x_mutex_acquire(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1514
ret = mt7921_mcu_wf_rf_pin_ctrl(phy, WF_RF_PIN_POLL);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
1515
mt792x_mutex_release(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
166
&phy->mt76->sband_5g.sband;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
17
int nss = hweight8(phy->mt76->chainmask);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
195
void mt7921_set_stream_he_caps(struct mt792x_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7921/main.c
201
if (phy->mt76->cap.has_2ghz) {
drivers/net/wireless/mediatek/mt76/mt7921/main.c
202
data = phy->iftype[NL80211_BAND_2GHZ];
drivers/net/wireless/mediatek/mt76/mt7921/main.c
203
n = mt7921_init_he_caps(phy, NL80211_BAND_2GHZ, data);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
205
band = &phy->mt76->sband_2g.sband;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
209
if (phy->mt76->cap.has_5ghz) {
drivers/net/wireless/mediatek/mt76/mt7921/main.c
210
data = phy->iftype[NL80211_BAND_5GHZ];
drivers/net/wireless/mediatek/mt76/mt7921/main.c
211
n = mt7921_init_he_caps(phy, NL80211_BAND_5GHZ, data);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
213
band = &phy->mt76->sband_5g.sband;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
216
if (phy->mt76->cap.has_6ghz) {
drivers/net/wireless/mediatek/mt76/mt7921/main.c
217
data = phy->iftype[NL80211_BAND_6GHZ];
drivers/net/wireless/mediatek/mt76/mt7921/main.c
218
n = mt7921_init_he_caps(phy, NL80211_BAND_6GHZ, data);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
220
band = &phy->mt76->sband_6g.sband;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
226
int __mt7921_start(struct mt792x_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7921/main.c
228
struct mt76_phy *mphy = phy->mt76;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
239
err = mt7921_mcu_set_chan_info(phy, MCU_EXT_CMD(SET_RX_PATH));
drivers/net/wireless/mediatek/mt76/mt7921/main.c
247
mt792x_mac_reset_counters(phy);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
253
err = mt7921_mcu_radio_led_ctrl(phy->dev, EXT_CMD_RADIO_LED_CTRL_ENABLE);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
257
err = mt7921_mcu_radio_led_ctrl(phy->dev, EXT_CMD_RADIO_ON_LED);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
262
if (phy->chip_cap & MT792x_CHIP_CAP_WF_RF_PIN_CTRL_EVT_EN) {
drivers/net/wireless/mediatek/mt76/mt7921/main.c
263
mt7921_mcu_wf_rf_pin_ctrl(phy, WF_RF_PIN_INIT);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
273
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
276
mt792x_mutex_acquire(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
277
err = __mt7921_start(phy);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
278
mt792x_mutex_release(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
304
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
317
mvif->phy = phy;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
329
phy->omac_mask |= BIT_ULL(mvif->bss_conf.mt76.omac_idx);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
350
if (phy->chip_cap & MT792x_CHIP_CAP_RSSI_NOTIFY_EVT_EN)
drivers/net/wireless/mediatek/mt76/mt7921/main.c
365
struct mt792x_phy *phy = priv;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
367
mt7921_mcu_abort_roc(phy, mvif, phy->roc_token_id);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
372
struct mt792x_phy *phy = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
374
timer_delete_sync(&phy->roc_timer);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
375
cancel_work_sync(&phy->roc_work);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
376
if (test_and_clear_bit(MT76_STATE_ROC, &phy->mt76->state))
drivers/net/wireless/mediatek/mt76/mt7921/main.c
379
mt7921_roc_iter, (void *)phy);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
385
struct mt792x_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
387
phy = (struct mt792x_phy *)container_of(work, struct mt792x_phy,
drivers/net/wireless/mediatek/mt76/mt7921/main.c
390
if (!test_and_clear_bit(MT76_STATE_ROC, &phy->mt76->state))
drivers/net/wireless/mediatek/mt76/mt7921/main.c
393
mt792x_mutex_acquire(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
394
ieee80211_iterate_active_interfaces(phy->mt76->hw,
drivers/net/wireless/mediatek/mt76/mt7921/main.c
396
mt7921_roc_iter, phy);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
397
mt792x_mutex_release(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
398
ieee80211_remain_on_channel_expired(phy->mt76->hw);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
401
static int mt7921_abort_roc(struct mt792x_phy *phy, struct mt792x_vif *vif)
drivers/net/wireless/mediatek/mt76/mt7921/main.c
405
timer_delete_sync(&phy->roc_timer);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
406
cancel_work_sync(&phy->roc_work);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
408
mt792x_mutex_acquire(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
409
if (test_and_clear_bit(MT76_STATE_ROC, &phy->mt76->state))
drivers/net/wireless/mediatek/mt76/mt7921/main.c
410
err = mt7921_mcu_abort_roc(phy, vif, phy->roc_token_id);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
411
mt792x_mutex_release(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
416
static int mt7921_set_roc(struct mt792x_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7921/main.c
424
if (test_and_set_bit(MT76_STATE_ROC, &phy->mt76->state))
drivers/net/wireless/mediatek/mt76/mt7921/main.c
427
phy->roc_grant = false;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
429
err = mt7921_mcu_set_roc(phy, vif, chan, duration, type,
drivers/net/wireless/mediatek/mt76/mt7921/main.c
430
++phy->roc_token_id);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
432
clear_bit(MT76_STATE_ROC, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
436
if (!wait_event_timeout(phy->roc_wait, phy->roc_grant, HZ)) {
drivers/net/wireless/mediatek/mt76/mt7921/main.c
437
mt7921_mcu_abort_roc(phy, vif, phy->roc_token_id);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
438
clear_bit(MT76_STATE_ROC, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
453
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
456
mt792x_mutex_acquire(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
457
err = mt7921_set_roc(phy, mvif, chan, duration, MT7921_ROC_REQ_ROC);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
458
mt792x_mutex_release(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
467
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
469
return mt7921_abort_roc(phy, mvif);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
474
struct mt792x_phy *phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
475
struct mt792x_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
479
ret = mt7921_mcu_set_chan_info(phy, MCU_EXT_CMD(CHANNEL_SWITCH));
drivers/net/wireless/mediatek/mt76/mt7921/main.c
483
mt792x_mac_set_timeing(phy);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
484
mt792x_mac_reset_counters(phy);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
485
phy->noise = 0;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
632
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
636
ret = mt76_update_channel(phy->mt76);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
695
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
703
if (slottime != phy->slottime) {
drivers/net/wireless/mediatek/mt76/mt7921/main.c
704
phy->slottime = slottime;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
705
mt792x_mac_set_timeing(phy);
drivers/net/wireless/mediatek/mt76/mt7921/main.c
764
struct mt792x_phy *phy = mvif->phy;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
765
struct mt792x_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
773
phy->power_type = MT_AP_DEFAULT;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
782
phy->power_type = MT_AP_SP;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
785
phy->power_type = MT_AP_VLP;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
788
phy->power_type = MT_AP_LPI;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
791
phy->power_type = MT_AP_UNSET;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
794
phy->power_type = MT_AP_DEFAULT;
drivers/net/wireless/mediatek/mt76/mt7921/main.c
87
if (is_mt7922(phy->mt76->dev)) {
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
1225
return mt76_mcu_send_msg(vif->phy->mt76->dev, MCU_UNI_CMD(SNIFFER),
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
130
struct mt76_phy *phy = priv;
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
132
mt7921_mcu_set_ipv6_ns_filter(phy->dev, vif,
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
1333
.env_6g = dev->phy.power_type,
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
1334
.acpi_conf = mt792x_acpi_get_flags(&dev->phy),
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
1335
.mtcl_conf = mt792x_acpi_get_mtcl_conf(&dev->phy, alpha2),
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
134
&phy->state));
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
1344
if (dev->phy.chip_cap & MT792x_CHIP_CAP_CLC_EVT_EN)
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
1384
dev->phy.clc_chan_conf = info->chan_conf;
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
1400
struct mt792x_phy *phy = (struct mt792x_phy *)&dev->phy;
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
1404
for (i = 0; i < ARRAY_SIZE(phy->clc); i++) {
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
1406
phy->clc[i], i);
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
1412
phy->clc[i], i);
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
1419
int mt7921_mcu_get_temperature(struct mt792x_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
1421
struct mt792x_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
1429
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
1436
int mt7921_mcu_wf_rf_pin_ctrl(struct mt792x_phy *phy, u8 action)
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
1438
struct mt792x_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
156
ieee80211_ready_on_channel(dev->mt76.phy.hw);
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
158
dev->phy.roc_grant = true;
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
159
wake_up(&dev->phy.roc_wait);
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
161
mod_timer(&dev->phy.roc_timer,
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
168
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
169
struct mt792x_phy *phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
172
__skb_queue_tail(&phy->scan_event_list, skb);
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
175
ieee80211_queue_delayed_work(mphy->hw, &phy->scan_work,
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
200
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
419
struct mt792x_phy *phy = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
424
dev->phy.clc_chan_conf = 0xff;
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
474
if (phy->clc[clc->idx])
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
482
phy->clc[clc->idx] = devm_kmemdup(mdev->dev, clc,
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
486
if (!phy->clc[clc->idx]) {
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
550
dev->phy.antenna_mask = BIT(cap->nss) - 1;
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
551
dev->phy.chainmask = dev->phy.antenna_mask;
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
552
dev->phy.cap.has_2ghz = cap->hw_path & BIT(WF0_24G);
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
553
dev->phy.cap.has_5ghz = cap->hw_path & BIT(WF0_5G);
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
563
struct mt76_phy *phy = mphy->mt76;
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
566
ret = mt76_mcu_send_and_get_msg(phy->dev, MCU_CE_CMD(GET_NIC_CAPAB),
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
597
phy->cap.has_6ghz = skb->data[0];
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
600
memcpy(phy->macaddr, (void *)skb->data, ETH_ALEN);
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
603
mt7921_mcu_parse_phy_cap(phy->dev, skb);
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
606
if (mt76_is_sdio(phy->dev))
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
607
mt7921_mcu_parse_tx_resource(phy->dev,
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
645
err = mt7921_mcu_get_nic_capability(&dev->phy);
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
766
int mt7921_mcu_set_roc(struct mt792x_phy *phy, struct mt792x_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
771
struct mt792x_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
833
int mt7921_mcu_abort_roc(struct mt792x_phy *phy, struct mt792x_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
836
struct mt792x_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
863
int mt7921_mcu_set_chan_info(struct mt792x_phy *phy, int cmd)
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
865
struct mt792x_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
866
struct cfg80211_chan_def *chandef = &phy->mt76->chandef;
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
889
.tx_streams_num = hweight8(phy->mt76->antenna_mask),
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
890
.rx_streams = phy->mt76->antenna_mask,
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
891
.band_idx = phy != &dev->phy,
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
902
else if (phy->mt76->offchannel)
drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h
188
int __mt7921_start(struct mt792x_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h
198
int mt7921_mcu_set_chan_info(struct mt792x_phy *phy, int cmd);
drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h
201
int mt7921_mcu_get_rx_rate(struct mt792x_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h
208
int mt7921_mcu_wf_rf_pin_ctrl(struct mt792x_phy *phy, u8 action);
drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h
266
void mt7921_set_stream_he_caps(struct mt792x_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h
311
int mt7921_mcu_get_temperature(struct mt792x_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h
331
int mt7921_mcu_set_roc(struct mt792x_phy *phy, struct mt792x_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h
334
int mt7921_mcu_abort_roc(struct mt792x_phy *phy, struct mt792x_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7921/pci.c
179
ret = mt76_connac_init_tx_queues(dev->phy.mt76, MT7921_TXQ_BAND0,
drivers/net/wireless/mediatek/mt76/mt7921/pci.c
331
dev->phy.dev = dev;
drivers/net/wireless/mediatek/mt76/mt7921/pci.c
332
dev->phy.mt76 = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7921/pci.c
333
dev->mt76.phy.priv = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7921/pci.c
410
set_bit(MT76_REMOVED, &mdev->phy.state);
drivers/net/wireless/mediatek/mt76/mt7921/pci.c
47
if (dev->phy.chip_cap & MT792x_CHIP_CAP_WF_RF_PIN_CTRL_EVT_EN)
drivers/net/wireless/mediatek/mt76/mt7921/pci_mac.c
118
err = __mt7921_start(&dev->phy);
drivers/net/wireless/mediatek/mt76/mt7921/sdio.c
216
set_bit(MT76_STATE_SUSPEND, &mdev->phy.state);
drivers/net/wireless/mediatek/mt76/mt7921/sdio.c
274
clear_bit(MT76_STATE_SUSPEND, &mdev->phy.state);
drivers/net/wireless/mediatek/mt76/mt7921/sdio.c
291
clear_bit(MT76_STATE_SUSPEND, &mdev->phy.state);
drivers/net/wireless/mediatek/mt76/mt7921/sdio_mac.c
193
err = __mt7921_start(&dev->phy);
drivers/net/wireless/mediatek/mt76/mt7921/sdio_mcu.c
103
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7921/sdio_mcu.c
139
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7921/testmode.c
116
struct mt792x_phy *phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7921/testmode.c
142
return mt7921_tm_set(phy->dev, nla_data(data));
drivers/net/wireless/mediatek/mt76/mt7921/testmode.c
153
struct mt792x_phy *phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7921/testmode.c
185
err = mt7921_tm_query(phy->dev, nla_data(data),
drivers/net/wireless/mediatek/mt76/mt7921/testmode.c
43
struct mt76_phy *phy = &dev->mphy;
drivers/net/wireless/mediatek/mt76/mt7921/testmode.c
62
phy->test.state = MT76_TM_STATE_ON;
drivers/net/wireless/mediatek/mt76/mt7921/testmode.c
65
if (!mt76_testmode_enabled(phy))
drivers/net/wireless/mediatek/mt76/mt7921/testmode.c
75
phy->test.state = MT76_TM_STATE_OFF;
drivers/net/wireless/mediatek/mt76/mt7921/usb.c
135
err = __mt7921_start(&dev->phy);
drivers/net/wireless/mediatek/mt76/mt7925/init.c
155
mt7925_set_stream_he_eht_caps(&dev->phy);
drivers/net/wireless/mediatek/mt76/mt7925/init.c
158
ret = mt7925_init_mlo_caps(&dev->phy);
drivers/net/wireless/mediatek/mt76/mt7925/init.c
177
ret = mt7925_thermal_init(&dev->phy);
drivers/net/wireless/mediatek/mt76/mt7925/init.c
20
struct mt792x_phy *phy = dev_get_drvdata(dev);
drivers/net/wireless/mediatek/mt76/mt7925/init.c
200
dev->phy.dev = dev;
drivers/net/wireless/mediatek/mt76/mt7925/init.c
201
dev->phy.mt76 = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7925/init.c
202
dev->mt76.phy.priv = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7925/init.c
21
struct mt792x_dev *mdev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7925/init.c
214
INIT_DELAYED_WORK(&dev->phy.scan_work, mt7925_scan_work);
drivers/net/wireless/mediatek/mt76/mt7925/init.c
220
skb_queue_head_init(&dev->phy.scan_event_list);
drivers/net/wireless/mediatek/mt76/mt7925/init.c
226
INIT_WORK(&dev->phy.roc_work, mt7925_roc_work);
drivers/net/wireless/mediatek/mt76/mt7925/init.c
227
timer_setup(&dev->phy.roc_timer, mt792x_roc_timer, 0);
drivers/net/wireless/mediatek/mt76/mt7925/init.c
228
init_waitqueue_head(&dev->phy.roc_wait);
drivers/net/wireless/mediatek/mt76/mt7925/init.c
25
temperature = mt7925_mcu_get_temperature(phy);
drivers/net/wireless/mediatek/mt76/mt7925/init.c
45
static int mt7925_thermal_init(struct mt792x_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7925/init.c
47
struct wiphy *wiphy = phy->mt76->hw->wiphy;
drivers/net/wireless/mediatek/mt76/mt7925/init.c
59
hwmon = devm_hwmon_device_register_with_groups(&wiphy->dev, name, phy,
drivers/net/wireless/mediatek/mt76/mt7925/mac.c
1262
struct mt792x_dev *dev = mvif->phy->dev;
drivers/net/wireless/mediatek/mt76/mt7925/mac.c
1281
mt76_connac_mcu_uni_add_bss(dev->phy.mt76, vif, &mvif->sta.deflink.wcid,
drivers/net/wireless/mediatek/mt76/mt7925/mac.c
1332
mt76_connac_power_save_sched(&dev->mt76.phy, pm);
drivers/net/wireless/mediatek/mt76/mt7925/mac.c
1334
mt7925_regd_change(&dev->phy, "00");
drivers/net/wireless/mediatek/mt76/mt7925/mac.c
151
mt76_rx_signal(msta->vif->phy->mt76->antenna_mask, rssi);
drivers/net/wireless/mediatek/mt76/mt7925/mac.c
362
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7925/mac.c
363
struct mt792x_phy *phy = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7925/mac.c
495
if (phy->rx_ampdu_ts != status->timestamp) {
drivers/net/wireless/mediatek/mt76/mt7925/mac.c
496
if (!++phy->ampdu_ref)
drivers/net/wireless/mediatek/mt76/mt7925/mac.c
497
phy->ampdu_ref++;
drivers/net/wireless/mediatek/mt76/mt7925/mac.c
499
phy->rx_ampdu_ts = status->timestamp;
drivers/net/wireless/mediatek/mt76/mt7925/mac.c
501
status->ampdu_ref = phy->ampdu_ref;
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1012
mt7925_abort_roc(mvif->phy, &mvif->bss_conf);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1016
mt7925_set_mlo_roc(mvif->phy, &mvif->bss_conf, sel_links);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1048
mt7925_mcu_add_bss_info(&dev->phy, mconf->mt76.ctx,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1117
mt7925_mcu_add_bss_info(&dev->phy, mconf->mt76.ctx, link_conf,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1162
mt7925_mcu_add_bss_info(&dev->phy, mconf->mt76.ctx, link_conf,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1228
mt7925_mcu_set_rts_thresh(&dev->phy, val);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1325
struct mt792x_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1327
phy = (struct mt792x_phy *)container_of(work, struct mt792x_phy,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1335
spin_lock_bh(&phy->dev->mt76.lock);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1336
skb = __skb_dequeue(&phy->scan_event_list);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1337
spin_unlock_bh(&phy->dev->mt76.lock);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1351
if (test_and_clear_bit(MT76_HW_SCANNING, &phy->mt76->state)) {
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1355
ieee80211_scan_completed(phy->mt76->hw, &info);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1361
mt7925_regd_change(phy, evt->alpha2);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1365
ieee80211_sched_scan_results(phy->mt76->hw);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
143
&phy->mt76->sband_5g.sband;
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1446
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1457
phy->mt76->antenna_mask = tx_ant;
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1458
phy->mt76->chainmask = tx_ant;
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1460
mt76_set_stream_caps(phy->mt76, true);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1461
mt7925_set_stream_he_eht_caps(phy);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1474
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1476
cancel_delayed_work_sync(&phy->scan_work);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1477
cancel_delayed_work_sync(&phy->mt76->mac_work);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1484
clear_bit(MT76_STATE_RUNNING, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1498
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1502
set_bit(MT76_STATE_RUNNING, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1508
ieee80211_queue_delayed_work(hw, &phy->mt76->mac_work,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
16
mt7925_init_he_caps(struct mt792x_phy *phy, enum nl80211_band band,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
161
mt7925_init_eht_caps(struct mt792x_phy *phy, enum nl80211_band band,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
167
enum nl80211_chan_width width = phy->mt76->chandef.width;
drivers/net/wireless/mediatek/mt76/mt7925/main.c
168
int nss = hweight8(phy->mt76->antenna_mask);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
169
int sts = hweight16(phy->mt76->chainmask);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1710
err = mt7925_mcu_add_bss_info(&dev->phy, mvif->bss_conf.mt76.ctx,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
172
if (!phy->dev->has_eht)
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1741
mt7925_mcu_add_bss_info(&dev->phy, mvif->bss_conf.mt76.ctx, link_conf,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1767
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1779
mt792x_mutex_acquire(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1781
mt7925_mcu_set_sniffer(mvif->phy->dev, vif, true);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1802
mt7925_mcu_set_chctx(mvif->phy->mt76, &mconf->mt76,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1806
mt7925_mcu_set_eht_pp(mvif->phy->mt76, &mconf->mt76,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1811
mt792x_mutex_release(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1824
mt7925_set_roc(mvif->phy, &mvif->bss_conf,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1836
mt7925_abort_roc(mvif->phy, &mvif->bss_conf);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1894
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1907
if (slottime != phy->slottime) {
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1908
phy->slottime = slottime;
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1909
mt7925_mcu_set_timing(phy, info);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1943
mt7925_mcu_set_eht_pp(mvif->phy->mt76, &mconf->mt76,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
1963
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
2032
err = mt7925_set_mlo_roc(phy, &mvif->bss_conf,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
2108
mt7925_mcu_add_bss_info(&dev->phy, NULL, pri_link_conf,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
2138
mt7925_mcu_add_bss_info(&dev->phy, NULL, link_conf,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
2151
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
2154
mt792x_mutex_acquire(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
2155
ret = mt7925_mcu_wf_rf_pin_ctrl(phy);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
2156
mt792x_mutex_release(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
23
int i, nss = hweight8(phy->mt76->antenna_mask);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
244
int mt7925_init_mlo_caps(struct mt792x_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7925/main.c
246
struct wiphy *wiphy = phy->mt76->hw->wiphy;
drivers/net/wireless/mediatek/mt76/mt7925/main.c
260
if (!(phy->chip_cap & MT792x_CHIP_CAP_MLO_EN))
drivers/net/wireless/mediatek/mt76/mt7925/main.c
263
ext_capab[0].eml_capabilities = phy->eml_cap;
drivers/net/wireless/mediatek/mt76/mt7925/main.c
275
__mt7925_set_stream_he_eht_caps(struct mt792x_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
279
struct ieee80211_sband_iftype_data *data = phy->iftype[band];
drivers/net/wireless/mediatek/mt76/mt7925/main.c
292
mt7925_init_he_caps(phy, band, &data[n], i);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
293
mt7925_init_eht_caps(phy, band, &data[n]);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
301
void mt7925_set_stream_he_eht_caps(struct mt792x_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7925/main.c
303
if (phy->mt76->cap.has_2ghz)
drivers/net/wireless/mediatek/mt76/mt7925/main.c
304
__mt7925_set_stream_he_eht_caps(phy, &phy->mt76->sband_2g.sband,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
307
if (phy->mt76->cap.has_5ghz)
drivers/net/wireless/mediatek/mt76/mt7925/main.c
308
__mt7925_set_stream_he_eht_caps(phy, &phy->mt76->sband_5g.sband,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
311
if (phy->mt76->cap.has_6ghz)
drivers/net/wireless/mediatek/mt76/mt7925/main.c
312
__mt7925_set_stream_he_eht_caps(phy, &phy->mt76->sband_6g.sband,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
316
int __mt7925_start(struct mt792x_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7925/main.c
318
struct mt76_phy *mphy = phy->mt76;
drivers/net/wireless/mediatek/mt76/mt7925/main.c
325
err = mt7925_mcu_set_rts_thresh(phy, 0x92b);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
329
mt792x_mac_reset_counters(phy);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
335
if (phy->chip_cap & MT792x_CHIP_CAP_WF_RF_PIN_CTRL_EVT_EN)
drivers/net/wireless/mediatek/mt76/mt7925/main.c
344
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
347
mt792x_mutex_acquire(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
348
err = __mt7925_start(phy);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
349
mt792x_mutex_release(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
382
if (mvif->phy->mt76->chandef.chan->band != NL80211_BAND_2GHZ)
drivers/net/wireless/mediatek/mt76/mt7925/main.c
388
mvif->phy->omac_mask |= BIT_ULL(mconf->mt76.omac_idx);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
422
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
427
mvif->phy = phy;
drivers/net/wireless/mediatek/mt76/mt7925/main.c
438
if (phy->chip_cap & MT792x_CHIP_CAP_RSSI_NOTIFY_EVT_EN)
drivers/net/wireless/mediatek/mt76/mt7925/main.c
451
struct mt792x_phy *phy = priv;
drivers/net/wireless/mediatek/mt76/mt7925/main.c
453
mt7925_mcu_abort_roc(phy, &mvif->bss_conf, phy->roc_token_id);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
458
struct mt792x_phy *phy = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7925/main.c
460
timer_delete_sync(&phy->roc_timer);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
461
cancel_work_sync(&phy->roc_work);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
462
if (test_and_clear_bit(MT76_STATE_ROC, &phy->mt76->state))
drivers/net/wireless/mediatek/mt76/mt7925/main.c
465
mt7925_roc_iter, (void *)phy);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
471
struct mt792x_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7925/main.c
473
phy = (struct mt792x_phy *)container_of(work, struct mt792x_phy,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
476
if (!test_and_clear_bit(MT76_STATE_ROC, &phy->mt76->state))
drivers/net/wireless/mediatek/mt76/mt7925/main.c
479
mt792x_mutex_acquire(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
480
ieee80211_iterate_active_interfaces(phy->mt76->hw,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
482
mt7925_roc_iter, phy);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
483
mt792x_mutex_release(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
484
ieee80211_remain_on_channel_expired(phy->mt76->hw);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
487
static int mt7925_abort_roc(struct mt792x_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
492
timer_delete_sync(&phy->roc_timer);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
493
cancel_work_sync(&phy->roc_work);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
495
mt792x_mutex_acquire(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
496
if (test_and_clear_bit(MT76_STATE_ROC, &phy->mt76->state))
drivers/net/wireless/mediatek/mt76/mt7925/main.c
497
err = mt7925_mcu_abort_roc(phy, mconf, phy->roc_token_id);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
498
mt792x_mutex_release(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
503
static int mt7925_set_roc(struct mt792x_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
511
if (test_and_set_bit(MT76_STATE_ROC, &phy->mt76->state))
drivers/net/wireless/mediatek/mt76/mt7925/main.c
514
phy->roc_grant = false;
drivers/net/wireless/mediatek/mt76/mt7925/main.c
516
err = mt7925_mcu_set_roc(phy, mconf, chan, duration, type,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
517
++phy->roc_token_id);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
519
clear_bit(MT76_STATE_ROC, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
523
if (!wait_event_timeout(phy->roc_wait, phy->roc_grant, 4 * HZ)) {
drivers/net/wireless/mediatek/mt76/mt7925/main.c
524
mt7925_mcu_abort_roc(phy, mconf, phy->roc_token_id);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
525
clear_bit(MT76_STATE_ROC, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
533
static int mt7925_set_mlo_roc(struct mt792x_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
539
if (WARN_ON_ONCE(test_and_set_bit(MT76_STATE_ROC, &phy->mt76->state)))
drivers/net/wireless/mediatek/mt76/mt7925/main.c
542
phy->roc_grant = false;
drivers/net/wireless/mediatek/mt76/mt7925/main.c
544
err = mt7925_mcu_set_mlo_roc(mconf, sel_links, 5, ++phy->roc_token_id);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
546
clear_bit(MT76_STATE_ROC, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
550
if (!wait_event_timeout(phy->roc_wait, phy->roc_grant, 4 * HZ)) {
drivers/net/wireless/mediatek/mt76/mt7925/main.c
551
mt7925_mcu_abort_roc(phy, mconf, phy->roc_token_id);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
552
clear_bit(MT76_STATE_ROC, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
567
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
570
mt792x_mutex_acquire(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
571
err = mt7925_set_roc(phy, &mvif->bss_conf,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
573
mt792x_mutex_release(phy->dev);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
582
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
584
return mt7925_abort_roc(phy, &mvif->bss_conf);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
633
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt7925/main.c
636
mt7925_mcu_add_bss_info(phy, mconf->mt76.ctx, link_conf,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
894
mt7925_mcu_add_bss_info(&dev->phy, mconf->mt76.ctx,
drivers/net/wireless/mediatek/mt76/mt7925/main.c
897
mt7925_mcu_add_bss_info(&dev->phy, mconf->mt76.ctx,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
1394
return mt76_mcu_send_msg(&mvif->phy->dev->mt76, MCU_UNI_CMD(ROC),
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
1398
int mt7925_mcu_set_roc(struct mt792x_phy *phy, struct mt792x_bss_conf *mconf,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
1403
struct mt792x_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
1447
int mt7925_mcu_abort_roc(struct mt792x_phy *phy, struct mt792x_bss_conf *mconf,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
1450
struct mt792x_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
160
mt7925_connac_mcu_set_wow_ctrl(struct mt76_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
165
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
1770
struct sta_rec_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
1779
tlv = mt76_connac_mcu_add_tlv(skb, STA_REC_PHY, sizeof(*phy));
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
1780
phy = (struct sta_rec_phy *)tlv;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
1781
phy->phy_type = mt76_connac_get_phy_mode_v2(mvif->phy->mt76, vif,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
1784
phy->basic_rate = cpu_to_le16((u16)link_conf->basic_rates);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
1804
phy->ampdu = FIELD_PREP(IEEE80211_HT_AMPDU_PARM_FACTOR, af) |
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
1806
phy->max_ampdu_len = af;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
1881
struct wiphy *wiphy = mvif->phy->mt76->hw->wiphy;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
195
mt7925_mcu_sched_scan_req(phy, vif, wowlan->nd_config, &ies);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
1958
mt7925_mcu_sta_cmd(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
1962
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
197
mt7925_mcu_sched_scan_enable(phy, vif, suspend);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
1991
mt7925_mcu_sta_state_v2_tlv(phy, skb, info->link_sta,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2128
struct mt76_phy *mphy = vif->phy->mt76;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2283
void mt7925_mcu_bss_rlm_tlv(struct sk_buff *skb, struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2299
req->tx_streams = hweight8(phy->antenna_mask);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2301
req->rx_streams = hweight8(phy->antenna_mask);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2372
void mt7925_mcu_bss_eht_tlv(struct sk_buff *skb, struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2388
int mt7925_mcu_set_eht_pp(struct mt76_phy *phy, struct mt76_vif_link *mvif,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2394
skb = __mt7925_mcu_alloc_bss_req(phy->dev, mvif,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2399
mt7925_mcu_bss_eht_tlv(skb, phy, link_conf, ctx);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2401
return mt76_mcu_skb_send_msg(phy->dev, skb,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2405
int mt7925_mcu_set_chctx(struct mt76_phy *phy, struct mt76_vif_link *mvif,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2411
skb = __mt7925_mcu_alloc_bss_req(phy->dev, mvif,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2416
mt7925_mcu_bss_rlm_tlv(skb, phy, link_conf, ctx);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2418
return mt76_mcu_skb_send_msg(phy->dev, skb,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2423
mt7925_get_phy_mode_ext(struct mt76_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2438
sband = phy->hw->wiphy->bands[band];
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2473
struct mt76_phy *phy, u16 wlan_idx,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2494
basic_req->phymode_ext = mt7925_get_phy_mode_ext(phy, vif, band,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2503
basic_req->phymode = mt76_connac_get_phy_mode(phy, vif, band, link_sta);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
252
struct mt76_phy *phy = priv;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
253
bool suspend = !test_bit(MT76_STATE_RUNNING, &phy->state);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
254
struct ieee80211_hw *hw = phy->hw;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
258
mt76_connac_mcu_set_gtk_rekey(phy->dev, vif, suspend);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
260
mt76_connac_mcu_set_suspend_mode(phy->dev, vif, suspend, 1, true);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2601
mt7925_mcu_bss_bmc_tlv(struct sk_buff *skb, struct mt792x_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
263
mt7925_mcu_set_wow_pattern(phy->dev, vif, i, suspend,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2636
struct mt792x_phy *phy = mvif->phy;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
265
mt7925_connac_mcu_set_wow_ctrl(phy, vif, suspend, wowlan);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2653
if (phy->chip_cap & MT792x_CHIP_CAP_MLO_EML_EN) {
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2695
struct mt792x_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2703
cap = mt76_connac_get_he_phy_cap(phy->mt76, link_conf->vif);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2742
struct mt792x_phy *phy = mvif->phy;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2749
ifs_time->slot_time = cpu_to_le16(phy->slottime);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2752
int mt7925_mcu_set_timing(struct mt792x_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2756
struct mt792x_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2826
int mt7925_mcu_add_bss_info(struct mt792x_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2834
struct mt792x_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2846
mt7925_mcu_bss_basic_tlv(skb, link_conf, link_sta, ctx, phy->mt76,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2849
mt7925_mcu_bss_bmc_tlv(skb, phy, ctx, link_conf);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2855
mt7925_mcu_bss_he_tlv(skb, link_conf, phy);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2860
mt7925_mcu_bss_rlm_tlv(skb, phy->mt76, link_conf, ctx);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2868
int mt7925_mcu_set_dbdc(struct mt76_phy *phy, bool enable)
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2870
struct mt76_dev *mdev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
291
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2945
int mt7925_mcu_hw_scan(struct mt76_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2952
struct mt76_dev *mdev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2965
if (test_bit(MT76_HW_SCANNING, &phy->state))
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
2977
set_bit(MT76_HW_SCANNING, &phy->state);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3069
clear_bit(MT76_HW_SCANNING, &phy->state);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3075
int mt7925_mcu_sched_scan_req(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3083
struct mt76_dev *mdev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3175
mt7925_mcu_sched_scan_enable(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3179
struct mt76_dev *mdev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3201
set_bit(MT76_HW_SCHED_SCANNING, &phy->state);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3203
clear_bit(MT76_HW_SCHED_SCANNING, &phy->state);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3209
int mt7925_mcu_cancel_hw_scan(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3236
if (test_and_clear_bit(MT76_HW_SCANNING, &phy->state)) {
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3241
ieee80211_scan_completed(phy->hw, &info);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3244
return mt76_mcu_send_msg(phy->dev, MCU_UNI_CMD(SCAN_REQ),
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3249
int mt7925_mcu_set_channel_domain(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3288
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3292
n_max_channels = phy->sband_2g.sband.n_channels +
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3293
phy->sband_5g.sband.n_channels +
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3294
phy->sband_6g.sband.n_channels;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3303
for (i = 0; i < phy->sband_2g.sband.n_channels; i++) {
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3304
chan = &phy->sband_2g.sband.channels[i];
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3315
for (i = 0; i < phy->sband_5g.sband.n_channels; i++) {
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3316
chan = &phy->sband_5g.sband.channels[i];
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3327
for (i = 0; i < phy->sband_6g.sband.n_channels; i++) {
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3328
chan = &phy->sband_6g.sband.channels[i];
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
334
dev->phy.roc_grant = true;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
335
wake_up(&dev->phy.roc_wait);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
337
mod_timer(&dev->phy.roc_timer,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3407
dev->phy.clc_chan_conf = clc->ver == 1 ? 0xff : rule->flag;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3424
dev->phy.clc_chan_conf = 0xff;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3434
struct mt792x_phy *phy = (struct mt792x_phy *)&dev->phy;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3437
if (!ARRAY_SIZE(phy->clc))
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3441
for (i = 0; i < ARRAY_SIZE(phy->clc); i++) {
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3446
phy->clc[i], i);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3452
phy->clc[i], i);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3550
int mt7925_mcu_set_rts_thresh(struct mt792x_phy *phy, u32 val)
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3561
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3568
return mt76_mcu_send_msg(&phy->dev->mt76, MCU_UNI_CMD(BAND_CONFIG),
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3572
int mt7925_mcu_set_radio_en(struct mt792x_phy *phy, bool enable)
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3583
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3589
return mt76_mcu_send_msg(&phy->dev->mt76, MCU_UNI_CMD(BAND_CONFIG),
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3639
mt7925_mcu_rate_txpower_band(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3644
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3681
tx_power = 2 * phy->hw->conf.power_level;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3751
reg_power = mt76_connac_get_ch_power(phy, &chan,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3753
sar_power = mt76_get_sar_power(phy, &chan, reg_power);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3755
mt76_get_rate_power_limits(phy, &chan, limits,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3778
int mt7925_mcu_set_rate_txpower(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3780
struct mt76_dev *mdev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3784
if (phy->cap.has_2ghz) {
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3785
err = mt7925_mcu_rate_txpower_band(phy,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3791
if (phy->cap.has_5ghz) {
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3792
err = mt7925_mcu_rate_txpower_band(phy,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3798
if (phy->cap.has_6ghz && dev->phy.clc_chan_conf) {
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3799
err = mt7925_mcu_rate_txpower_band(phy,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3808
int mt7925_mcu_wf_rf_pin_ctrl(struct mt792x_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3811
struct mt792x_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3848
struct mt792x_phy *phy = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3862
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
3872
return mt76_mcu_send_msg(&phy->dev->mt76, MCU_UNI_CMD(BAND_CONFIG),
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
408
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
409
struct mt792x_phy *phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
412
__skb_queue_tail(&phy->scan_event_list, skb);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
415
ieee80211_queue_delayed_work(mphy->hw, &phy->scan_work,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
735
struct mt792x_phy *phy = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
740
dev->phy.clc_chan_conf = 0xff;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
789
if (clc->idx >= ARRAY_SIZE(phy->clc))
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
793
if (phy->clc[clc->idx])
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
802
phy->clc[clc->idx] = devm_kmemdup(mdev->dev, clc,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
806
if (!phy->clc[clc->idx]) {
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
812
ret = mt7925_regd_init(phy);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
841
int mt7925_mcu_get_temperature(struct mt792x_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
857
struct mt792x_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
880
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
904
mdev->phy.antenna_mask = BIT(cap->nss) - 1;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
905
mdev->phy.chainmask = mdev->phy.antenna_mask;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
906
mdev->phy.cap.has_2ghz = cap->hw_path & BIT(WF0_24G);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
907
mdev->phy.cap.has_5ghz = cap->hw_path & BIT(WF0_5G);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
921
dev->phy.eml_cap = le16_to_cpu(cap->eml_cap);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
927
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
979
dev->phy.chip_cap = le64_to_cpu(*(__le64 *)tlv->data);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
677
int mt7925_mcu_set_dbdc(struct mt76_phy *phy, bool enable);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
678
int mt7925_mcu_hw_scan(struct mt76_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
680
int mt7925_mcu_cancel_hw_scan(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
682
int mt7925_mcu_sched_scan_req(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
686
int mt7925_mcu_sched_scan_enable(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
691
int mt7925_mcu_add_bss_info(struct mt792x_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
696
int mt7925_mcu_set_timing(struct mt792x_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
700
int mt7925_mcu_set_channel_domain(struct mt76_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
701
int mt7925_mcu_set_radio_en(struct mt792x_phy *phy, bool enable);
drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
702
int mt7925_mcu_set_chctx(struct mt76_phy *phy, struct mt76_vif_link *mvif,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
705
int mt7925_mcu_set_eht_pp(struct mt76_phy *phy, struct mt76_vif_link *mvif,
drivers/net/wireless/mediatek/mt76/mt7925/mcu.h
708
int mt7925_mcu_set_rate_txpower(struct mt76_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7925/mt7925.h
244
int __mt7925_start(struct mt792x_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7925/mt7925.h
255
int mt7925_mcu_set_chan_info(struct mt792x_phy *phy, u16 tag);
drivers/net/wireless/mediatek/mt76/mt7925/mt7925.h
258
int mt7925_mcu_get_rx_rate(struct mt792x_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7925/mt7925.h
285
void mt7925_set_stream_he_eht_caps(struct mt792x_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7925/mt7925.h
286
int mt7925_init_mlo_caps(struct mt792x_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7925/mt7925.h
332
int mt7925_mcu_get_temperature(struct mt792x_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7925/mt7925.h
354
int mt7925_mcu_set_roc(struct mt792x_phy *phy, struct mt792x_bss_conf *mconf,
drivers/net/wireless/mediatek/mt76/mt7925/mt7925.h
357
int mt7925_mcu_abort_roc(struct mt792x_phy *phy, struct mt792x_bss_conf *mconf,
drivers/net/wireless/mediatek/mt76/mt7925/mt7925.h
367
int mt7925_mcu_set_rts_thresh(struct mt792x_phy *phy, u32 val);
drivers/net/wireless/mediatek/mt76/mt7925/mt7925.h
372
int mt7925_mcu_wf_rf_pin_ctrl(struct mt792x_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7925/pci.c
224
ret = mt76_connac_init_tx_queues(dev->phy.mt76, MT7925_TXQ_BAND0,
drivers/net/wireless/mediatek/mt76/mt7925/pci.c
365
dev->phy.dev = dev;
drivers/net/wireless/mediatek/mt76/mt7925/pci.c
366
dev->phy.mt76 = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7925/pci.c
367
dev->mt76.phy.priv = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7925/pci.c
37
if (dev->phy.chip_cap & MT792x_CHIP_CAP_WF_RF_PIN_CTRL_EVT_EN)
drivers/net/wireless/mediatek/mt76/mt7925/pci.c
438
set_bit(MT76_REMOVED, &mdev->phy.state);
drivers/net/wireless/mediatek/mt76/mt7925/pci_mac.c
144
err = __mt7925_start(&dev->phy);
drivers/net/wireless/mediatek/mt76/mt7925/regd.c
220
int mt7925_regd_change(struct mt792x_phy *phy, char *alpha2)
drivers/net/wireless/mediatek/mt76/mt7925/regd.c
222
struct wiphy *wiphy = phy->mt76->hw->wiphy;
drivers/net/wireless/mediatek/mt76/mt7925/regd.c
23
struct mt792x_phy *phy = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7925/regd.c
242
if (phy->chip_cap & MT792x_CHIP_CAP_11D_EN) {
drivers/net/wireless/mediatek/mt76/mt7925/regd.c
250
int mt7925_regd_init(struct mt792x_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7925/regd.c
252
struct wiphy *wiphy = phy->mt76->hw->wiphy;
drivers/net/wireless/mediatek/mt76/mt7925/regd.c
257
if (phy->chip_cap & MT792x_CHIP_CAP_11D_EN) {
drivers/net/wireless/mediatek/mt76/mt7925/regd.c
27
u32 mtcl_conf = mt792x_acpi_get_mtcl_conf(&dev->phy, alpha2);
drivers/net/wireless/mediatek/mt76/mt7925/regd.c
36
if (!phy->clc[MT792x_CLC_BE_CTRL])
drivers/net/wireless/mediatek/mt76/mt7925/regd.c
39
clc = (struct mt7925_clc *)phy->clc[MT792x_CLC_BE_CTRL];
drivers/net/wireless/mediatek/mt76/mt7925/regd.c
63
mt7925_set_stream_he_eht_caps(phy);
drivers/net/wireless/mediatek/mt76/mt7925/regd.c
70
(!(dev->phy.clc_chan_conf & BIT(idx)) && (cfreq) >= (sfreq) && (cfreq) <= (efreq))
drivers/net/wireless/mediatek/mt76/mt7925/regd.c
76
u32 mtcl_conf = mt792x_acpi_get_mtcl_conf(&dev->phy, mdev->alpha2);
drivers/net/wireless/mediatek/mt76/mt7925/regd.c
81
dev->phy.clc_chan_conf &= ~MT7925_UNII_59G_IS_VALID;
drivers/net/wireless/mediatek/mt76/mt7925/regd.c
83
dev->phy.clc_chan_conf &= ~MT7925_UNII_6G_IS_VALID;
drivers/net/wireless/mediatek/mt76/mt7925/regd.h
15
int mt7925_regd_change(struct mt792x_phy *phy, char *alpha2);
drivers/net/wireless/mediatek/mt76/mt7925/regd.h
16
int mt7925_regd_init(struct mt792x_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7925/testmode.c
121
struct mt792x_phy *phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7925/testmode.c
147
return mt7925_tm_set(phy->dev, nla_data(data));
drivers/net/wireless/mediatek/mt76/mt7925/testmode.c
158
struct mt792x_phy *phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7925/testmode.c
190
err = mt7925_tm_query(phy->dev, nla_data(data),
drivers/net/wireless/mediatek/mt76/mt7925/testmode.c
41
struct mt76_phy *phy = &dev->mphy;
drivers/net/wireless/mediatek/mt76/mt7925/testmode.c
63
phy->test.state = MT76_TM_STATE_ON;
drivers/net/wireless/mediatek/mt76/mt7925/testmode.c
66
if (!mt76_testmode_enabled(phy))
drivers/net/wireless/mediatek/mt76/mt7925/testmode.c
77
phy->test.state = MT76_TM_STATE_OFF;
drivers/net/wireless/mediatek/mt76/mt7925/usb.c
123
err = __mt7925_start(&dev->phy);
drivers/net/wireless/mediatek/mt76/mt792x.h
144
struct mt792x_phy *phy;
drivers/net/wireless/mediatek/mt76/mt792x.h
227
struct mt792x_phy phy;
drivers/net/wireless/mediatek/mt76/mt792x.h
277
lockdep_is_held(&mvif->phy->dev->mt76.mutex));
drivers/net/wireless/mediatek/mt76/mt792x.h
294
lockdep_is_held(&msta->vif->phy->dev->mt76.mutex));
drivers/net/wireless/mediatek/mt76/mt792x.h
330
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/mt792x.h
332
return container_of(phy->dev, struct mt792x_dev, mt76);
drivers/net/wireless/mediatek/mt76/mt792x.h
338
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/mt792x.h
340
return phy->priv;
drivers/net/wireless/mediatek/mt76/mt792x.h
372
void mt792x_mac_reset_counters(struct mt792x_phy *phy);
drivers/net/wireless/mediatek/mt76/mt792x.h
377
void mt792x_mac_update_mib_stats(struct mt792x_phy *phy);
drivers/net/wireless/mediatek/mt76/mt792x.h
378
void mt792x_mac_set_timeing(struct mt792x_phy *phy);
drivers/net/wireless/mediatek/mt76/mt792x.h
511
int mt792x_init_acpi_sar_power(struct mt792x_phy *phy, bool set_default);
drivers/net/wireless/mediatek/mt76/mt792x.h
512
u8 mt792x_acpi_get_flags(struct mt792x_phy *phy);
drivers/net/wireless/mediatek/mt76/mt792x.h
513
u32 mt792x_acpi_get_mtcl_conf(struct mt792x_phy *phy, char *alpha2);
drivers/net/wireless/mediatek/mt76/mt792x.h
520
static inline int mt792x_init_acpi_sar_power(struct mt792x_phy *phy,
drivers/net/wireless/mediatek/mt76/mt792x.h
526
static inline u8 mt792x_acpi_get_flags(struct mt792x_phy *phy)
drivers/net/wireless/mediatek/mt76/mt792x.h
531
static inline u32 mt792x_acpi_get_mtcl_conf(struct mt792x_phy *phy, char *alpha2)
drivers/net/wireless/mediatek/mt76/mt792x_acpi_sar.c
227
dev->phy.acpisar = asar;
drivers/net/wireless/mediatek/mt76/mt792x_acpi_sar.c
234
mt792x_asar_get_geo_pwr(struct mt792x_phy *phy,
drivers/net/wireless/mediatek/mt76/mt792x_acpi_sar.c
237
struct mt792x_acpi_sar *asar = phy->acpisar;
drivers/net/wireless/mediatek/mt76/mt792x_acpi_sar.c
245
switch (phy->mt76->dev->region) {
drivers/net/wireless/mediatek/mt76/mt792x_acpi_sar.c
289
mt792x_asar_range_pwr(struct mt792x_phy *phy,
drivers/net/wireless/mediatek/mt76/mt792x_acpi_sar.c
293
const struct cfg80211_sar_capa *capa = phy->mt76->hw->wiphy->sar_capa;
drivers/net/wireless/mediatek/mt76/mt792x_acpi_sar.c
294
struct mt792x_acpi_sar *asar = phy->acpisar;
drivers/net/wireless/mediatek/mt76/mt792x_acpi_sar.c
318
return mt792x_asar_get_geo_pwr(phy, band, limit[idx]);
drivers/net/wireless/mediatek/mt76/mt792x_acpi_sar.c
321
int mt792x_init_acpi_sar_power(struct mt792x_phy *phy, bool set_default)
drivers/net/wireless/mediatek/mt76/mt792x_acpi_sar.c
323
const struct cfg80211_sar_capa *capa = phy->mt76->hw->wiphy->sar_capa;
drivers/net/wireless/mediatek/mt76/mt792x_acpi_sar.c
326
if (!phy->acpisar || !((struct mt792x_acpi_sar *)phy->acpisar)->dyn)
drivers/net/wireless/mediatek/mt76/mt792x_acpi_sar.c
334
struct mt76_freq_range_power *frp = &phy->mt76->frp[i];
drivers/net/wireless/mediatek/mt76/mt792x_acpi_sar.c
341
mt792x_asar_range_pwr(phy, frp->range, i));
drivers/net/wireless/mediatek/mt76/mt792x_acpi_sar.c
348
u8 mt792x_acpi_get_flags(struct mt792x_phy *phy)
drivers/net/wireless/mediatek/mt76/mt792x_acpi_sar.c
350
struct mt792x_acpi_sar *acpisar = phy->acpisar;
drivers/net/wireless/mediatek/mt76/mt792x_acpi_sar.c
417
mt792x_acpi_parse_mtcl_tbl_v3(struct mt792x_phy *phy, char *alpha2)
drivers/net/wireless/mediatek/mt76/mt792x_acpi_sar.c
419
struct mt792x_acpi_sar *sar = phy->acpisar;
drivers/net/wireless/mediatek/mt76/mt792x_acpi_sar.c
446
mt792x_acpi_parse_mtcl_tbl(struct mt792x_phy *phy, char *alpha2)
drivers/net/wireless/mediatek/mt76/mt792x_acpi_sar.c
448
struct mt792x_acpi_sar *sar = phy->acpisar;
drivers/net/wireless/mediatek/mt76/mt792x_acpi_sar.c
469
u32 mt792x_acpi_get_mtcl_conf(struct mt792x_phy *phy, char *alpha2)
drivers/net/wireless/mediatek/mt76/mt792x_acpi_sar.c
471
struct mt792x_acpi_sar *sar = phy->acpisar;
drivers/net/wireless/mediatek/mt76/mt792x_acpi_sar.c
477
config = mt792x_acpi_parse_mtcl_tbl_v3(phy, alpha2);
drivers/net/wireless/mediatek/mt76/mt792x_acpi_sar.c
482
config |= mt792x_acpi_parse_mtcl_tbl(phy, alpha2);
drivers/net/wireless/mediatek/mt76/mt792x_core.c
145
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt792x_core.c
147
cancel_delayed_work_sync(&phy->mt76->mac_work);
drivers/net/wireless/mediatek/mt76/mt792x_core.c
160
clear_bit(MT76_STATE_RUNNING, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt792x_core.c
182
mconf->vif->phy->omac_mask &= ~BIT_ULL(mconf->mt76.omac_idx);
drivers/net/wireless/mediatek/mt76/mt792x_core.c
226
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt792x_core.c
227
struct mt76_mib_stats *mib = &phy->mib;
drivers/net/wireless/mediatek/mt76/mt792x_core.c
229
mt792x_mutex_acquire(phy->dev);
drivers/net/wireless/mediatek/mt76/mt792x_core.c
236
mt792x_mutex_release(phy->dev);
drivers/net/wireless/mediatek/mt76/mt792x_core.c
308
struct mt792x_phy *phy = timer_container_of(phy, timer, roc_timer);
drivers/net/wireless/mediatek/mt76/mt792x_core.c
310
ieee80211_queue_work(phy->mt76->hw, &phy->roc_work);
drivers/net/wireless/mediatek/mt76/mt792x_core.c
318
ieee80211_queue_work(mvif->phy->mt76->hw, &mvif->csa_work);
drivers/net/wireless/mediatek/mt76/mt792x_core.c
501
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt792x_core.c
502
struct mt792x_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt792x_core.c
503
struct mt76_mib_stats *mib = &phy->mib;
drivers/net/wireless/mediatek/mt76/mt792x_core.c
512
mt792x_mac_update_mib_stats(phy);
drivers/net/wireless/mediatek/mt76/mt792x_core.c
522
data[ei++] = phy->mt76->aggr_stats[i];
drivers/net/wireless/mediatek/mt76/mt792x_core.c
524
data[ei++] = phy->mib.ba_miss_cnt;
drivers/net/wireless/mediatek/mt76/mt792x_core.c
607
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt792x_core.c
608
struct mt792x_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt792x_core.c
612
phy->coverage_class = max_t(s16, coverage_class, 0);
drivers/net/wireless/mediatek/mt76/mt792x_core.c
613
mt792x_mac_set_timeing(phy);
drivers/net/wireless/mediatek/mt76/mt792x_core.c
621
struct mt792x_phy *phy = mt792x_hw_phy(hw);
drivers/net/wireless/mediatek/mt76/mt792x_core.c
622
struct mt792x_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt792x_core.c
638
phy->slottime = 9;
drivers/net/wireless/mediatek/mt76/mt792x_core.c
812
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt792x_core.c
834
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt792x_core.c
880
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt792x_core.c
901
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt792x_debugfs.c
13
if (!phy)
drivers/net/wireless/mediatek/mt76/mt792x_debugfs.c
16
mt792x_mac_update_mib_stats(phy);
drivers/net/wireless/mediatek/mt76/mt792x_debugfs.c
33
seq_printf(file, "%8d | ", phy->mt76->aggr_stats[i]);
drivers/net/wireless/mediatek/mt76/mt792x_debugfs.c
36
seq_printf(file, "BA miss count: %d\n", phy->mib.ba_miss_cnt);
drivers/net/wireless/mediatek/mt76/mt792x_debugfs.c
42
struct mt792x_phy *phy = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt792x_debugfs.c
43
struct mt76_mib_stats *mib = &phy->mib;
drivers/net/wireless/mediatek/mt76/mt792x_debugfs.c
48
mt792x_ampdu_stat_read_phy(phy, file);
drivers/net/wireless/mediatek/mt76/mt792x_debugfs.c
7
mt792x_ampdu_stat_read_phy(struct mt792x_phy *phy,
drivers/net/wireless/mediatek/mt76/mt792x_dma.c
15
if (test_bit(MT76_REMOVED, &dev->mt76.phy.state))
drivers/net/wireless/mediatek/mt76/mt792x_dma.c
202
for (i = 0; i < ARRAY_SIZE(dev->mt76.phy.q_tx); i++)
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
11
struct mt792x_phy *phy;
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
130
phy->mt76->aggr_stats[aggr0++] += val & 0xffff;
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
131
phy->mt76->aggr_stats[aggr0++] += val >> 16;
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
132
phy->mt76->aggr_stats[aggr1++] += val2 & 0xffff;
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
133
phy->mt76->aggr_stats[aggr1++] += val2 >> 16;
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
16
phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
18
mt792x_mutex_acquire(phy->dev);
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
192
void mt792x_mac_reset_counters(struct mt792x_phy *phy)
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
194
struct mt792x_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
202
dev->mt76.phy.survey_time = ktime_get_boottime();
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
203
memset(phy->mt76->aggr_stats, 0, sizeof(phy->mt76->aggr_stats));
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
216
mt792x_phy_get_nf(struct mt792x_phy *phy, int idx)
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
225
struct mt792x_phy *phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
239
nf = mt792x_phy_get_nf(phy, idx);
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
24
mt792x_mac_update_mib_stats(phy);
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
240
if (!phy->noise)
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
241
phy->noise = nf << 4;
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
243
phy->noise += nf - (phy->noise >> 4);
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
250
state->noise = -(phy->noise >> 4);
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
27
mt792x_mutex_release(phy->dev);
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
30
ieee80211_queue_delayed_work(phy->mt76->hw, &mphy->mac_work,
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
321
mphy = dev->phy.mt76;
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
35
void mt792x_mac_set_timeing(struct mt792x_phy *phy)
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
356
mphy = dev->phy.mt76;
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
37
s16 coverage_class = phy->coverage_class;
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
38
struct mt792x_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
44
bool is_2ghz = phy->mt76->chandef.chan->band == NL80211_BAND_2GHZ;
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
47
if (!test_bit(MT76_STATE_RUNNING, &phy->mt76->state))
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
64
FIELD_PREP(MT_IFS_SLOT, phy->slottime));
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
66
if (phy->slottime < 20 || !is_2ghz)
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
77
void mt792x_mac_update_mib_stats(struct mt792x_phy *phy)
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
79
struct mt76_mib_stats *mib = &phy->mib;
drivers/net/wireless/mediatek/mt76/mt792x_mac.c
80
struct mt792x_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
1012
&phy.mode, &phy.bw, &phy.mcs, &phy.nss, &gi,
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
1013
&phy.preamble, &phy.stbc, &phy.ldpc, &phy.spe, &ltf) != 10) {
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
1026
phy.wlan_idx = cpu_to_le16(msta_link->wcid.idx);
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
1027
phy.gi = cpu_to_le16(gi);
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
1028
phy.ltf = cpu_to_le16(ltf);
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
1029
phy.ldpc = phy.ldpc ? 7 : 0;
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
1030
phy.preamble = phy.preamble ? SHORT_PREAMBLE : LONG_PREAMBLE;
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
1032
ret = mt7996_mcu_set_fixed_rate_ctrl(dev, &phy, 0);
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
228
struct mt7996_phy *phy = mt7996_band_phy(dev, NL80211_BAND_5GHZ);
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
231
if (!phy || !val || val > RADAR_BACKGROUND)
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
239
rdd_idx = mt7996_get_rdd_idx(phy, val == RADAR_BACKGROUND);
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
461
mt7996_ampdu_stat_read_phy(struct mt7996_phy *phy, struct seq_file *file)
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
463
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
465
u8 band_idx = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
475
wiphy_name(phy->mt76->hw->wiphy), band_idx);
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
484
seq_printf(file, "%8d | ", phy->mt76->aggr_stats[i]);
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
487
seq_printf(file, "BA miss count: %d\n", phy->mib.ba_miss_cnt);
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
491
mt7996_txbf_stat_read_phy(struct mt7996_phy *phy, struct seq_file *s)
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
493
struct mt76_mib_stats *mib = &phy->mib;
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
539
mt7996_tx_stats_show_phy(struct seq_file *file, struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
541
struct mt76_mib_stats *mib = &phy->mib;
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
545
mt7996_mac_update_stats(phy);
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
546
mt7996_ampdu_stat_read_phy(phy, file);
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
555
mt7996_txbf_stat_read_phy(phy, file);
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
574
struct mt7996_phy *phy = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
578
mt7996_tx_stats_show_phy(file, phy);
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
579
phy = mt7996_phy2(dev);
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
580
if (phy)
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
581
mt7996_tx_stats_show_phy(file, phy);
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
582
phy = mt7996_phy3(dev);
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
583
if (phy)
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
584
mt7996_tx_stats_show_phy(file, phy);
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
597
struct mt7996_phy *phy = s->private;
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
598
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
629
struct mt7996_dev *dev = mvif->deflink.phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
679
struct mt7996_phy *phy = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
733
ieee80211_iterate_stations_atomic(phy->mt76->hw,
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
735
phy = mt7996_phy2(dev);
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
736
if (phy)
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
737
ieee80211_iterate_stations_atomic(phy->mt76->hw,
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
739
phy = mt7996_phy3(dev);
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
740
if (phy)
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
741
ieee80211_iterate_stations_atomic(phy->mt76->hw,
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
758
struct mt7996_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
772
phy = mt7996_phy2(dev);
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
773
if (phy)
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
774
queue_map[1].q = phy->mt76->q_tx[MT_TXQ_BE];
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
776
phy = mt7996_phy3(dev);
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
777
if (phy)
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
778
queue_map[2].q = phy->mt76->q_tx[MT_TXQ_BE];
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
982
struct mt7996_dev *dev = msta->vif->deflink.phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/debugfs.c
984
struct ra_rate phy = {};
drivers/net/wireless/mediatek/mt76/mt7996/dma.c
10
int mt7996_init_tx_queues(struct mt7996_phy *phy, int idx, int n_desc,
drivers/net/wireless/mediatek/mt76/mt7996/dma.c
13
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/dma.c
27
flags = MT_NPU_Q_TX(phy->mt76->band_idx);
drivers/net/wireless/mediatek/mt76/mt7996/dma.c
29
return mt76_connac_init_tx_queues(phy->mt76, idx, n_desc,
drivers/net/wireless/mediatek/mt76/mt7996/dma.c
645
ret = mt7996_init_tx_queues(&dev->phy,
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
221
static int mt7996_eeprom_parse_efuse_hw_cap(struct mt7996_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
227
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
236
u8 band_offs = phy->mt76->band_idx * 3;
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
251
static int mt7996_eeprom_parse_band_config(struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
253
u8 *eeprom = phy->dev->mt76.eeprom.data;
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
257
switch (phy->mt76->band_idx) {
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
272
phy->mt76->cap.has_2ghz = true;
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
275
phy->mt76->cap.has_5ghz = true;
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
278
phy->mt76->cap.has_6ghz = true;
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
288
int mt7996_eeprom_parse_hw_cap(struct mt7996_dev *dev, struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
290
u8 path, rx_path, nss, band_idx = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
292
struct mt76_phy *mphy = phy->mt76;
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
297
ret = mt7996_eeprom_parse_efuse_hw_cap(phy, &path, &rx_path, &nss);
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
310
phy->has_aux_rx = true;
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
313
phy->orig_antenna_mask = mphy->antenna_mask;
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
315
phy->orig_chainmask = mphy->chainmask;
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
321
return mt7996_eeprom_parse_band_config(phy);
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c
332
ret = mt7996_eeprom_parse_hw_cap(dev, &dev->phy);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
103
temperature = mt7996_mcu_get_temperature(phy);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
111
phy->throttle_temp[i - 1] * 1000);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
113
return sprintf(buf, "%hhu\n", phy->throttle_state);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
123
struct mt7996_phy *phy = dev_get_drvdata(dev);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1241
void mt7996_set_stream_vht_txbf_caps(struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1246
if (!phy->mt76->cap.has_5ghz)
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1249
sts = hweight16(phy->mt76->chainmask);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1250
cap = &phy->mt76->sband_5g.sband.vht_cap.cap;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1255
if (is_mt7992(phy->mt76->dev))
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1273
mt7996_set_stream_he_txbf_caps(struct mt7996_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1278
int sts = hweight16(phy->mt76->chainmask);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1306
if (is_mt7992(phy->mt76->dev))
drivers/net/wireless/mediatek/mt76/mt7996/init.c
131
mutex_lock(&phy->dev->mt76.mutex);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1359
mt7996_init_he_caps(struct mt7996_phy *phy, enum nl80211_band band,
drivers/net/wireless/mediatek/mt76/mt7996/init.c
136
val > phy->throttle_temp[MT7996_MAX_TEMP_IDX] - 10) ||
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1366
int i, nss = hweight8(phy->mt76->antenna_mask);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
138
val - 10 < phy->throttle_temp[MT7996_CRIT_TEMP_IDX])) {
drivers/net/wireless/mediatek/mt76/mt7996/init.c
139
dev_err(phy->dev->mt76.dev,
drivers/net/wireless/mediatek/mt76/mt7996/init.c
141
mutex_unlock(&phy->dev->mt76.mutex);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
145
phy->throttle_temp[i - 1] = val;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
146
mutex_unlock(&phy->dev->mt76.mutex);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1460
mt7996_set_stream_he_txbf_caps(phy, he_cap, iftype, band);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
148
ret = mt7996_mcu_set_thermal_protect(phy, true);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1488
mt7996_init_eht_caps(struct mt7996_phy *phy, enum nl80211_band band,
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1495
enum nl80211_chan_width width = phy->mt76->chandef.width;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1496
int nss = hweight8(phy->mt76->antenna_mask);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1497
int sts = hweight16(phy->mt76->chainmask);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1500
if (!phy->dev->has_eht)
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1519
val = is_mt7992(phy->mt76->dev) ? 4 : 3;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1618
__mt7996_set_stream_he_eht_caps(struct mt7996_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1622
struct ieee80211_sband_iftype_data *data = phy->iftype[band];
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1638
mt7996_init_he_caps(phy, band, &data[n], i);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1639
mt7996_init_eht_caps(phy, band, &data[n], i);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1647
void mt7996_set_stream_he_eht_caps(struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1649
if (phy->mt76->cap.has_2ghz)
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1650
__mt7996_set_stream_he_eht_caps(phy, &phy->mt76->sband_2g.sband,
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1653
if (phy->mt76->cap.has_5ghz)
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1654
__mt7996_set_stream_he_eht_caps(phy, &phy->mt76->sband_5g.sband,
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1657
if (phy->mt76->cap.has_6ghz)
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1658
__mt7996_set_stream_he_eht_caps(phy, &phy->mt76->sband_6g.sband,
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1665
struct mt7996_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1668
dev->phy.dev = dev;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1669
dev->phy.mt76 = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1670
dev->mt76.phy.priv = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1704
mt7996_for_each_phy(dev, phy)
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1705
mt7996_thermal_init(phy);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
1732
mt7996_unregister_thermal(&dev->phy);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
182
struct mt7996_phy *phy = cdev->devdata;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
184
*state = phy->cdev_state;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
193
struct mt7996_phy *phy = cdev->devdata;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
198
dev_err(phy->dev->mt76.dev,
drivers/net/wireless/mediatek/mt76/mt7996/init.c
203
if (state == phy->cdev_state)
drivers/net/wireless/mediatek/mt76/mt7996/init.c
209
ret = mt7996_mcu_set_thermal_throttling(phy, throttling);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
213
phy->cdev_state = state;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
224
static void mt7996_unregister_thermal(struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/init.c
226
struct wiphy *wiphy = phy->mt76->hw->wiphy;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
229
if (!phy->cdev)
drivers/net/wireless/mediatek/mt76/mt7996/init.c
232
snprintf(name, sizeof(name), "cooling_device%d", phy->mt76->band_idx);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
234
thermal_cooling_device_unregister(phy->cdev);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
237
static int mt7996_thermal_init(struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/init.c
239
struct wiphy *wiphy = phy->mt76->hw->wiphy;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
246
wiphy_name(wiphy), phy->mt76->band_idx);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
250
snprintf(cname, sizeof(cname), "cooling_device%d", phy->mt76->band_idx);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
252
cdev = thermal_cooling_device_register(name, phy, &mt7996_thermal_ops);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
258
phy->cdev = cdev;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
262
phy->throttle_temp[MT7996_CRIT_TEMP_IDX] = MT7996_CRIT_TEMP;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
263
phy->throttle_temp[MT7996_MAX_TEMP_IDX] = MT7996_MAX_TEMP;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
268
hwmon = devm_hwmon_device_register_with_groups(&wiphy->dev, name, phy,
drivers/net/wireless/mediatek/mt76/mt7996/init.c
343
static void __mt7996_init_txpower(struct mt7996_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7996/init.c
346
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
347
int i, n_chains = hweight16(phy->mt76->chainmask);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
357
target_power = mt76_get_rate_power_limits(phy->mt76, chan,
drivers/net/wireless/mediatek/mt76/mt7996/init.c
368
void mt7996_init_txpower(struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/init.c
370
if (!phy)
drivers/net/wireless/mediatek/mt76/mt7996/init.c
373
if (phy->mt76->cap.has_2ghz)
drivers/net/wireless/mediatek/mt76/mt7996/init.c
374
__mt7996_init_txpower(phy, &phy->mt76->sband_2g.sband);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
375
if (phy->mt76->cap.has_5ghz)
drivers/net/wireless/mediatek/mt76/mt7996/init.c
376
__mt7996_init_txpower(phy, &phy->mt76->sband_5g.sband);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
377
if (phy->mt76->cap.has_6ghz)
drivers/net/wireless/mediatek/mt76/mt7996/init.c
378
__mt7996_init_txpower(phy, &phy->mt76->sband_6g.sband);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
387
struct mt7996_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
392
mt7996_for_each_phy(dev, phy) {
drivers/net/wireless/mediatek/mt76/mt7996/init.c
394
mt7996_mcu_rdd_background_enable(phy, NULL);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
396
mt7996_init_txpower(phy);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
397
phy->mt76->dfs_state = MT_DFS_STATE_UNKNOWN;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
398
mt7996_dfs_init_radar_detector(phy);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
403
mt7996_init_wiphy_band(struct ieee80211_hw *hw, struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/init.c
405
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
411
phy->slottime = 9;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
412
phy->beacon_rate = -1;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
413
phy->rxfilter = MT_WF_RFCR_DROP_OTHER_UC;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
415
if (phy->mt76->cap.has_2ghz) {
drivers/net/wireless/mediatek/mt76/mt7996/init.c
416
phy->mt76->sband_2g.sband.ht_cap.cap |=
drivers/net/wireless/mediatek/mt76/mt7996/init.c
419
phy->mt76->sband_2g.sband.ht_cap.ampdu_density =
drivers/net/wireless/mediatek/mt76/mt7996/init.c
423
} else if (phy->mt76->cap.has_5ghz) {
drivers/net/wireless/mediatek/mt76/mt7996/init.c
424
phy->mt76->sband_5g.sband.ht_cap.cap |=
drivers/net/wireless/mediatek/mt76/mt7996/init.c
428
phy->mt76->sband_5g.sband.vht_cap.cap |=
drivers/net/wireless/mediatek/mt76/mt7996/init.c
433
phy->mt76->sband_5g.sband.ht_cap.ampdu_density =
drivers/net/wireless/mediatek/mt76/mt7996/init.c
439
} else if (phy->mt76->cap.has_6ghz) {
drivers/net/wireless/mediatek/mt76/mt7996/init.c
446
dev->radio_phy[n_radios] = phy;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
453
wiphy->available_antennas_rx |= phy->mt76->chainmask;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
454
wiphy->available_antennas_tx |= phy->mt76->chainmask;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
456
mt76_set_stream_caps(phy->mt76, true);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
457
mt7996_set_stream_vht_txbf_caps(phy);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
458
mt7996_set_stream_he_eht_caps(phy);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
459
mt7996_init_txpower(phy);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
536
mt7996_init_wiphy_band(hw, &dev->phy);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
588
mt7996_mcu_set_fixed_rate_table(&dev->phy, idx, rate, false);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
661
struct mt7996_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
677
mphy = mt76_alloc_radio_phy(&dev->mt76, sizeof(*phy), band);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
681
phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
682
phy->dev = dev;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
683
phy->mt76 = mphy;
drivers/net/wireless/mediatek/mt76/mt7996/init.c
688
ret = mt7996_eeprom_parse_hw_cap(dev, phy);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
710
mt7996_init_wiphy_band(mphy->hw, phy);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
745
mt7996_unregister_phy(struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/init.c
747
if (phy)
drivers/net/wireless/mediatek/mt76/mt7996/init.c
748
mt7996_unregister_thermal(phy);
drivers/net/wireless/mediatek/mt76/mt7996/init.c
97
struct mt7996_phy *phy = dev_get_drvdata(dev);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2063
void mt7996_mac_cca_stats_reset(struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2065
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2066
u32 reg = MT_WF_PHYRX_BAND_RX_CTRL1(phy->mt76->band_idx);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2072
void mt7996_mac_reset_counters(struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2074
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2075
u8 band_idx = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2081
phy->mt76->survey_time = ktime_get_boottime();
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2083
memset(phy->mt76->aggr_stats, 0, sizeof(phy->mt76->aggr_stats));
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2089
mt7996_mcu_get_chan_mib_info(phy, true);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2092
void mt7996_mac_set_coverage_class(struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2094
s16 coverage_class = phy->coverage_class;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2095
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2103
u8 band_idx = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2106
if (!test_bit(MT76_STATE_RUNNING, &phy->mt76->state))
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2110
coverage_class = max_t(s16, dev->phy.coverage_class,
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2136
mt7996_phy_get_nf(struct mt7996_phy *phy, u8 band_idx)
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2139
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2143
for (ant = 0; ant < hweight8(phy->mt76->antenna_mask); ant++) {
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2158
struct mt7996_phy *phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2162
mt7996_mcu_get_chan_mib_info(phy, false);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2164
nf = mt7996_phy_get_nf(phy, mphy->band_idx);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2165
if (!phy->noise)
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2166
phy->noise = nf << 4;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2168
phy->noise += nf - (phy->noise >> 4);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2170
state->noise = -(phy->noise >> 4);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2190
struct mt7996_phy *phy = priv;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2191
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2208
if (!link || link->phy != phy)
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2216
void mt7996_mac_update_beacons(struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2218
ieee80211_iterate_active_interfaces(phy->mt76->hw,
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2220
mt7996_update_vif_beacon, phy);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2228
mt7996_mac_update_beacons(&dev->phy);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2257
struct mt7996_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2272
mt7996_for_each_phy(dev, phy)
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2273
set_bit(MT76_RESET, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2277
mt7996_for_each_phy(dev, phy)
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2278
mt76_txq_schedule_all(phy->mt76);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2362
mt7996_for_each_phy(dev, phy)
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2363
mt7996_init_txpower(phy);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2368
mt7996_for_each_phy(dev, phy) {
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2369
if (!test_bit(MT76_STATE_RUNNING, &phy->mt76->state))
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2372
ret = mt7996_run(phy);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2379
mt7996_for_each_phy(dev, phy)
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2380
clear_bit(MT76_RESET, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2442
struct mt7996_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2452
mt7996_for_each_phy(dev, phy)
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2453
cancel_delayed_work_sync(&phy->mt76->mac_work);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2466
mt7996_for_each_phy(dev, phy)
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2467
phy->omac_mask = 0;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2504
struct mt7996_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2555
mt7996_for_each_phy(dev, phy) {
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2556
mt76_abort_roc(phy->mt76);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2557
set_bit(MT76_RESET, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2558
cancel_delayed_work_sync(&phy->mt76->mac_work);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2614
mt7996_for_each_phy(dev, phy)
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2615
clear_bit(MT76_RESET, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2644
mt7996_for_each_phy(dev, phy)
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2645
ieee80211_queue_delayed_work(hw, &phy->mt76->mac_work,
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2744
void mt7996_mac_update_stats(struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2746
struct mt76_mib_stats *mib = &phy->mib;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2747
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2748
u8 band_idx = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2881
phy->mt76->aggr_stats[i] += cnt;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2934
struct mt7996_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2939
phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2947
mt7996_mac_update_stats(phy);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2949
mt7996_mcu_get_all_sta_info(phy, UNI_ALL_STA_TXRX_RATE);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2950
if (mtk_wed_device_active(&phy->dev->mt76.mmio.wed)) {
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2951
mt7996_mcu_get_all_sta_info(phy, UNI_ALL_STA_TXRX_ADM_STAT);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2952
mt7996_mcu_get_all_sta_info(phy, UNI_ALL_STA_TXRX_MSDU_COUNT);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2964
static void mt7996_dfs_stop_radar_detector(struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2966
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2967
int rdd_idx = mt7996_get_rdd_idx(phy, false);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
2999
static int mt7996_dfs_start_radar_detector(struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
3001
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
3004
rdd_idx = mt7996_get_rdd_idx(phy, false);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
3019
mt7996_dfs_init_radar_specs(struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
3022
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
3052
int mt7996_dfs_init_radar_detector(struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
3054
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
3056
int err, rdd_idx = mt7996_get_rdd_idx(phy, false);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
3058
prev_state = phy->mt76->dfs_state;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
3059
dfs_state = mt76_phy_dfs_state(phy->mt76);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
3065
mt7996_dfs_stop_radar_detector(phy);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
3071
err = mt7996_dfs_init_radar_specs(phy);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
3075
err = mt7996_dfs_start_radar_detector(phy);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
3079
phy->mt76->dfs_state = MT_DFS_STATE_CAC;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
3087
phy->mt76->dfs_state = MT_DFS_STATE_UNKNOWN;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
3091
phy->mt76->dfs_state = MT_DFS_STATE_ACTIVE;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
3099
mt7996_dfs_stop_radar_detector(phy);
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
3100
phy->mt76->dfs_state = MT_DFS_STATE_DISABLED;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
454
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
455
struct mt7996_phy *phy = &dev->phy;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
484
phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
601
if (phy->rx_ampdu_ts != status->timestamp) {
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
602
if (!++phy->ampdu_ref)
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
603
phy->ampdu_ref++;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
605
phy->rx_ampdu_ts = status->timestamp;
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
607
status->ampdu_ref = phy->ampdu_ref;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
10
int mt7996_run(struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/main.c
12
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1391
struct mt7996_phy *phy = dev->radio_phy[i];
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1393
ret = mt7996_mcu_set_rts_thresh(phy, val);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1476
struct mt7996_phy *phy = dev->radio_phy[i];
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1477
struct mt76_mib_stats *mib = &phy->mib;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1493
struct mt7996_phy *phy = link->phy;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
15
mt7996_mac_enable_nf(dev, phy->mt76->band_idx);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1500
if (!phy)
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1508
mt76_rmw(dev, MT_LPON_TCR(phy->mt76->band_idx, n), MT_LPON_TCR_SW_MODE,
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1510
tsf.t32[0] = mt76_rr(dev, MT_LPON_UTTR0(phy->mt76->band_idx));
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1511
tsf.t32[1] = mt76_rr(dev, MT_LPON_UTTR1(phy->mt76->band_idx));
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1537
struct mt7996_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1552
phy = link->phy;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1553
if (!phy)
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1556
mt76_wr(dev, MT_LPON_UTTR0(phy->mt76->band_idx), tsf.t32[0]);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1557
mt76_wr(dev, MT_LPON_UTTR1(phy->mt76->band_idx), tsf.t32[1]);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1559
mt76_rmw(dev, MT_LPON_TCR(phy->mt76->band_idx, n), MT_LPON_TCR_SW_MODE,
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1573
struct mt7996_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1586
phy = link->phy;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1587
if (!phy)
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1592
mt76_wr(dev, MT_LPON_UTTR0(phy->mt76->band_idx), tsf.t32[0]);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1593
mt76_wr(dev, MT_LPON_UTTR1(phy->mt76->band_idx), tsf.t32[1]);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1595
mt76_rmw(dev, MT_LPON_TCR(phy->mt76->band_idx, n), MT_LPON_TCR_SW_MODE,
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1607
struct mt7996_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1610
mt7996_for_each_phy(dev, phy) {
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1611
phy->coverage_class = max_t(s16, coverage_class, 0);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1612
mt7996_mac_set_coverage_class(phy);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1628
struct mt7996_phy *phy = dev->radio_phy[i];
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1630
if (!(tx_ant & phy->orig_chainmask))
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1637
struct mt7996_phy *phy = dev->radio_phy[i];
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1638
u8 band_idx = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1641
phy->mt76->chainmask = tx_ant & phy->orig_chainmask;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1642
phy->mt76->antenna_mask = (phy->mt76->chainmask >> shift) &
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1643
phy->orig_antenna_mask;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1645
mt76_set_stream_caps(phy->mt76, true);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1646
mt7996_set_stream_vht_txbf_caps(phy);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1647
mt7996_set_stream_he_eht_caps(phy);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1648
mt7996_mcu_set_txpower_sku(phy);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
17
ret = mt7996_mcu_set_rts_thresh(phy, 0x92b);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
1716
struct mt7996_dev *dev = msta->vif->deflink.phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2008
struct mt7996_phy *phy = mt7996_vif_link_phy(&mvif->deflink);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2009
struct mt76_mib_stats *mib = &phy->mib;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2017
if (!phy)
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2022
mt7996_mac_update_stats(phy);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2035
data[ei++] = phy->mt76->aggr_stats[i];
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2036
data[ei++] = phy->mib.ba_miss_cnt;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
21
ret = mt7996_mcu_set_radio_en(phy, true);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2116
struct mt7996_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2121
phy = mt7996_band_phy(dev, chandef->chan->band);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2123
phy = dev->rdd2_phy;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2124
if (!phy)
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2132
if (dev->rdd2_phy && dev->rdd2_phy != phy) {
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2145
ret = mt7996_mcu_rdd_background_enable(phy, NULL);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2153
ret = mt7996_mcu_rdd_background_enable(phy, chandef);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2158
dev->rdd2_phy = chandef ? phy : NULL;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2270
struct mt7996_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2273
mt7996_for_each_phy(dev, phy)
drivers/net/wireless/mediatek/mt76/mt7996/main.c
2274
ieee80211_queue_delayed_work(hw, &phy->mt76->mac_work,
drivers/net/wireless/mediatek/mt76/mt7996/main.c
243
mt7996_mcu_add_bss_info(link->phy, vif, link_conf,
drivers/net/wireless/mediatek/mt76/mt7996/main.c
25
ret = mt7996_mcu_set_chan_info(phy, UNI_CHANNEL_RX_PATH);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
29
ret = mt7996_mcu_set_thermal_throttling(phy, MT7996_THERMAL_THROTTLE_MAX);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
296
struct mt7996_phy *phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
297
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
298
u8 band_idx = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
310
idx = get_omac_idx(vif->type, phy->omac_mask);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
319
link->phy = phy;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
326
ret = mt7996_mcu_add_dev_info(phy, vif, link_conf, mlink, true);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
33
ret = mt7996_mcu_set_thermal_protect(phy, true);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
332
phy->omac_mask |= BIT_ULL(mlink->omac_idx);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
355
if (phy->mt76->chandef.chan->band != NL80211_BAND_2GHZ)
drivers/net/wireless/mediatek/mt76/mt7996/main.c
362
mt7996_mcu_add_bss_info(phy, vif, link_conf, mlink, msta_link, true);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
37
set_bit(MT76_STATE_RUNNING, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
387
struct mt7996_phy *phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
388
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
39
ieee80211_queue_delayed_work(dev->mphy.hw, &phy->mt76->mac_work,
drivers/net/wireless/mediatek/mt76/mt7996/main.c
400
mt7996_mcu_add_bss_info(phy, vif, link_conf, mlink, msta_link, false);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
402
mt7996_mcu_add_dev_info(phy, vif, link_conf, mlink, false);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
42
if (!phy->counter_reset) {
drivers/net/wireless/mediatek/mt76/mt7996/main.c
422
phy->omac_mask &= ~BIT_ULL(mlink->omac_idx);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
43
mt7996_mac_reset_counters(phy);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
432
static void mt7996_phy_set_rxfilter(struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/main.c
434
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
44
phy->counter_reset = true;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
440
u32 filter = phy->rxfilter;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
449
mt76_wr(dev, MT_WF_RFCR(phy->mt76->band_idx), filter);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
451
mt76_set(dev, MT_WF_RFCR1(phy->mt76->band_idx), ctl_flags);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
453
mt76_clear(dev, MT_WF_RFCR1(phy->mt76->band_idx), ctl_flags);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
456
static void mt7996_set_monitor(struct mt7996_phy *phy, bool enabled)
drivers/net/wireless/mediatek/mt76/mt7996/main.c
460
if (!phy)
drivers/net/wireless/mediatek/mt76/mt7996/main.c
463
dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
465
if (enabled == !(phy->rxfilter & MT_WF_RFCR_DROP_OTHER_UC))
drivers/net/wireless/mediatek/mt76/mt7996/main.c
469
phy->rxfilter |= MT_WF_RFCR_DROP_OTHER_UC;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
471
phy->rxfilter &= ~MT_WF_RFCR_DROP_OTHER_UC;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
473
mt76_rmw_field(dev, MT_DMA_DCR0(phy->mt76->band_idx),
drivers/net/wireless/mediatek/mt76/mt7996/main.c
475
mt7996_phy_set_rxfilter(phy);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
476
mt7996_mcu_set_sniffer_mode(phy, enabled);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
490
struct mt7996_phy *phy = dev->radio_phy[i];
drivers/net/wireless/mediatek/mt76/mt7996/main.c
492
if (!phy || !(wdev->radio_mask & BIT(i)) ||
drivers/net/wireless/mediatek/mt76/mt7996/main.c
493
test_bit(MT76_STATE_RUNNING, &phy->mt76->state))
drivers/net/wireless/mediatek/mt76/mt7996/main.c
496
err = mt7996_run(phy);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
501
mt7996_set_monitor(phy, true);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
542
struct mt7996_phy *phy = dev->radio_phy[i];
drivers/net/wireless/mediatek/mt76/mt7996/main.c
544
if (!phy)
drivers/net/wireless/mediatek/mt76/mt7996/main.c
547
mt7996_set_monitor(phy, false);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
549
mt7996_stop_phy(phy);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
555
struct mt7996_phy *phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
559
mt7996_mac_update_beacons(phy);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
561
ret = mt7996_mcu_set_chan_info(phy, UNI_CHANNEL_SWITCH);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
565
ret = mt7996_mcu_set_chan_info(phy, UNI_CHANNEL_RX_PATH);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
569
ret = mt7996_mcu_set_txpower_sku(phy);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
573
ret = mt7996_dfs_init_radar_detector(phy);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
574
mt7996_mac_cca_stats_reset(phy);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
576
mt7996_mac_reset_counters(phy);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
577
phy->noise = 0;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
579
mt7996_mac_update_beacons(phy);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
682
struct mt7996_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
69
static void mt7996_stop_phy(struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/main.c
706
mt7996_for_each_phy(dev, phy) {
drivers/net/wireless/mediatek/mt76/mt7996/main.c
707
phy->rxfilter &= ~(MT_WF_RFCR_DROP_OTHER_BSS |
drivers/net/wireless/mediatek/mt76/mt7996/main.c
719
phy->rxfilter |= filter_set;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
720
mt7996_phy_set_rxfilter(phy);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
73
if (!phy || !test_bit(MT76_STATE_RUNNING, &phy->mt76->state))
drivers/net/wireless/mediatek/mt76/mt7996/main.c
731
struct mt7996_phy *phy = mt7996_vif_link_phy(&mvif->deflink);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
736
if (!phy) {
drivers/net/wireless/mediatek/mt76/mt7996/main.c
740
phy = dev->radio_phy[i];
drivers/net/wireless/mediatek/mt76/mt7996/main.c
742
if (!phy)
drivers/net/wireless/mediatek/mt76/mt7996/main.c
746
n_chains = hweight16(phy->mt76->chainmask);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
748
*dbm = DIV_ROUND_UP(phy->mt76->txpower_cur + delta, 2);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
754
mt7996_get_rates_table(struct mt7996_phy *phy, struct ieee80211_bss_conf *conf,
drivers/net/wireless/mediatek/mt76/mt7996/main.c
757
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
76
dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
762
rate = mt76_connac2_mac_tx_rate_val(phy->mt76, conf, beacon, mcast);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
766
idx = MT7996_BEACON_RATES_TBL + 2 * phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
767
if (phy->beacon_rate != rate)
drivers/net/wireless/mediatek/mt76/mt7996/main.c
768
mt7996_mcu_set_fixed_rate_table(phy, idx, rate, beacon);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
78
cancel_delayed_work_sync(&phy->mt76->mac_work);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
819
if (!link->phy)
drivers/net/wireless/mediatek/mt76/mt7996/main.c
82
mt7996_mcu_set_radio_en(phy, false);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
822
mt7996_mcu_add_bss_info(link->phy, vif, link_conf,
drivers/net/wireless/mediatek/mt76/mt7996/main.c
84
clear_bit(MT76_STATE_RUNNING, &phy->mt76->state);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
840
struct mt7996_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
853
phy = mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
860
mt7996_mcu_add_bss_info(phy, vif, info, &link->mt76,
drivers/net/wireless/mediatek/mt76/mt7996/main.c
870
if (slottime != phy->slottime) {
drivers/net/wireless/mediatek/mt76/mt7996/main.c
871
phy->slottime = slottime;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
872
mt7996_mcu_set_timing(phy, vif, info);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
878
mt7996_get_rates_table(phy, info, false, true);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
882
mt7996_get_rates_table(phy, info, false, false);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
889
mt7996_mcu_add_obss_spr(phy, link, &info->he_obss_pd);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
902
mt7996_get_rates_table(phy, info, true, false);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
915
info->txpower != phy->txpower) {
drivers/net/wireless/mediatek/mt76/mt7996/main.c
916
phy->txpower = info->txpower;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
917
mt7996_mcu_set_txpower_sku(phy);
drivers/net/wireless/mediatek/mt76/mt7996/main.c
944
struct mt7996_phy *phy = link->phy;
drivers/net/wireless/mediatek/mt76/mt7996/main.c
998
mt76_wcid_init(&msta_link->wcid, phy->mt76->band_idx);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1003
mt7996_mcu_bss_ifs_timing_tlv(struct sk_buff *skb, struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1007
bool is_2ghz = phy->mt76->chandef.chan->band == NL80211_BAND_2GHZ;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1017
ifs_time->slot_time = cpu_to_le16(phy->slottime);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1033
struct mt76_phy *phy, u16 wlan_idx,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1036
struct cfg80211_chan_def *chandef = &phy->chandef;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1091
memcpy(bss->bssid, phy->macaddr, ETH_ALEN);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1098
bss->phymode = mt76_connac_get_phy_mode(phy, vif,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1100
bss->phymode_ext = mt76_connac_get_phy_mode_ext(phy, link_conf,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1123
int mt7996_mcu_add_bss_info(struct mt7996_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1128
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1142
mt7996_mcu_bss_basic_tlv(skb, vif, link_conf, mlink, phy->mt76,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1152
mt7996_mcu_bss_rfch_tlv(skb, phy);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1153
mt7996_mcu_bss_bmc_tlv(skb, mlink, phy);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1154
mt7996_mcu_bss_ra_tlv(skb, phy);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1156
mt7996_mcu_bss_ifs_timing_tlv(skb, phy);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1159
mt7996_mcu_bss_he_tlv(skb, vif, link_conf, phy);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1173
int mt7996_mcu_set_timing(struct mt7996_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1176
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1185
mt7996_mcu_bss_ifs_timing_tlv(skb, phy);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
129
enum nl80211_band band = link->phy->mt76->chandef.chan->band;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1522
mt7996_is_ebf_supported(struct mt7996_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1526
int sts = hweight16(phy->mt76->chainmask);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1573
mt7996_mcu_sta_sounding_rate(struct sta_rec_bf *bf, struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1577
if (is_mt7996(phy->mt76->dev))
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1587
struct mt7996_phy *phy, struct sta_rec_bf *bf,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1606
bf->nrow = hweight8(phy->mt76->antenna_mask) - 1;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1614
struct mt7996_phy *phy, struct sta_rec_bf *bf,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1618
struct ieee80211_sta_vht_cap *vc = &phy->mt76->sband_5g.sband.vht_cap;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1621
u8 tx_ant = hweight8(phy->mt76->antenna_mask) - 1;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1628
mt7996_mcu_sta_sounding_rate(bf, phy);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1652
struct ieee80211_vif *vif, struct mt7996_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1658
mt76_connac_get_he_phy_cap(phy->mt76, vif);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1669
mt7996_mcu_sta_sounding_rate(bf, phy);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1717
struct ieee80211_vif *vif, struct mt7996_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1724
mt76_connac_get_eht_phy_cap(phy->mt76, vif);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1732
mt7996_mcu_sta_sounding_rate(bf, phy);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1783
struct mt7996_phy *phy = link->phy;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1784
int tx_ant = hweight16(phy->mt76->chainmask) - 1;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1798
ebf = mt7996_is_ebf_supported(phy, link_conf, link_sta, false);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1810
mt7996_mcu_sta_bfer_eht(link_sta, vif, link->phy, bf, ebf);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1812
mt7996_mcu_sta_bfer_he(link_sta, vif, link->phy, bf, ebf);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1814
mt7996_mcu_sta_bfer_vht(link_sta, link->phy, bf, ebf);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1816
mt7996_mcu_sta_bfer_ht(link_sta, link->phy, bf, ebf);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1852
struct mt7996_phy *phy = link->phy;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1853
int tx_ant = hweight8(phy->mt76->antenna_mask) - 1;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1861
if (!mt7996_is_ebf_supported(phy, link_conf, link_sta, true))
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1986
struct sta_phy_uni *phy = data;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
2020
if (phy)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
2021
ra->phy = *phy;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
2059
struct sta_phy_uni phy = {};
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
2069
phy.sgi = gi; \
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
2070
phy.he_ltf = mask.control[band].he_ltf; \
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
2075
phy.mcs = ffs(mask.control[band]._mcs[i]) - 1; \
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
2077
phy.mcs += 8 * i; \
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
2096
band = link->phy->mt76->chandef.chan->band;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
2109
phy.mcs = ffs(mask.control[band].legacy) - 1;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
2125
ret = mt7996_mcu_set_fixed_field(dev, msta, &phy, link_id,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
2142
mt76_rmw_field(dev, addr, GENMASK(31, 24), phy.sgi);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
2144
mt76_rmw_field(dev, addr, GENMASK(15, 12), phy.sgi);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
2146
ret = mt7996_mcu_set_fixed_field(dev, msta, &phy, link_id,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
2154
ret = mt7996_mcu_set_fixed_field(dev, msta, &phy, link_id,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
2176
struct mt76_phy *mphy = link->phy->mt76;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
2194
ra->phy.bw = ra->bw;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
2623
int mt7996_mcu_add_dev_info(struct mt7996_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
2627
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
2785
if (link->phy && link->phy->mt76->offchannel)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
2838
struct mt7996_phy *phy = link->phy;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
2849
if (!phy)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
2852
chandef = &phy->mt76->chandef;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
2888
info->hw_queue |= FIELD_PREP(MT_TX_HW_QUEUE_PHY, phy->mt76->band_idx);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3604
mt7996_mcu_background_chain_ctrl(struct mt7996_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3608
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3609
struct mt76_phy *mphy = phy->mt76;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3633
req.band_idx = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3641
req.band_idx = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3660
int mt7996_mcu_rdd_background_enable(struct mt7996_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3663
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3664
int err, region, rdd_idx = mt7996_get_rdd_idx(phy, true);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3671
return mt7996_mcu_background_chain_ctrl(phy, NULL,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3675
err = mt7996_mcu_background_chain_ctrl(phy, chandef,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3696
int mt7996_mcu_set_chan_info(struct mt7996_phy *phy, u16 tag)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3703
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3704
struct cfg80211_chan_def *chandef = &phy->mt76->chandef;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3706
u8 band_idx = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3735
.tx_path_num = hweight16(phy->mt76->chainmask),
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3736
.rx_path = mt7996_rx_chainmask(phy) >> dev->chainshift[band_idx],
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3741
if (phy->mt76->hw->conf.flags & IEEE80211_CONF_MONITOR)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3743
else if (phy->mt76->offchannel ||
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3744
phy->mt76->hw->conf.flags & IEEE80211_CONF_IDLE)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3746
else if (!cfg80211_reg_can_beacon(phy->mt76->hw->wiphy, chandef,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3948
int mt7996_mcu_get_chan_mib_info(struct mt7996_phy *phy, bool chan_switch)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3968
.hdr.band = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3976
struct mt76_channel_state *state = phy->mt76->chan_state;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3977
struct mt76_channel_state *state_ts = &phy->state_ts;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
3978
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4027
int mt7996_mcu_get_temperature(struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4045
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
405
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4060
ret = mt76_mcu_send_and_get_msg(&phy->dev->mt76, MCU_WM_UNI_CMD(THERMAL),
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4072
int mt7996_mcu_set_thermal_throttling(struct mt7996_phy *phy, u8 state)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4085
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4096
ret = mt76_mcu_send_msg(&phy->dev->mt76, MCU_WM_UNI_CMD(THERMAL),
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4105
int mt7996_mcu_set_thermal_protect(struct mt7996_phy *phy, bool enable)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4119
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4128
ret = mt76_mcu_send_msg(&phy->dev->mt76, MCU_WM_UNI_CMD(THERMAL),
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4135
req.enable.restore_temp = cpu_to_le32(phy->throttle_temp[0]);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4136
req.enable.trigger_temp = cpu_to_le32(phy->throttle_temp[1]);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4141
return mt76_mcu_send_msg(&phy->dev->mt76, MCU_WM_UNI_CMD(THERMAL),
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4238
mt7996_mcu_enable_obss_spr(struct mt7996_phy *phy, u16 action, u8 val)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4240
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4250
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4261
mt7996_mcu_set_obss_spr_pd(struct mt7996_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4264
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4284
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4295
ret = mt7996_mcu_enable_obss_spr(phy, UNI_CMD_SR_ENABLE_DPD, false);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4315
mt7996_mcu_set_obss_spr_siga(struct mt7996_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4319
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4332
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4345
ret = mt7996_mcu_enable_obss_spr(phy, UNI_CMD_SR_ENABLE_MODE, 0);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4354
mt7996_mcu_set_obss_spr_bitmap(struct mt7996_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4357
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4370
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4392
int mt7996_mcu_add_obss_spr(struct mt7996_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4399
ret = mt7996_mcu_enable_obss_spr(phy, UNI_CMD_SR_ENABLE_SD,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4409
ret = mt7996_mcu_enable_obss_spr(phy, UNI_CMD_SR_ENABLE,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4417
ret = mt7996_mcu_enable_obss_spr(phy, UNI_CMD_SR_ENABLE_TX, true);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4422
ret = mt7996_mcu_set_obss_spr_pd(phy, he_obss_pd);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4427
ret = mt7996_mcu_set_obss_spr_siga(phy, link, he_obss_pd);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4432
return mt7996_mcu_set_obss_spr_bitmap(phy, he_obss_pd);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4517
int mt7996_mcu_set_rts_thresh(struct mt7996_phy *phy, u32 val)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4528
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4535
return mt76_mcu_send_msg(&phy->dev->mt76, MCU_WM_UNI_CMD(BAND_CONFIG),
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4539
int mt7996_mcu_set_radio_en(struct mt7996_phy *phy, bool enable)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4550
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4556
return mt76_mcu_send_msg(&phy->dev->mt76, MCU_WM_UNI_CMD(BAND_CONFIG),
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4604
int mt7996_mcu_set_fixed_rate_table(struct mt7996_phy *phy, u8 table_idx,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4610
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4619
u8 band_idx = phy->mt76->band_idx;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4624
phy->beacon_rate = rate_idx;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4741
int mt7996_mcu_get_all_sta_info(struct mt7996_phy *phy, u16 tag)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4743
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4777
int mt7996_mcu_set_sniffer_mode(struct mt7996_phy *phy, bool enabled)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4779
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4788
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4798
int mt7996_mcu_set_txpower_sku(struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4801
struct mt7996_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4802
struct mt76_phy *mphy = phy->mt76;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4816
.band_idx = phy->mt76->band_idx,
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
4822
tx_power = mt76_get_power_bound(mphy, phy->txpower);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
497
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
630
struct mt76_phy *mphy = &dev->mt76.phy;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
632
struct mt7996_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
649
phy = (struct mt7996_phy *)mphy->priv;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
650
phy->throttle_state = n->duty_percent;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
805
mt7996_mcu_bss_rfch_tlv(struct sk_buff *skb, struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
812
struct cfg80211_chan_def *chandef = &phy->mt76->chandef;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
823
ch->tx_streams = hweight8(phy->mt76->antenna_mask);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
824
ch->rx_streams = hweight8(phy->mt76->antenna_mask);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
835
mt7996_mcu_bss_ra_tlv(struct sk_buff *skb, struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
849
struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
857
cap = mt76_connac_get_he_phy_cap(phy->mt76, vif);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
898
struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
901
struct cfg80211_chan_def *chandef = &phy->mt76->chandef;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.h
583
struct sta_phy_uni phy;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.h
597
struct sta_phy_uni phy;
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
255
struct mt7996_phy *phy;
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
402
struct mt7996_phy phy;
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
529
mt7996_get_rdd_idx(struct mt7996_phy *phy, bool is_background)
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
531
if (!phy->mt76->cap.has_5ghz)
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
537
if (phy->mt76->band_idx == MT_BAND2)
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
546
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
548
return container_of(phy->dev, struct mt7996_dev, mt76);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
554
struct mt76_phy *phy = dev->mt76.phys[band];
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
556
if (!phy)
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
559
return phy->priv;
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
620
#define mt7996_for_each_phy(dev, phy) \
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
622
if (((phy) = (dev)->radio_phy[__i]) != NULL)
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
643
int mt7996_eeprom_parse_hw_cap(struct mt7996_dev *dev, struct mt7996_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
653
int mt7996_init_tx_queues(struct mt7996_phy *phy, int idx,
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
655
void mt7996_init_txpower(struct mt7996_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
658
int mt7996_run(struct mt7996_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
665
int mt7996_mcu_add_dev_info(struct mt7996_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
668
int mt7996_mcu_add_bss_info(struct mt7996_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
695
int mt7996_mcu_add_obss_spr(struct mt7996_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
702
int mt7996_mcu_set_chan_info(struct mt7996_phy *phy, u16 tag);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
720
int mt7996_mcu_set_radio_en(struct mt7996_phy *phy, bool enable);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
721
int mt7996_mcu_set_rts_thresh(struct mt7996_phy *phy, u32 val);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
722
int mt7996_mcu_set_timing(struct mt7996_phy *phy, struct ieee80211_vif *vif,
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
724
int mt7996_mcu_get_chan_mib_info(struct mt7996_phy *phy, bool chan_switch);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
725
int mt7996_mcu_get_temperature(struct mt7996_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
726
int mt7996_mcu_set_thermal_throttling(struct mt7996_phy *phy, u8 state);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
727
int mt7996_mcu_set_thermal_protect(struct mt7996_phy *phy, bool enable);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
728
int mt7996_mcu_set_txpower_sku(struct mt7996_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
730
int mt7996_mcu_rdd_background_enable(struct mt7996_phy *phy,
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
732
int mt7996_mcu_set_fixed_rate_table(struct mt7996_phy *phy, u8 table_idx,
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
743
int mt7996_mcu_get_all_sta_info(struct mt7996_phy *phy, u16 tag);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
745
int mt7996_mcu_set_sniffer_mode(struct mt7996_phy *phy, bool enabled);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
788
static inline u16 mt7996_rx_chainmask(struct mt7996_phy *phy)
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
790
int max_nss = hweight16(phy->orig_antenna_mask);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
791
int cur_nss = hweight8(phy->mt76->antenna_mask);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
792
u16 tx_chainmask = phy->mt76->chainmask;
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
797
return tx_chainmask | (BIT(fls(tx_chainmask)) * phy->has_aux_rx);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
808
void mt7996_mac_reset_counters(struct mt7996_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
809
void mt7996_mac_cca_stats_reset(struct mt7996_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
815
void mt7996_mac_update_beacons(struct mt7996_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
816
void mt7996_mac_set_coverage_class(struct mt7996_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
821
void mt7996_mac_update_stats(struct mt7996_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
845
int mt7996_dfs_init_radar_detector(struct mt7996_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
846
void mt7996_set_stream_he_eht_caps(struct mt7996_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
847
void mt7996_set_stream_vht_txbf_caps(struct mt7996_phy *phy);
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
876
int mt7996_mtk_init_debugfs(struct mt7996_phy *phy, struct dentry *dir);
drivers/net/wireless/mediatek/mt76/npu.c
206
int mt76_npu_dma_add_buf(struct mt76_phy *phy, struct mt76_queue *q,
drivers/net/wireless/mediatek/mt76/npu.c
210
u16 txwi_len = min_t(u16, phy->dev->drv->txwi_size, NPU_TXWI_LEN);
drivers/net/wireless/mediatek/mt76/npu.c
306
struct mt76_phy *phy = cb_priv;
drivers/net/wireless/mediatek/mt76/npu.c
307
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/npu.c
325
static int mt76_npu_setup_tc_block(struct mt76_phy *phy,
drivers/net/wireless/mediatek/mt76/npu.c
348
block_cb = flow_block_cb_alloc(cb, dev, phy, NULL);
drivers/net/wireless/mediatek/mt76/npu.c
375
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/npu.c
380
if (!mt76_npu_device_active(phy->dev))
drivers/net/wireless/mediatek/mt76/npu.c
386
return mt76_npu_setup_tc_block(phy, dev, type_data);
drivers/net/wireless/mediatek/mt76/scan.c
103
mt76_set_channel(phy, &chandef, true);
drivers/net/wireless/mediatek/mt76/scan.c
121
ieee80211_queue_delayed_work(dev->phy.hw, &dev->scan_work, duration);
drivers/net/wireless/mediatek/mt76/scan.c
127
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/scan.c
128
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/scan.c
133
phy = dev->band_phys[req->req.channels[0]->band];
drivers/net/wireless/mediatek/mt76/scan.c
134
if (!phy)
drivers/net/wireless/mediatek/mt76/scan.c
14
if (!phy)
drivers/net/wireless/mediatek/mt76/scan.c
140
if (dev->scan.req || phy->roc_vif ||
drivers/net/wireless/mediatek/mt76/scan.c
141
test_bit(MT76_MCU_RESET, &dev->phy.state)) {
drivers/net/wireless/mediatek/mt76/scan.c
146
mlink = mt76_get_vif_phy_link(phy, vif);
drivers/net/wireless/mediatek/mt76/scan.c
155
dev->scan.phy = phy;
drivers/net/wireless/mediatek/mt76/scan.c
157
ieee80211_queue_delayed_work(dev->phy.hw, &dev->scan_work, 0);
drivers/net/wireless/mediatek/mt76/scan.c
168
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/scan.c
17
clear_bit(MT76_SCANNING, &phy->state);
drivers/net/wireless/mediatek/mt76/scan.c
170
mt76_abort_scan(phy->dev);
drivers/net/wireless/mediatek/mt76/scan.c
19
if (dev->scan.chan && phy->main_chandef.chan &&
drivers/net/wireless/mediatek/mt76/scan.c
20
!test_bit(MT76_MCU_RESET, &dev->phy.state))
drivers/net/wireless/mediatek/mt76/scan.c
21
mt76_set_channel(phy, &phy->main_chandef, false);
drivers/net/wireless/mediatek/mt76/scan.c
22
mt76_put_vif_phy_link(phy, dev->scan.vif, dev->scan.mlink);
drivers/net/wireless/mediatek/mt76/scan.c
24
if (!test_bit(MT76_MCU_RESET, &dev->phy.state))
drivers/net/wireless/mediatek/mt76/scan.c
25
ieee80211_scan_completed(phy->hw, &info);
drivers/net/wireless/mediatek/mt76/scan.c
42
struct mt76_phy *phy = dev->scan.phy;
drivers/net/wireless/mediatek/mt76/scan.c
46
skb = ieee80211_probereq_get(phy->hw, vif->addr, ssid->ssid,
drivers/net/wireless/mediatek/mt76/scan.c
66
if (!ieee80211_tx_prepare_skb(phy->hw, vif, skb, band, NULL))
drivers/net/wireless/mediatek/mt76/scan.c
74
mt76_tx(phy, NULL, mvif->wcid, skb);
drivers/net/wireless/mediatek/mt76/scan.c
86
struct mt76_phy *phy = dev->scan.phy;
drivers/net/wireless/mediatek/mt76/scan.c
9
struct mt76_phy *phy = dev->scan.phy;
drivers/net/wireless/mediatek/mt76/scan.c
95
if (dev->scan.chan && phy->num_sta) {
drivers/net/wireless/mediatek/mt76/scan.c
97
mt76_set_channel(phy, &phy->main_chandef, false);
drivers/net/wireless/mediatek/mt76/sdio.c
146
if (test_bit(MT76_STATE_MCU_RUNNING, &dev->phy.state))
drivers/net/wireless/mediatek/mt76/sdio.c
155
if (test_bit(MT76_STATE_MCU_RUNNING, &dev->phy.state))
drivers/net/wireless/mediatek/mt76/sdio.c
353
dev->phy.q_tx[i] = q;
drivers/net/wireless/mediatek/mt76/sdio.c
391
if (!test_bit(MT76_STATE_INITIALIZED, &dev->phy.state))
drivers/net/wireless/mediatek/mt76/sdio.c
476
dev->phy.q_tx[i]);
drivers/net/wireless/mediatek/mt76/sdio.c
482
!test_and_set_bit(MT76_READING_STATS, &dev->phy.state) &&
drivers/net/wireless/mediatek/mt76/sdio.c
483
!test_bit(MT76_STATE_SUSPEND, &dev->phy.state))
drivers/net/wireless/mediatek/mt76/sdio.c
502
if (test_bit(MT76_RESET, &dev->phy.state) ||
drivers/net/wireless/mediatek/mt76/sdio.c
503
test_bit(MT76_REMOVED, &dev->phy.state))
drivers/net/wireless/mediatek/mt76/sdio.c
511
if (count && test_bit(MT76_STATE_RUNNING, &dev->phy.state))
drivers/net/wireless/mediatek/mt76/sdio.c
514
clear_bit(MT76_READING_STATS, &dev->phy.state);
drivers/net/wireless/mediatek/mt76/sdio.c
518
mt76s_tx_queue_skb(struct mt76_phy *phy, struct mt76_queue *q,
drivers/net/wireless/mediatek/mt76/sdio.c
525
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/sdio.c
610
clear_bit(MT76_READING_STATS, &dev->phy.state);
drivers/net/wireless/mediatek/mt76/sdio_txrx.c
258
if (test_bit(MT76_MCU_RESET, &dev->phy.state))
drivers/net/wireless/mediatek/mt76/sdio_txrx.c
261
if (!test_bit(MT76_STATE_MCU_RUNNING, &dev->phy.state)) {
drivers/net/wireless/mediatek/mt76/sdio_txrx.c
330
ret = mt76s_tx_run_queue(dev, dev->phy.q_tx[i]);
drivers/net/wireless/mediatek/mt76/sdio_txrx.c
343
if (test_bit(MT76_MCU_RESET, &dev->phy.state) ||
drivers/net/wireless/mediatek/mt76/sdio_txrx.c
344
test_bit(MT76_STATE_SUSPEND, &dev->phy.state)) {
drivers/net/wireless/mediatek/mt76/sdio_txrx.c
364
if (!test_bit(MT76_STATE_INITIALIZED, &dev->phy.state) ||
drivers/net/wireless/mediatek/mt76/sdio_txrx.c
365
test_bit(MT76_MCU_RESET, &dev->phy.state))
drivers/net/wireless/mediatek/mt76/sdio_txrx.c
380
q = dev->phy.q_tx[i];
drivers/net/wireless/mediatek/mt76/testmode.c
101
int mt76_testmode_alloc_skb(struct mt76_phy *phy, u32 len)
drivers/net/wireless/mediatek/mt76/testmode.c
106
struct mt76_testmode_data *td = &phy->test;
drivers/net/wireless/mediatek/mt76/testmode.c
113
max_len = mt76_testmode_max_mpdu_len(phy, td->tx_rate_mode);
drivers/net/wireless/mediatek/mt76/testmode.c
143
info->hw_queue |= FIELD_PREP(MT_TX_HW_QUEUE_PHY, phy->band_idx);
drivers/net/wireless/mediatek/mt76/testmode.c
157
mt76_testmode_free_skb(phy);
drivers/net/wireless/mediatek/mt76/testmode.c
170
mt76_testmode_free_skb(phy);
drivers/net/wireless/mediatek/mt76/testmode.c
178
mt76_testmode_tx_init(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/testmode.c
180
struct mt76_testmode_data *td = &phy->test;
drivers/net/wireless/mediatek/mt76/testmode.c
183
u8 max_nss = hweight8(phy->antenna_mask);
drivers/net/wireless/mediatek/mt76/testmode.c
186
ret = mt76_testmode_alloc_skb(phy, td->tx_mpdu_len);
drivers/net/wireless/mediatek/mt76/testmode.c
203
if (phy->chandef.chan->band != NL80211_BAND_2GHZ)
drivers/net/wireless/mediatek/mt76/testmode.c
210
if (phy->chandef.chan->band != NL80211_BAND_2GHZ)
drivers/net/wireless/mediatek/mt76/testmode.c
221
phy->chandef.width >= NL80211_CHAN_WIDTH_40))
drivers/net/wireless/mediatek/mt76/testmode.c
250
switch (phy->chandef.width) {
drivers/net/wireless/mediatek/mt76/testmode.c
270
mt76_testmode_tx_start(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/testmode.c
272
struct mt76_testmode_data *td = &phy->test;
drivers/net/wireless/mediatek/mt76/testmode.c
273
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/testmode.c
282
mt76_testmode_tx_stop(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/testmode.c
284
struct mt76_testmode_data *td = &phy->test;
drivers/net/wireless/mediatek/mt76/testmode.c
285
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/testmode.c
296
mt76_testmode_free_skb(phy);
drivers/net/wireless/mediatek/mt76/testmode.c
31
void mt76_testmode_tx_pending(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/testmode.c
312
mt76_testmode_init_defaults(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/testmode.c
314
struct mt76_testmode_data *td = &phy->test;
drivers/net/wireless/mediatek/mt76/testmode.c
324
memcpy(td->addr[0], phy->macaddr, ETH_ALEN);
drivers/net/wireless/mediatek/mt76/testmode.c
325
memcpy(td->addr[1], phy->macaddr, ETH_ALEN);
drivers/net/wireless/mediatek/mt76/testmode.c
326
memcpy(td->addr[2], phy->macaddr, ETH_ALEN);
drivers/net/wireless/mediatek/mt76/testmode.c
33
struct mt76_testmode_data *td = &phy->test;
drivers/net/wireless/mediatek/mt76/testmode.c
330
__mt76_testmode_set_state(struct mt76_phy *phy, enum mt76_testmode_state state)
drivers/net/wireless/mediatek/mt76/testmode.c
332
enum mt76_testmode_state prev_state = phy->test.state;
drivers/net/wireless/mediatek/mt76/testmode.c
333
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/testmode.c
337
mt76_testmode_tx_stop(phy);
drivers/net/wireless/mediatek/mt76/testmode.c
34
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/testmode.c
340
err = mt76_testmode_tx_init(phy);
drivers/net/wireless/mediatek/mt76/testmode.c
345
err = dev->test_ops->set_state(phy, state);
drivers/net/wireless/mediatek/mt76/testmode.c
348
mt76_testmode_tx_stop(phy);
drivers/net/wireless/mediatek/mt76/testmode.c
354
mt76_testmode_tx_start(phy);
drivers/net/wireless/mediatek/mt76/testmode.c
356
memset(&phy->test.rx_stats, 0, sizeof(phy->test.rx_stats));
drivers/net/wireless/mediatek/mt76/testmode.c
359
phy->test.state = state;
drivers/net/wireless/mediatek/mt76/testmode.c
364
int mt76_testmode_set_state(struct mt76_phy *phy, enum mt76_testmode_state state)
drivers/net/wireless/mediatek/mt76/testmode.c
366
struct mt76_testmode_data *td = &phy->test;
drivers/net/wireless/mediatek/mt76/testmode.c
367
struct ieee80211_hw *hw = phy->hw;
drivers/net/wireless/mediatek/mt76/testmode.c
373
(!test_bit(MT76_STATE_RUNNING, &phy->state) ||
drivers/net/wireless/mediatek/mt76/testmode.c
381
ret = __mt76_testmode_set_state(phy, MT76_TM_STATE_IDLE);
drivers/net/wireless/mediatek/mt76/testmode.c
386
return __mt76_testmode_set_state(phy, state);
drivers/net/wireless/mediatek/mt76/testmode.c
410
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/testmode.c
411
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/testmode.c
412
struct mt76_testmode_data *td = &phy->test;
drivers/net/wireless/mediatek/mt76/testmode.c
431
mt76_testmode_set_state(phy, MT76_TM_STATE_OFF);
drivers/net/wireless/mediatek/mt76/testmode.c
435
mt76_testmode_init_defaults(phy);
drivers/net/wireless/mediatek/mt76/testmode.c
446
1, hweight8(phy->antenna_mask)) ||
drivers/net/wireless/mediatek/mt76/testmode.c
45
q = phy->q_tx[qid];
drivers/net/wireless/mediatek/mt76/testmode.c
463
if (val > mt76_testmode_max_mpdu_len(phy, td->tx_rate_mode) ||
drivers/net/wireless/mediatek/mt76/testmode.c
516
err = dev->test_ops->set_params(phy, tb, state);
drivers/net/wireless/mediatek/mt76/testmode.c
527
err = mt76_testmode_set_state(phy, state);
drivers/net/wireless/mediatek/mt76/testmode.c
537
mt76_testmode_dump_stats(struct mt76_phy *phy, struct sk_buff *msg)
drivers/net/wireless/mediatek/mt76/testmode.c
539
struct mt76_testmode_data *td = &phy->test;
drivers/net/wireless/mediatek/mt76/testmode.c
540
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/testmode.c
548
ret = dev->test_ops->dump_stats(phy, msg);
drivers/net/wireless/mediatek/mt76/testmode.c
56
ret = dev->queue_ops->tx_queue_skb(phy, q, qid, skb_get(skb),
drivers/net/wireless/mediatek/mt76/testmode.c
573
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/testmode.c
574
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/testmode.c
575
struct mt76_testmode_data *td = &phy->test;
drivers/net/wireless/mediatek/mt76/testmode.c
601
err = mt76_testmode_dump_stats(phy, msg);
drivers/net/wireless/mediatek/mt76/testmode.c
608
mt76_testmode_init_defaults(phy);
drivers/net/wireless/mediatek/mt76/testmode.c
71
mt76_testmode_max_mpdu_len(struct mt76_phy *phy, u8 tx_rate_mode)
drivers/net/wireless/mediatek/mt76/testmode.c
81
if (phy->sband_5g.sband.vht_cap.cap &
drivers/net/wireless/mediatek/mt76/testmode.c
93
mt76_testmode_free_skb(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/testmode.c
95
struct mt76_testmode_data *td = &phy->test;
drivers/net/wireless/mediatek/mt76/tx.c
259
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/tx.c
261
if (skb == phy->test.tx_skb)
drivers/net/wireless/mediatek/mt76/tx.c
262
phy->test.tx_done++;
drivers/net/wireless/mediatek/mt76/tx.c
263
if (phy->test.tx_queued == phy->test.tx_done)
drivers/net/wireless/mediatek/mt76/tx.c
298
__mt76_tx_queue_skb(struct mt76_phy *phy, int qid, struct sk_buff *skb,
drivers/net/wireless/mediatek/mt76/tx.c
303
struct mt76_queue *q = phy->q_tx[qid];
drivers/net/wireless/mediatek/mt76/tx.c
304
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/tx.c
310
idx = dev->queue_ops->tx_queue_skb(phy, q, qid, skb, wcid, sta);
drivers/net/wireless/mediatek/mt76/tx.c
331
mt76_tx(struct mt76_phy *phy, struct ieee80211_sta *sta,
drivers/net/wireless/mediatek/mt76/tx.c
338
if (mt76_testmode_enabled(phy)) {
drivers/net/wireless/mediatek/mt76/tx.c
339
ieee80211_free_txskb(phy->hw, skb);
drivers/net/wireless/mediatek/mt76/tx.c
350
info->hw_queue |= FIELD_PREP(MT_TX_HW_QUEUE_PHY, phy->band_idx);
drivers/net/wireless/mediatek/mt76/tx.c
363
spin_lock_bh(&phy->tx_lock);
drivers/net/wireless/mediatek/mt76/tx.c
365
list_add_tail(&wcid->tx_list, &phy->tx_list);
drivers/net/wireless/mediatek/mt76/tx.c
366
spin_unlock_bh(&phy->tx_lock);
drivers/net/wireless/mediatek/mt76/tx.c
368
mt76_worker_schedule(&phy->dev->tx_worker);
drivers/net/wireless/mediatek/mt76/tx.c
373
mt76_txq_dequeue(struct mt76_phy *phy, struct mt76_txq *mtxq)
drivers/net/wireless/mediatek/mt76/tx.c
379
skb = ieee80211_tx_dequeue(phy->hw, txq);
drivers/net/wireless/mediatek/mt76/tx.c
384
info->hw_queue |= FIELD_PREP(MT_TX_HW_QUEUE_PHY, phy->band_idx);
drivers/net/wireless/mediatek/mt76/tx.c
390
mt76_queue_ps_skb(struct mt76_phy *phy, struct ieee80211_sta *sta,
drivers/net/wireless/mediatek/mt76/tx.c
402
__mt76_tx_queue_skb(phy, MT_TXQ_PSD, skb, wcid, sta, NULL);
drivers/net/wireless/mediatek/mt76/tx.c
411
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/tx.c
412
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/tx.c
414
struct mt76_queue *hwq = phy->q_tx[MT_TXQ_PSD];
drivers/net/wireless/mediatek/mt76/tx.c
427
skb = mt76_txq_dequeue(phy, mtxq);
drivers/net/wireless/mediatek/mt76/tx.c
433
mt76_queue_ps_skb(phy, sta, last_skb, false);
drivers/net/wireless/mediatek/mt76/tx.c
440
mt76_queue_ps_skb(phy, sta, last_skb, true);
drivers/net/wireless/mediatek/mt76/tx.c
458
mt76_txq_send_burst(struct mt76_phy *phy, struct mt76_queue *q,
drivers/net/wireless/mediatek/mt76/tx.c
461
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/tx.c
476
skb = mt76_txq_dequeue(phy, mtxq);
drivers/net/wireless/mediatek/mt76/tx.c
486
idx = __mt76_tx_queue_skb(phy, qid, skb, wcid, txq->sta, &stop);
drivers/net/wireless/mediatek/mt76/tx.c
492
if (test_bit(MT76_RESET, &phy->state) || phy->offchannel)
drivers/net/wireless/mediatek/mt76/tx.c
498
skb = mt76_txq_dequeue(phy, mtxq);
drivers/net/wireless/mediatek/mt76/tx.c
508
idx = __mt76_tx_queue_skb(phy, qid, skb, wcid, txq->sta, &stop);
drivers/net/wireless/mediatek/mt76/tx.c
524
mt76_txq_schedule_list(struct mt76_phy *phy, enum mt76_txq_id qid)
drivers/net/wireless/mediatek/mt76/tx.c
526
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/tx.c
536
txq = ieee80211_next_txq(phy->hw, qid);
drivers/net/wireless/mediatek/mt76/tx.c
545
phy = mt76_dev_phy(dev, wcid->phy_idx);
drivers/net/wireless/mediatek/mt76/tx.c
546
if (test_bit(MT76_RESET, &phy->state) || phy->offchannel)
drivers/net/wireless/mediatek/mt76/tx.c
549
q = phy->q_tx[qid];
drivers/net/wireless/mediatek/mt76/tx.c
567
n_frames = mt76_txq_send_burst(phy, q, mtxq, wcid);
drivers/net/wireless/mediatek/mt76/tx.c
569
ieee80211_return_txq(phy->hw, txq, false);
drivers/net/wireless/mediatek/mt76/tx.c
580
void mt76_txq_schedule(struct mt76_phy *phy, enum mt76_txq_id qid)
drivers/net/wireless/mediatek/mt76/tx.c
591
ieee80211_txq_schedule_start(phy->hw, qid);
drivers/net/wireless/mediatek/mt76/tx.c
592
len = mt76_txq_schedule_list(phy, qid);
drivers/net/wireless/mediatek/mt76/tx.c
593
ieee80211_txq_schedule_end(phy->hw, qid);
drivers/net/wireless/mediatek/mt76/tx.c
602
mt76_txq_schedule_pending_wcid(struct mt76_phy *phy, struct mt76_wcid *wcid,
drivers/net/wireless/mediatek/mt76/tx.c
605
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/tx.c
625
q = phy->q_tx[qid];
drivers/net/wireless/mediatek/mt76/tx.c
626
if (mt76_txq_stopped(q) || test_bit(MT76_RESET, &phy->state)) {
drivers/net/wireless/mediatek/mt76/tx.c
636
__mt76_tx_queue_skb(phy, qid, skb, wcid, sta, NULL);
drivers/net/wireless/mediatek/mt76/tx.c
647
static void mt76_txq_schedule_pending(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/tx.c
652
if (list_empty(&phy->tx_list))
drivers/net/wireless/mediatek/mt76/tx.c
658
spin_lock(&phy->tx_lock);
drivers/net/wireless/mediatek/mt76/tx.c
659
list_splice_init(&phy->tx_list, &tx_list);
drivers/net/wireless/mediatek/mt76/tx.c
666
spin_unlock(&phy->tx_lock);
drivers/net/wireless/mediatek/mt76/tx.c
668
ret = mt76_txq_schedule_pending_wcid(phy, wcid, &wcid->tx_offchannel);
drivers/net/wireless/mediatek/mt76/tx.c
669
if (ret >= 0 && !phy->offchannel)
drivers/net/wireless/mediatek/mt76/tx.c
670
ret = mt76_txq_schedule_pending_wcid(phy, wcid, &wcid->tx_pending);
drivers/net/wireless/mediatek/mt76/tx.c
671
spin_lock(&phy->tx_lock);
drivers/net/wireless/mediatek/mt76/tx.c
676
list_add_tail(&wcid->tx_list, &phy->tx_list);
drivers/net/wireless/mediatek/mt76/tx.c
678
spin_unlock(&phy->tx_lock);
drivers/net/wireless/mediatek/mt76/tx.c
684
void mt76_txq_schedule_all(struct mt76_phy *phy)
drivers/net/wireless/mediatek/mt76/tx.c
686
struct mt76_phy *main_phy = &phy->dev->phy;
drivers/net/wireless/mediatek/mt76/tx.c
689
mt76_txq_schedule_pending(phy);
drivers/net/wireless/mediatek/mt76/tx.c
691
if (phy != main_phy && phy->hw == main_phy->hw)
drivers/net/wireless/mediatek/mt76/tx.c
695
mt76_txq_schedule(phy, i);
drivers/net/wireless/mediatek/mt76/tx.c
701
struct mt76_phy *phy;
drivers/net/wireless/mediatek/mt76/tx.c
704
mt76_txq_schedule_all(&dev->phy);
drivers/net/wireless/mediatek/mt76/tx.c
706
phy = dev->phys[i];
drivers/net/wireless/mediatek/mt76/tx.c
707
if (!phy)
drivers/net/wireless/mediatek/mt76/tx.c
710
mt76_txq_schedule_all(phy);
drivers/net/wireless/mediatek/mt76/tx.c
715
phy = dev->phys[i];
drivers/net/wireless/mediatek/mt76/tx.c
716
if (!phy || !phy->test.tx_pending)
drivers/net/wireless/mediatek/mt76/tx.c
719
mt76_testmode_tx_pending(phy);
drivers/net/wireless/mediatek/mt76/tx.c
732
void mt76_stop_tx_queues(struct mt76_phy *phy, struct ieee80211_sta *sta,
drivers/net/wireless/mediatek/mt76/tx.c
745
hwq = phy->q_tx[mt76_txq_get_qid(txq)];
drivers/net/wireless/mediatek/mt76/tx.c
757
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/tx.c
758
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/tx.c
820
struct mt76_phy *phy = &dev->phy;
drivers/net/wireless/mediatek/mt76/tx.c
821
struct mt76_queue *q = phy->q_tx[0];
drivers/net/wireless/mediatek/mt76/tx.c
828
phy = dev->phys[MT_BAND1];
drivers/net/wireless/mediatek/mt76/tx.c
829
if (phy) {
drivers/net/wireless/mediatek/mt76/tx.c
830
q = phy->q_tx[0];
drivers/net/wireless/mediatek/mt76/tx.c
833
phy = dev->phys[MT_BAND2];
drivers/net/wireless/mediatek/mt76/tx.c
834
if (phy) {
drivers/net/wireless/mediatek/mt76/tx.c
835
q = phy->q_tx[0];
drivers/net/wireless/mediatek/mt76/tx.c
909
dev->phy.q_tx[0]->blocked)
drivers/net/wireless/mediatek/mt76/usb.c
1000
ret = wait_event_timeout(dev->tx_wait, !mt76_has_tx_pending(&dev->phy),
drivers/net/wireless/mediatek/mt76/usb.c
1010
q = dev->phy.q_tx[i];
drivers/net/wireless/mediatek/mt76/usb.c
1024
q = dev->phy.q_tx[i];
drivers/net/wireless/mediatek/mt76/usb.c
1039
clear_bit(MT76_READING_STATS, &dev->phy.state);
drivers/net/wireless/mediatek/mt76/usb.c
250
if (test_bit(MT76_STATE_MCU_RUNNING, &dev->phy.state))
drivers/net/wireless/mediatek/mt76/usb.c
277
if (test_bit(MT76_STATE_MCU_RUNNING, &dev->phy.state))
drivers/net/wireless/mediatek/mt76/usb.c
31
if (test_bit(MT76_REMOVED, &dev->phy.state))
drivers/net/wireless/mediatek/mt76/usb.c
37
set_bit(MT76_REMOVED, &dev->phy.state);
drivers/net/wireless/mediatek/mt76/usb.c
520
if (!test_bit(MT76_STATE_INITIALIZED, &dev->phy.state))
drivers/net/wireless/mediatek/mt76/usb.c
767
if (!test_bit(MT76_STATE_RUNNING, &dev->phy.state))
drivers/net/wireless/mediatek/mt76/usb.c
771
q = dev->phy.q_tx[i];
drivers/net/wireless/mediatek/mt76/usb.c
792
!test_and_set_bit(MT76_READING_STATS, &dev->phy.state))
drivers/net/wireless/mediatek/mt76/usb.c
807
if (test_bit(MT76_REMOVED, &dev->phy.state))
drivers/net/wireless/mediatek/mt76/usb.c
815
if (count && test_bit(MT76_STATE_RUNNING, &dev->phy.state))
drivers/net/wireless/mediatek/mt76/usb.c
818
clear_bit(MT76_READING_STATS, &dev->phy.state);
drivers/net/wireless/mediatek/mt76/usb.c
853
mt76u_tx_queue_skb(struct mt76_phy *phy, struct mt76_queue *q,
drivers/net/wireless/mediatek/mt76/usb.c
860
struct mt76_dev *dev = phy->dev;
drivers/net/wireless/mediatek/mt76/usb.c
899
set_bit(MT76_REMOVED, &dev->phy.state);
drivers/net/wireless/mediatek/mt76/usb.c
954
dev->phy.q_tx[i] = q;
drivers/net/wireless/mediatek/mt76/usb.c
983
q = dev->phy.q_tx[i];
drivers/net/wireless/mediatek/mt76/wed.c
187
struct mt76_phy *phy = hw->priv;
drivers/net/wireless/mediatek/mt76/wed.c
188
struct mtk_wed_device *wed = &phy->dev->mmio.wed;
drivers/net/wireless/mediatek/mt76/wed.c
201
if (!test_bit(MT76_STATE_WED_RESET, &dev->phy.state))
drivers/net/wireless/mediatek/mt7601u/mac.c
108
u8 phy, rate_idx;
drivers/net/wireless/mediatek/mt7601u/mac.c
115
phy = MT_PHY_TYPE_HT;
drivers/net/wireless/mediatek/mt7601u/mac.c
117
phy = MT_PHY_TYPE_HT_GF;
drivers/net/wireless/mediatek/mt7601u/mac.c
131
phy = val >> 8;
drivers/net/wireless/mediatek/mt7601u/mac.c
137
rateval |= FIELD_PREP(MT_RXWI_RATE_PHY, phy);
drivers/net/wireless/realtek/rtlwifi/base.c
1331
rtlpriv->phy.need_iqk = true;
drivers/net/wireless/realtek/rtlwifi/base.c
156
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/base.c
705
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/base.c
911
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/base.c
949
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
114
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
507
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
89
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/core.c
572
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rc.c
20
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/dm.c
253
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/dm.c
613
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
1036
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
1171
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
1442
rtlpriv->phy.iqk_initialized = false;
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
1933
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
1967
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
2057
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
2475
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c
1067
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c
1136
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c
1157
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c
1185
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c
1216
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c
144
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c
1677
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c
1921
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c
194
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c
2035
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c
2062
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c
2100
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c
334
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c
507
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c
778
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c
809
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c
895
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c
981
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/rf.c
143
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/rf.c
16
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/rf.c
183
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/rf.c
400
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/rf.c
41
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/rf.c
413
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192c/dm_common.c
1339
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192c/dm_common.c
1695
rtlpriv->phy.current_channel);
drivers/net/wireless/realtek/rtlwifi/rtl8192c/dm_common.c
703
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
1198
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
129
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
1353
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
1505
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
1544
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
171
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
213
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
367
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
398
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
486
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
514
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
540
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
567
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
656
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
678
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
707
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
736
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
75
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
782
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/dm.c
17
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c
1037
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c
1353
rtlpriv->phy.iqk_initialized = false;
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c
1716
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c
1750
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c
1841
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c
2282
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c
912
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/phy.c
26
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/phy.c
291
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/phy.c
99
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/rf.c
129
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/rf.c
16
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/rf.c
172
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/rf.c
310
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/rf.c
394
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/rf.c
408
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/rf.c
41
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/dm.c
14
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c
1265
rtlpriv->phy.iqk_initialized = false;
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c
1809
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c
1898
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c
27
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c
857
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/mac.c
30
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/mac.c
579
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/phy.c
119
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/phy.c
142
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/phy.c
184
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/phy.c
216
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/phy.c
23
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/phy.c
267
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/phy.c
48
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c
124
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c
16
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c
163
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c
285
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c
365
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c
381
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c
41
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192d/dm_common.c
147
for (i = RF90_PATH_A; i < rtlpriv->phy.num_total_rfpath; i++)
drivers/net/wireless/realtek/rtlwifi/rtl8192d/dm_common.c
149
(rtlpriv->phy.reg_rf3c[i] & ~0xF000) | u4tmp);
drivers/net/wireless/realtek/rtlwifi/rtl8192d/dm_common.c
286
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192d/hw_common.c
776
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192d/hw_common.c
862
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192d/phy_common.c
108
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192d/phy_common.c
138
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192d/phy_common.c
25
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192d/phy_common.c
267
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192d/phy_common.c
318
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192d/phy_common.c
346
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192d/phy_common.c
384
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192d/phy_common.c
429
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192d/phy_common.c
466
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192d/phy_common.c
612
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192d/phy_common.c
638
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192d/phy_common.c
671
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192d/phy_common.c
70
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192d/phy_common.c
746
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192d/rf_common.c
13
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192d/rf_common.c
130
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192d/rf_common.c
167
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192d/rf_common.c
195
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192d/rf_common.c
284
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192d/rf_common.c
56
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192d/trx_common.c
178
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192d/trx_common.c
29
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192de/dm.c
29
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c
554
switch (rtlpriv->phy.rf_type) {
drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c
587
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c
837
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
1078
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
1203
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
1368
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
1691
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
1818
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
2024
_rtl92d_phy_reload_lck_setting(hw, rtlpriv->phy.current_channel);
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
2038
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
2084
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
2196
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
2509
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
383
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
518
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
718
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
956
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192de/rf.c
71
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c
81
rtlpriv->phy.current_channel = 36;
drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c
83
rtlpriv->phy.current_channel = 1;
drivers/net/wireless/realtek/rtlwifi/rtl8192du/dm.c
50
if (rtlpriv->phy.rf_type == RF_2T2R)
drivers/net/wireless/realtek/rtlwifi/rtl8192du/hw.c
499
switch (rtlpriv->phy.rf_type) {
drivers/net/wireless/realtek/rtlwifi/rtl8192du/hw.c
638
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192du/hw.c
987
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
1035
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
1191
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
1364
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
1544
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
2046
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
2179
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
2422
_rtl92du_phy_reload_lck_setting(hw, rtlpriv->phy.current_channel);
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
2429
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
2452
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
2749
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
351
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
512
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192du/phy.c
728
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192du/rf.c
83
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192du/sw.c
131
rtlpriv->phy.current_channel = 36;
drivers/net/wireless/realtek/rtlwifi/rtl8192du/sw.c
133
rtlpriv->phy.current_channel = 1;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/dm.c
287
if (rtlpriv->phy.rf_type != RF_1T1R)
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/dm.c
702
if (rtlpriv->phy.rf_type == RF_1T1R)
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c
1277
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c
1431
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c
1670
rtlpriv->phy.iqk_initialized = false;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c
2183
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c
2254
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
1005
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
1036
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
1065
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
1153
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
138
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
1535
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
1576
struct rtl_phy *rtlphy = &rtl_priv(hw)->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
1651
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
1720
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
1741
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
1769
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
1800
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
187
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
2478
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
2785
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
2910
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
2937
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
2975
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
370
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
388
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
427
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
466
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
537
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
610
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
830
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/rf.c
16
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/rf.c
44
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/rf.c
57
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8192se/dm.c
176
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/dm.c
289
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/dm.c
482
digtable->cur_igvalue = rtlpriv->phy.default_initialgain[0];
drivers/net/wireless/realtek/rtlwifi/rtl8192se/dm.c
543
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/dm.c
562
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/dm.c
70
if (rtlpriv->phy.rf_type == RF_1T2R) {
drivers/net/wireless/realtek/rtlwifi/rtl8192se/fw.c
84
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c
1634
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c
2001
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c
2103
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c
884
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c
923
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c
1009
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c
1049
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c
1064
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c
1096
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c
1125
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c
1187
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c
123
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c
169
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c
223
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c
314
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c
418
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c
638
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c
65
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c
666
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c
820
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c
878
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c
936
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/rf.c
113
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/rf.c
157
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/rf.c
17
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/rf.c
290
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/rf.c
401
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/rf.c
488
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/dm.c
343
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hal_bt_coexist.c
22
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hal_btc.c
1147
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hal_btc.c
49
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hal_btc.c
971
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
1028
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
1309
rtlpriv->phy.iqk_initialized = false;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
1778
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
1821
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
1911
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
2068
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
910
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
1134
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
1333
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
1442
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
1480
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
184
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
294
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
39
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
526
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
557
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
587
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
613
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
639
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
69
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
732
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
801
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
822
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
850
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
878
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
901
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/rf.c
133
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/rf.c
16
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/rf.c
177
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/rf.c
322
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/rf.c
404
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/rf.c
41
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/rf.c
417
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/dm.c
1143
if (rtlpriv->phy.rf_type == RF_1T1R)
drivers/net/wireless/realtek/rtlwifi/rtl8723be/dm.c
365
if (rtlpriv->phy.rf_type != RF_1T1R)
drivers/net/wireless/realtek/rtlwifi/rtl8723be/dm.c
650
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1330
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1454
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
1661
rtlpriv->phy.iqk_initialized = false;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
2247
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
2313
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
2471
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
1138
rtl_priv(hw)->phy.current_chan_bw,
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
1146
rtl_priv(hw)->phy.current_chan_bw,
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
1154
rtl_priv(hw)->phy.current_chan_bw,
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
1191
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
1260
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
1281
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
1311
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
1342
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
2009
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
2255
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
2398
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
242
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
2425
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
2464
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
283
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
325
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
366
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
439
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
493
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
683
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
775
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
880
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/rf.c
143
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723be/rf.c
16
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723be/rf.c
184
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723be/rf.c
403
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723be/rf.c
41
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723be/rf.c
417
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c
80
rtlpriv->phy.lck_inprogress = false;
drivers/net/wireless/realtek/rtlwifi/rtl8723com/phy_common.c
110
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723com/phy_common.c
155
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8723com/phy_common.c
58
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/dm.c
1174
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/dm.c
1800
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/dm.c
1853
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/dm.c
2016
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/dm.c
2661
if (rtlpriv->phy.rf_type == RF_1T1R)
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/dm.c
389
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/dm.c
407
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/dm.c
610
if (rtlpriv->phy.rf_type != RF_1T1R)
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/dm.c
931
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
1938
if (rtlpriv->phy.rf_type == RF_1T1R &&
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
1995
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
2419
rtlpriv->phy.iqk_initialized = false;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
3217
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
3254
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
3376
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
3425
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
3470
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
3713
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1043
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1122
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1290
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1430
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1462
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1628
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1780
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
1954
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2108
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2139
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2166
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2315
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
2480
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
255
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
288
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3128
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3146
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3186
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3243
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3333
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3373
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3458
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3479
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3533
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
3708
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4532
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4550
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4597
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
4637
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
886
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
905
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
973
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/rf.c
125
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/rf.c
165
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/rf.c
38
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/rf.c
383
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/rf.c
396
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/trx.c
558
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/trx.c
589
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/trx.c
67
struct rtl_phy *rtlphy = &rtlpriv->phy;
drivers/net/wireless/realtek/rtlwifi/stats.c
73
struct rtl_phy *rtlphy = &(rtlpriv->phy);
drivers/net/wireless/realtek/rtlwifi/wifi.h
2669
struct rtl_phy phy;
drivers/net/wireless/realtek/rtw89/coex.c
6124
u8 cnt_2g = 0, cnt_5g = 0, phy;
drivers/net/wireless/realtek/rtw89/coex.c
6138
wl_rinfo->active_role[cnt_active - 1].phy = wl_linfo[i].phy;
drivers/net/wireless/realtek/rtw89/coex.c
6145
phy = wl_linfo[i].phy;
drivers/net/wireless/realtek/rtw89/coex.c
6148
if (rtwdev->dbcc_en && phy < RTW89_PHY_NUM) {
drivers/net/wireless/realtek/rtw89/coex.c
6149
wl_dinfo->role[phy] = wl_linfo[i].role;
drivers/net/wireless/realtek/rtw89/coex.c
6150
wl_dinfo->op_band[phy] = wl_linfo[i].band;
drivers/net/wireless/realtek/rtw89/coex.c
6151
_update_dbcc_band(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/coex.c
6275
u8 cnt_2g = 0, cnt_5g = 0, phy;
drivers/net/wireless/realtek/rtw89/coex.c
6289
wl_rinfo->active_role_v1[cnt_active - 1].phy = wl_linfo[i].phy;
drivers/net/wireless/realtek/rtw89/coex.c
6296
phy = wl_linfo[i].phy;
drivers/net/wireless/realtek/rtw89/coex.c
6298
if (rtwdev->dbcc_en && phy < RTW89_PHY_NUM) {
drivers/net/wireless/realtek/rtw89/coex.c
6299
wl_dinfo->role[phy] = wl_linfo[i].role;
drivers/net/wireless/realtek/rtw89/coex.c
6300
wl_dinfo->op_band[phy] = wl_linfo[i].band;
drivers/net/wireless/realtek/rtw89/coex.c
6301
_update_dbcc_band(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/coex.c
6425
u8 cnt_2g = 0, cnt_5g = 0, phy;
drivers/net/wireless/realtek/rtw89/coex.c
6439
wl_rinfo->active_role_v2[cnt_active - 1].phy = wl_linfo[i].phy;
drivers/net/wireless/realtek/rtw89/coex.c
6446
phy = wl_linfo[i].phy;
drivers/net/wireless/realtek/rtw89/coex.c
6448
if (rtwdev->dbcc_en && phy < RTW89_PHY_NUM) {
drivers/net/wireless/realtek/rtw89/coex.c
6449
wl_dinfo->role[phy] = wl_linfo[i].role;
drivers/net/wireless/realtek/rtw89/coex.c
6450
wl_dinfo->op_band[phy] = wl_linfo[i].band;
drivers/net/wireless/realtek/rtw89/coex.c
6451
_update_dbcc_band(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/coex.c
6600
u8 *phy, u8 *role, u8 link_cnt)
drivers/net/wireless/realtek/rtw89/coex.c
6621
dbcc_2g_phy = phy[dbcc_2g_cid];
drivers/net/wireless/realtek/rtw89/coex.c
6644
if (phy[k] == dbcc_2g_phy) {
drivers/net/wireless/realtek/rtw89/coex.c
6755
if (!wl_linfo[i].active || wl_linfo[i].phy >= RTW89_PHY_NUM)
drivers/net/wireless/realtek/rtw89/coex.c
6772
act_role->phy = wl_linfo[i].phy;
drivers/net/wireless/realtek/rtw89/coex.c
6779
cid_phy[cnt - 1] = wl_linfo[i].phy;
drivers/net/wireless/realtek/rtw89/coex.c
6784
phy_now = act_role->phy;
drivers/net/wireless/realtek/rtw89/coex.c
6802
phy_dbcc = wl_linfo[i].phy;
drivers/net/wireless/realtek/rtw89/coex.c
7117
cid_phy[cnt] = rlink->phy;
drivers/net/wireless/realtek/rtw89/coex.c
7235
rlink->phy = wl_linfo->phy;
drivers/net/wireless/realtek/rtw89/coex.c
8229
r.phy = rtwvif_link->phy_idx;
drivers/net/wireless/realtek/rtw89/coex.c
8914
plink->pid, plink->role, plink->phy,
drivers/net/wireless/realtek/rtw89/core.h
1527
u8 phy;
drivers/net/wireless/realtek/rtw89/core.h
1659
u8 phy: 1;
drivers/net/wireless/realtek/rtw89/core.h
1678
u8 phy: 1;
drivers/net/wireless/realtek/rtw89/core.h
1699
u8 phy: 1;
drivers/net/wireless/realtek/rtw89/core.h
1715
u8 phy;
drivers/net/wireless/realtek/rtw89/core.h
1795
u8 phy;
drivers/net/wireless/realtek/rtw89/fw.c
5719
RTW89_SET_FWCMD_CXROLE_ACT_PHY(cmd, active->phy, i, offset);
drivers/net/wireless/realtek/rtw89/fw.c
5800
RTW89_SET_FWCMD_CXROLE_ACT_PHY(cmd, active->phy, i, offset);
drivers/net/wireless/realtek/rtw89/fw.c
5890
RTW89_SET_FWCMD_CXROLE_ACT_PHY_V2(cmd, active->phy, i, offset);
drivers/net/wireless/realtek/rtw89/fw.c
7312
h2c->phy = phy_idx;
drivers/net/wireless/realtek/rtw89/fw.c
7381
h2c->phy = phy_idx;
drivers/net/wireless/realtek/rtw89/fw.c
7423
h2c->phy = phy_idx;
drivers/net/wireless/realtek/rtw89/fw.c
7467
h2c->phy = phy_idx;
drivers/net/wireless/realtek/rtw89/fw.c
7508
h2c->phy = phy_idx;
drivers/net/wireless/realtek/rtw89/fw.c
7552
v0->phy = phy_idx;
drivers/net/wireless/realtek/rtw89/fw.c
7635
h2c->phy = phy_idx;
drivers/net/wireless/realtek/rtw89/fw.c
7678
h2c->phy = phy_idx;
drivers/net/wireless/realtek/rtw89/fw.h
4848
u8 phy;
drivers/net/wireless/realtek/rtw89/fw.h
4884
u8 phy;
drivers/net/wireless/realtek/rtw89/fw.h
4894
u8 phy;
drivers/net/wireless/realtek/rtw89/fw.h
4906
u8 phy;
drivers/net/wireless/realtek/rtw89/fw.h
4916
u8 phy;
drivers/net/wireless/realtek/rtw89/fw.h
4922
u8 phy;
drivers/net/wireless/realtek/rtw89/fw.h
4942
u8 phy;
drivers/net/wireless/realtek/rtw89/fw.h
4954
u8 phy;
drivers/net/wireless/realtek/rtw89/fw.h
5003
u8 phy;
drivers/net/wireless/realtek/rtw89/phy.c
20
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.c
22
return phy->phy0_phy1_offset(rtwdev, addr);
drivers/net/wireless/realtek/rtw89/phy.c
3504
"[IQK] iqk->phy = %x\n", iqk->phy);
drivers/net/wireless/realtek/rtw89/phy.c
4503
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/phy.c
4573
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/phy.c
4645
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/phy.c
4660
phy, ch);
drivers/net/wireless/realtek/rtw89/phy.c
4663
trim_de = phy_tssi_get_ofdm_trim_de(rtwdev, phy, chan, i);
drivers/net/wireless/realtek/rtw89/phy.c
4686
ofdm_de = phy_tssi_get_ofdm_de(rtwdev, phy, chan, i);
drivers/net/wireless/realtek/rtw89/phy.c
4708
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/phy.c
4938
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.c
4940
const struct rtw89_cfo_regs *cfo = phy->cfo;
drivers/net/wireless/realtek/rtw89/phy.c
5802
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.c
5804
const struct rtw89_ccx_regs *ccx = phy->ccx;
drivers/net/wireless/realtek/rtw89/phy.c
5936
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.c
5938
const struct rtw89_ccx_regs *ccx = phy->ccx;
drivers/net/wireless/realtek/rtw89/phy.c
5968
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.c
5970
const struct rtw89_ccx_regs *ccx = phy->ccx;
drivers/net/wireless/realtek/rtw89/phy.c
5996
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.c
5998
const struct rtw89_ccx_regs *ccx = phy->ccx;
drivers/net/wireless/realtek/rtw89/phy.c
6056
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.c
6058
const struct rtw89_ccx_regs *ccx = phy->ccx;
drivers/net/wireless/realtek/rtw89/phy.c
6191
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.c
6194
const struct rtw89_ccx_regs *ccx = phy->ccx;
drivers/net/wireless/realtek/rtw89/phy.c
6267
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.c
6269
const struct rtw89_ccx_regs *ccx = phy->ccx;
drivers/net/wireless/realtek/rtw89/phy.c
6395
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.c
6397
const struct rtw89_ccx_regs *ccx = phy->ccx;
drivers/net/wireless/realtek/rtw89/phy.c
6470
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.c
6472
const struct rtw89_ccx_regs *ccx = phy->ccx;
drivers/net/wireless/realtek/rtw89/phy.c
6575
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.c
6579
return phy->physt_bmp_eht;
drivers/net/wireless/realtek/rtw89/phy.c
6581
return phy->physt_bmp_start + (ie_page << ie_page_shift);
drivers/net/wireless/realtek/rtw89/phy.c
6619
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.c
6620
const struct rtw89_physts_regs *physts = phy->physts;
drivers/net/wireless/realtek/rtw89/phy.h
1048
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/phy.h
1052
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/phy.h
582
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.h
584
rtw89_write8(rtwdev, addr + phy->cr_base, data);
drivers/net/wireless/realtek/rtw89/phy.h
590
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.h
592
rtw89_write16(rtwdev, addr + phy->cr_base, data);
drivers/net/wireless/realtek/rtw89/phy.h
598
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.h
600
rtw89_write32(rtwdev, addr + phy->cr_base, data);
drivers/net/wireless/realtek/rtw89/phy.h
606
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.h
608
rtw89_write32_set(rtwdev, addr + phy->cr_base, bits);
drivers/net/wireless/realtek/rtw89/phy.h
614
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.h
616
rtw89_write32_clr(rtwdev, addr + phy->cr_base, bits);
drivers/net/wireless/realtek/rtw89/phy.h
622
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.h
624
rtw89_write32_mask(rtwdev, addr + phy->cr_base, mask, data);
drivers/net/wireless/realtek/rtw89/phy.h
629
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.h
631
return rtw89_read8(rtwdev, addr + phy->cr_base);
drivers/net/wireless/realtek/rtw89/phy.h
636
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.h
638
return rtw89_read16(rtwdev, addr + phy->cr_base);
drivers/net/wireless/realtek/rtw89/phy.h
643
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.h
645
return rtw89_read32(rtwdev, addr + phy->cr_base);
drivers/net/wireless/realtek/rtw89/phy.h
651
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.h
653
return rtw89_read32_mask(rtwdev, addr + phy->cr_base, mask);
drivers/net/wireless/realtek/rtw89/phy.h
889
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.h
891
phy->preinit_rf_nctl(rtwdev);
drivers/net/wireless/realtek/rtw89/phy.h
896
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.h
898
if (phy->bb_wrap_init)
drivers/net/wireless/realtek/rtw89/phy.h
899
phy->bb_wrap_init(rtwdev);
drivers/net/wireless/realtek/rtw89/phy.h
910
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.h
912
if (phy->ch_info_init)
drivers/net/wireless/realtek/rtw89/phy.h
913
phy->ch_info_init(rtwdev);
drivers/net/wireless/realtek/rtw89/phy.h
921
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.h
923
phy->set_txpwr_byrate(rtwdev, chan, phy_idx);
drivers/net/wireless/realtek/rtw89/phy.h
931
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.h
933
phy->set_txpwr_offset(rtwdev, chan, phy_idx);
drivers/net/wireless/realtek/rtw89/phy.h
941
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.h
943
phy->set_txpwr_limit(rtwdev, chan, phy_idx);
drivers/net/wireless/realtek/rtw89/phy.h
951
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy.h
953
phy->set_txpwr_limit_ru(rtwdev, chan, phy_idx);
drivers/net/wireless/realtek/rtw89/phy_be.c
456
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy_be.c
457
const struct rtw89_bb_wrap_regs *bb_wrap = phy->bb_wrap;
drivers/net/wireless/realtek/rtw89/phy_be.c
472
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
drivers/net/wireless/realtek/rtw89/phy_be.c
473
const struct rtw89_bb_wrap_regs *bb_wrap = phy->bb_wrap;
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1616
static void _iqk_get_ch_info(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1629
path, phy, str_on_off(rtwdev->dbcc_en),
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1823
static void _dpk_one_shot(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1889
static void _dpk_information(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
1903
path, dpk->cur_idx[path], phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2041
static void _dpk_kip_preset(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2050
_dpk_one_shot(rtwdev, phy, path, D_KIP_PRESET);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2053
static void _dpk_kip_restore(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2056
_dpk_one_shot(rtwdev, phy, path, D_KIP_RESTORE);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2147
static void _dpk_kip_set_txagc(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2160
_dpk_one_shot(rtwdev, phy, path, D_TXAGC);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2164
static bool _dpk_kip_set_rxagc(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2172
_dpk_one_shot(rtwdev, phy, path, D_RXAGC);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2176
static void _dpk_lbk_rxiqk(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2204
_dpk_one_shot(rtwdev, phy, path, LBK_RXIQK);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2277
static u8 _dpk_gainloss(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2280
_dpk_one_shot(rtwdev, phy, path, D_GAIN_LOSS);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2281
_dpk_kip_set_txagc(rtwdev, phy, path, 0xff, false);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2335
static u8 _dpk_agc(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2350
is_fail = _dpk_kip_set_rxagc(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2360
_dpk_one_shot(rtwdev, phy, path, D_SYNC);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2368
_dpk_lbk_rxiqk(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2374
tmp_gl_idx = _dpk_gainloss(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2394
_dpk_kip_set_txagc(rtwdev, phy, path, tmp_dbm, true);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2407
_dpk_kip_set_txagc(rtwdev, phy, path, tmp_dbm, true);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2474
static void _dpk_idl_mpa(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2487
_dpk_one_shot(rtwdev, phy, path, D_MDPK_IDL);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2517
static void _dpk_gain_normalize(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2538
_dpk_one_shot(rtwdev, phy, path, D_GAIN_NORM);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2549
static void _dpk_on(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2568
_dpk_gain_normalize(rtwdev, phy, path, kidx, false);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2571
static bool _dpk_main(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2587
_dpk_kip_preset(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2589
_dpk_kip_set_txagc(rtwdev, phy, path, init_xdbm, true);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2591
is_fail = _dpk_agc(rtwdev, phy, path, kidx, init_xdbm, false);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2595
_dpk_idl_mpa(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2598
_dpk_on(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2610
enum rtw89_phy_idx phy, u8 kpath,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2627
_dpk_information(rtwdev, phy, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2647
is_fail = _dpk_main(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2655
_dpk_kip_restore(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2668
static void _dpk(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy, bool force,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2675
_dpk_cal_select(rtwdev, force, phy, _kpath(rtwdev, phy), chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2780
static void _tssi_set_sys(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2793
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2800
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2806
static void _tssi_set_dck(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2812
static void _tssi_set_tmeter_tbl(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2910
static void _tssi_set_dac_gain_tbl(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2916
static void _tssi_slope_cal_org(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2926
static void _tssi_alignment_default(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2937
static void _tssi_set_tssi_slope(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2943
static void _tssi_set_tssi_track(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2950
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2956
static void _tssi_enable(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2958
_tssi_set_tssi_track(rtwdev, phy, RF_PATH_A);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2959
_tssi_set_txagc_offset_mv_avg(rtwdev, phy, RF_PATH_A);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
2975
static void _tssi_disable(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy)
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3104
static s8 _tssi_get_ofdm_de(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3139
static s8 _tssi_get_ofdm_trim_de(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3176
static void _tssi_set_efuse_to_de(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3188
phy, ch);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3192
trim_de = _tssi_get_ofdm_trim_de(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3208
ofdm_de = _tssi_get_ofdm_de(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3209
trim_de = _tssi_get_ofdm_trim_de(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3255
enum rtw89_phy_idx phy, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3263
"======>%s phy=%d path=%d\n", __func__, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3470
void rtw8851b_tssi(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3474
u8 phy_map = rtw89_btc_phymap(rtwdev, phy, RF_A, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3477
rtw89_debug(rtwdev, RTW89_DBG_TSSI, "[TSSI] %s: phy=%d\n", __func__, phy);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3480
_tssi_disable(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3483
_tssi_set_sys(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3484
_tssi_ini_txpwr_ctrl_bb(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3485
_tssi_ini_txpwr_ctrl_bb_he_tb(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3486
_tssi_set_dck(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3487
_tssi_set_tmeter_tbl(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3488
_tssi_set_dac_gain_tbl(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3489
_tssi_slope_cal_org(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3490
_tssi_alignment_default(rtwdev, phy, i, true, chan);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3491
_tssi_set_tssi_slope(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3494
_tssi_enable(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3495
_tssi_set_efuse_to_de(rtwdev, phy, chan);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3500
void rtw8851b_tssi_scan(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3507
"======>%s phy=%d channel=%d\n", __func__, phy, channel);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3509
_tssi_disable(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3512
_tssi_set_sys(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3513
_tssi_set_tmeter_tbl(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3514
_tssi_slope_cal_org(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3515
_tssi_alignment_default(rtwdev, phy, i, true, chan);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3518
_tssi_enable(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3519
_tssi_set_efuse_to_de(rtwdev, phy, chan);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3523
enum rtw89_phy_idx phy, bool enable,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3544
_tssi_alimentk_done(rtwdev, phy, RF_PATH_A, chan);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3607
static void _ctrl_bw(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3754
static void _rxbb_bw(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3759
kpath = _kpath(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3770
enum rtw89_phy_idx phy, u8 central_ch,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3774
_ctrl_bw(rtwdev, phy, bw);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
3775
_rxbb_bw(rtwdev, phy, bw);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
578
static void _rx_dck_info(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
633
static void _rx_dck(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy, bool is_afe,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.c
644
_rx_dck_info(rtwdev, phy, path, is_afe, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.h
23
void rtw8851b_tssi(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8851b_rfk.h
25
void rtw8851b_tssi_scan(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1368
enum rtw89_phy_idx phy, u8 path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1405
"[IQK]S%d (PHY%d): / DBCC %s/ %s/ CH%d/ %s\n", path, phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1674
static void _set_rx_dck(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1678
u8 phy_map = rtw89_btc_path_phymap(rtwdev, phy, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1723
static void _rx_dck(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1734
kpath = _kpath(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1752
_set_rx_dck(rtwdev, phy, path, is_afe, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1819
static u8 _dpk_one_shot(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1823
u8 phy_map = rtw89_btc_path_phymap(rtwdev, phy, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1861
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1866
_set_rx_dck(rtwdev, phy, path, false, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1870
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1883
path, dpk->cur_idx[path], phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1894
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1921
"[DPK] Set BB/AFE for PHY%d (kpath=%d)\n", phy, kpath);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1925
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1942
"[DPK] Restore BB/AFE for PHY%d (kpath=%d)\n", phy, kpath);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
1988
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2020
_dpk_one_shot(rtwdev, phy, path, LBK_RXIQK, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2208
static bool _dpk_sync(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2213
_dpk_one_shot(rtwdev, phy, path, SYNC, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2265
enum rtw89_phy_idx phy, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2269
_dpk_one_shot(rtwdev, phy, path, GAIN_LOSS, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2344
static u8 _dpk_agc(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2368
if (_dpk_sync(rtwdev, phy, path, kidx, chanctx_idx)) {
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2404
_dpk_lbk_rxiqk(rtwdev, phy, path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2416
_dpk_gainloss(rtwdev, phy, path, kidx, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2499
static void _dpk_idl_mpa(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2505
_dpk_one_shot(rtwdev, phy, path, MDPK_IDL, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2543
static bool _dpk_reload_check(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2570
static bool _dpk_main(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2585
_dpk_rx_dck(rtwdev, phy, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2589
txagc = _dpk_agc(rtwdev, phy, path, kidx, txagc, false, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2594
_dpk_idl_mpa(rtwdev, phy, path, kidx, gain, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2611
enum rtw89_phy_idx phy, u8 kpath,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2627
reloaded[path] = _dpk_reload_check(rtwdev, phy, path,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2653
_dpk_information(rtwdev, phy, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2656
_dpk_bb_afe_setting(rtwdev, phy, path, kpath);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2662
is_fail = _dpk_main(rtwdev, phy, path, 1, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2666
_dpk_bb_afe_restore(rtwdev, phy, path, kpath);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2681
static bool _dpk_bypass_check(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2700
static void _dpk_force_bypass(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2704
kpath = _kpath(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2712
static void _dpk(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2720
if (_dpk_bypass_check(rtwdev, phy, chanctx_idx))
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2721
_dpk_force_bypass(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2723
_dpk_cal_select(rtwdev, force, phy, _kpath(rtwdev, phy),
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2846
static void _tssi_rf_setting(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2857
static void _tssi_set_sys(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2868
static void _tssi_ini_txpwr_ctrl_bb(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2883
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2891
static void _tssi_set_dck(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
2899
static void _tssi_set_tmeter_tbl(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3056
static void _tssi_set_dac_gain_tbl(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3064
static void _tssi_slope_cal_org(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3072
static void _tssi_set_rf_gap_tbl(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3080
static void _tssi_set_slope(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3088
static void _tssi_set_track(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3097
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3105
static void _tssi_pak(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3135
static void _tssi_enable(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3141
_tssi_set_track(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3142
_tssi_set_txagc_offset_mv_avg(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3154
static void _tssi_disable(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3280
static s8 _tssi_get_ofdm_de(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3317
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3355
enum rtw89_phy_idx phy, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3374
phy, ch);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3378
trim_de = _tssi_get_ofdm_trim_de(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3394
ofdm_de = _tssi_get_ofdm_de(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3395
trim_de = _tssi_get_ofdm_trim_de(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3484
static void _tssi_high_power(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3508
__func__, phy, xdbm);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3522
static void _tssi_hw_tx(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3527
rtw8852a_bb_set_power(rtwdev, pwr_dbm, phy);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3528
rtw8852a_bb_set_pmac_pkt_tx(rtwdev, enable, 20, 5000, 0, phy, chan);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3531
static void _tssi_pre_tx(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3541
u8 phy_map = rtw89_btc_phymap(rtwdev, phy, 0, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3566
__func__, phy, power, xdbm);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3569
rtw89_chip_stop_sch_tx(rtwdev, phy, &tx_en, RTW89_SCH_TX_SEL_ALL);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3570
_wait_rx_mode(rtwdev, _kpath(rtwdev, phy));
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3573
_tssi_hw_tx(rtwdev, phy, RF_PATH_AB, xdbm, true, chan);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3575
_tssi_hw_tx(rtwdev, phy, RF_PATH_AB, xdbm, false, chan);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3613
rtw8852a_bb_tx_mode_switch(rtwdev, phy, 0);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3615
rtw89_chip_resume_sch_tx(rtwdev, phy, tx_en);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3696
void rtw8852a_tssi(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3703
__func__, phy);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3705
_tssi_disable(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3708
_tssi_rf_setting(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3709
_tssi_set_sys(rtwdev, phy, chan);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3710
_tssi_ini_txpwr_ctrl_bb(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3711
_tssi_ini_txpwr_ctrl_bb_he_tb(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3712
_tssi_set_dck(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3713
_tssi_set_tmeter_tbl(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3714
_tssi_set_dac_gain_tbl(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3715
_tssi_slope_cal_org(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3716
_tssi_set_rf_gap_tbl(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3717
_tssi_set_slope(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3718
_tssi_pak(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3721
_tssi_enable(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3722
_tssi_set_efuse_to_de(rtwdev, phy, chan);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3723
_tssi_high_power(rtwdev, phy, chan);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3724
_tssi_pre_tx(rtwdev, phy, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3727
void rtw8852a_tssi_scan(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3733
__func__, phy);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3740
_tssi_disable(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3743
_tssi_rf_setting(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3744
_tssi_set_sys(rtwdev, phy, chan);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3745
_tssi_set_tmeter_tbl(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3746
_tssi_pak(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3749
_tssi_enable(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3750
_tssi_set_efuse_to_de(rtwdev, phy, chan);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3759
void _rtw8852a_tssi_avg_scan(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3778
void _rtw8852a_tssi_set_avg(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3797
enum rtw89_phy_idx phy, bool enable)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3804
_rtw8852a_tssi_avg_scan(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3807
_rtw8852a_tssi_set_avg(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
3812
enum rtw89_phy_idx phy, bool enable)
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.h
20
void rtw8852a_tssi(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.h
22
void rtw8852a_tssi_scan(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1386
static void _iqk_get_ch_info(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy, u8 path,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1702
static void _dpk_one_shot(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1744
static void _dpk_rx_dck(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1748
_set_rx_dck(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1751
static void _dpk_information(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1765
path, dpk->cur_idx[path], phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1776
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1790
"[DPK] Set BB/AFE for PHY%d (kpath=%d)\n", phy, kpath);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1794
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1803
"[DPK] Restore BB/AFE for PHY%d (kpath=%d)\n", phy, kpath);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1832
static void _dpk_lbk_rxiqk(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
1863
_dpk_one_shot(rtwdev, phy, path, LBK_RXIQK);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2016
static bool _dpk_sync(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2019
_dpk_one_shot(rtwdev, phy, path, SYNC);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2093
static void _dpk_gainloss(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2097
_dpk_one_shot(rtwdev, phy, path, GAIN_LOSS);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2100
static void _dpk_kip_preset(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2104
_dpk_one_shot(rtwdev, phy, path, KIP_PRESET);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2117
static void _dpk_kip_set_txagc(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2122
_dpk_one_shot(rtwdev, phy, path, DPK_TXAGC);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2128
static void _dpk_kip_set_rxagc(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2136
_dpk_one_shot(rtwdev, phy, path, DPK_RXAGC);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2146
static u8 _dpk_set_offset(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2160
_dpk_kip_set_txagc(rtwdev, phy, path, txagc);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2208
static u8 _dpk_agc(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2225
if (_dpk_sync(rtwdev, phy, path, kidx)) {
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2262
_dpk_lbk_rxiqk(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2273
_dpk_gainloss(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2291
tmp_txagc = _dpk_set_offset(rtwdev, phy, path, 0x3);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2303
tmp_txagc = _dpk_set_offset(rtwdev, phy, path, 0xfe);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2309
tmp_txagc = _dpk_set_offset(rtwdev, phy, path, tmp_gl_idx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2355
static void _dpk_idl_mpa(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2366
_dpk_one_shot(rtwdev, phy, path, MDPK_IDL);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2369
static void _dpk_fill_result(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2374
u8 gs = dpk->dpk_gs[phy];
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2395
if (dpk->dpk_gs[phy] == 0x7f)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2408
static bool _dpk_reload_check(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2435
static bool _dpk_main(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2450
_dpk_kip_set_txagc(rtwdev, phy, path, txagc);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2452
_dpk_rx_dck(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2454
_dpk_kip_preset(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2455
_dpk_kip_set_rxagc(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2458
txagc = _dpk_agc(rtwdev, phy, path, kidx, txagc, false, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2466
_dpk_idl_mpa(rtwdev, phy, path, kidx, gain);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2470
_dpk_fill_result(rtwdev, phy, path, kidx, gain, txagc);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2485
enum rtw89_phy_idx phy, u8 kpath,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2498
reloaded[path] = _dpk_reload_check(rtwdev, phy, path,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2515
_dpk_information(rtwdev, phy, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2520
_dpk_bb_afe_setting(rtwdev, phy, path, kpath, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2523
is_fail = _dpk_main(rtwdev, phy, path, 1, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2527
_dpk_bb_afe_restore(rtwdev, phy, path, kpath, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2539
static bool _dpk_bypass_check(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2562
static void _dpk_force_bypass(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2566
kpath = _kpath(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2574
static void _dpk(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy, bool force,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2582
if (_dpk_bypass_check(rtwdev, phy, chanctx_idx))
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2583
_dpk_force_bypass(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2585
_dpk_cal_select(rtwdev, force, phy, RF_AB, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2692
static void _set_dpd_backoff(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2697
kpath = _kpath(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2699
ofdm_bkof = rtw89_phy_read32_mask(rtwdev, R_DPD_BF + (phy << 13), B_DPD_BF_OFDM);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2700
tx_scale = rtw89_phy_read32_mask(rtwdev, R_DPD_BF + (phy << 13), B_DPD_BF_SCA);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2704
dpk->dpk_gs[phy] = 0x7f;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2715
dpk->dpk_gs[phy] = 0x5b;
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2719
static void _tssi_rf_setting(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2730
static void _tssi_set_sys(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2748
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2757
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2765
static void _tssi_set_dck(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2773
static void _tssi_set_tmeter_tbl(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2930
static void _tssi_set_dac_gain_tbl(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2938
static void _tssi_slope_cal_org(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
295
static void _set_rx_dck(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
2953
static void _tssi_alignment_default(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3011
static void _tssi_set_tssi_slope(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3019
static void _tssi_set_tssi_track(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3029
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
304
static void _rx_dck(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3041
static void _tssi_enable(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3046
_tssi_set_tssi_track(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3047
_tssi_set_txagc_offset_mv_avg(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3093
static void _tssi_disable(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy)
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3224
static s8 _tssi_get_ofdm_de(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
325
_set_rx_dck(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3259
static s8 _tssi_get_ofdm_trim_de(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3296
static void _tssi_set_efuse_to_de(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3308
phy, ch);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3312
trim_de = _tssi_get_ofdm_trim_de(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3328
ofdm_de = _tssi_get_ofdm_de(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3329
trim_de = _tssi_get_ofdm_trim_de(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3375
enum rtw89_phy_idx phy, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3383
"======>%s phy=%d path=%d\n", __func__, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3410
static void _tssi_hw_tx(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3429
rtw8852bx_bb_set_power(rtwdev, pwr_dbm, phy);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3432
rtw8852bx_bb_set_pmac_pkt_tx(rtwdev, enable, cnt, period, 20, phy, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3436
enum rtw89_phy_idx phy, const u32 reg[],
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3451
enum rtw89_phy_idx phy, const u32 reg[],
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3484
static bool _tssi_get_cw_report(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3505
_tssi_hw_tx(rtwdev, phy, path, 100, 5000, power[j], true, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3507
_tssi_hw_tx(rtwdev, phy, RF_PATH_ABCD, 100, 5000, power[j], true,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3539
_tssi_hw_tx(rtwdev, phy, path, 100, 5000, power[j], false, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3546
_tssi_hw_tx(rtwdev, phy, path, 100, 5000, power[j], false, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3559
static void _tssi_alimentk(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3620
rtw8852bx_bb_backup_tssi(rtwdev, phy, &tssi_bak);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3621
_tssi_backup_bb_registers(rtwdev, phy, bb_reg, bb_reg_backup, ARRAY_SIZE(bb_reg_backup));
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3628
ok = _tssi_get_cw_report(rtwdev, phy, path, power, tssi_cw_rpt, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3723
_tssi_reload_bb_registers(rtwdev, phy, bb_reg, bb_reg_backup, ARRAY_SIZE(bb_reg_backup));
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3724
rtw8852bx_bb_restore_tssi(rtwdev, phy, &tssi_bak);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3725
rtw8852bx_bb_tx_mode_switch(rtwdev, phy, 0);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3813
void rtw8852b_tssi(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3817
u8 phy_map = rtw89_btc_phymap(rtwdev, phy, RF_AB, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3821
rtw89_debug(rtwdev, RTW89_DBG_TSSI, "[TSSI] %s: phy=%d\n", __func__, phy);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3824
_tssi_disable(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3827
_tssi_rf_setting(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3828
_tssi_set_sys(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3829
_tssi_ini_txpwr_ctrl_bb(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3830
_tssi_ini_txpwr_ctrl_bb_he_tb(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3831
_tssi_set_dck(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3832
_tssi_set_tmeter_tbl(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3833
_tssi_set_dac_gain_tbl(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3834
_tssi_slope_cal_org(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3835
_tssi_alignment_default(rtwdev, phy, i, true, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3836
_tssi_set_tssi_slope(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3838
rtw89_chip_stop_sch_tx(rtwdev, phy, &tx_en, RTW89_SCH_TX_SEL_ALL);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3839
_tmac_tx_pause(rtwdev, phy, true);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3841
_tssi_alimentk(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3842
_tmac_tx_pause(rtwdev, phy, false);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3843
rtw89_chip_resume_sch_tx(rtwdev, phy, tx_en);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3846
_tssi_enable(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3847
_tssi_set_efuse_to_de(rtwdev, phy, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3852
void rtw8852b_tssi_scan(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3861
"======>%s phy=%d channel=%d\n", __func__, phy, channel);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3874
_tssi_disable(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3877
_tssi_rf_setting(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3878
_tssi_set_sys(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3879
_tssi_set_tmeter_tbl(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3882
_tssi_alimentk_done(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3884
_tssi_alignment_default(rtwdev, phy, i, true, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3887
_tssi_enable(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3888
_tssi_set_efuse_to_de(rtwdev, phy, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3892
enum rtw89_phy_idx phy, bool enable,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3903
rtw8852b_tssi(rtwdev, phy, true, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3920
_tssi_alimentk_done(rtwdev, phy, RF_PATH_A, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3921
_tssi_alimentk_done(rtwdev, phy, RF_PATH_B, chan);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
3985
static void _ctrl_bw(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4136
static void _rxbb_bw(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4141
kpath = _kpath(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4152
enum rtw89_phy_idx phy, u8 central_ch,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4156
_ctrl_bw(rtwdev, phy, bw);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
4157
_rxbb_bw(rtwdev, phy, bw);
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.h
20
void rtw8852b_tssi(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.h
22
void rtw8852b_tssi_scan(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1529
static void _iqk_get_ch_info(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy, u8 path,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1812
static void _dpk_one_shot(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1852
static void _dpk_rx_dck(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1863
static void _dpk_information(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1877
path, dpk->cur_idx[path], phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1910
static void _dpk_lbk_rxiqk(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
1936
_dpk_one_shot(rtwdev, phy, path, LBK_RXIQK);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2062
static void _dpk_sync(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2065
_dpk_one_shot(rtwdev, phy, path, SYNC);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2137
static void _dpk_gainloss(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2140
_dpk_one_shot(rtwdev, phy, path, GAIN_LOSS);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2146
static void _dpk_kip_preset(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2150
_dpk_one_shot(rtwdev, phy, path, KIP_PRESET);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2176
static void _dpk_kip_set_txagc(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2184
_dpk_one_shot(rtwdev, phy, path, DPK_TXAGC);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2190
static void _dpk_kip_set_rxagc(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2195
_dpk_one_shot(rtwdev, phy, path, DPK_RXAGC);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2199
static u8 _dpk_set_offset(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2211
_dpk_kip_set_txagc(rtwdev, phy, path, txagc);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2260
static u8 _dpk_agc(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2282
_dpk_sync(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2287
_dpk_lbk_rxiqk(rtwdev, phy, path,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2323
_dpk_lbk_rxiqk(rtwdev, phy, path, tmp_rxbb, rf_18);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2332
_dpk_gainloss(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2353
tmp_txagc = _dpk_set_offset(rtwdev, phy, path,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2366
tmp_txagc = _dpk_set_offset(rtwdev, phy, path,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2374
tmp_txagc = _dpk_set_offset(rtwdev, phy, path, tmp_txagc,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2433
static void _dpk_idl_mpa(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2444
_dpk_one_shot(rtwdev, phy, path, MDPK_IDL);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2447
static void _dpk_fill_result(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2451
u8 gs = dpk->dpk_gs[phy];
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2472
if (dpk->dpk_gs[phy] == 0x7f)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2488
static bool _dpk_reload_check(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2533
static bool _dpk_main(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2548
_dpk_kip_set_txagc(rtwdev, phy, path, txagc);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2550
_dpk_rx_dck(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2551
_dpk_kip_preset(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2552
_dpk_kip_set_rxagc(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2555
txagc = _dpk_agc(rtwdev, phy, path, kidx, txagc, false, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2564
_dpk_idl_mpa(rtwdev, phy, path, kidx, gain);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2567
_dpk_fill_result(rtwdev, phy, path, kidx, gain, txagc);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2587
enum rtw89_phy_idx phy, u8 kpath,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2598
reloaded[path] = _dpk_reload_check(rtwdev, phy, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2610
_dpk_information(rtwdev, phy, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2615
_rfk_bb_afe_setting(rtwdev, phy, path, kpath);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2618
_dpk_main(rtwdev, phy, path, 1, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2620
_rfk_bb_afe_restore(rtwdev, phy, path, kpath);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2633
static bool _dpk_bypass_check(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2656
static void _dpk_force_bypass(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2660
kpath = _kpath(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2771
static void _set_dpd_backoff(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2776
kpath = _kpath(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2778
ofdm_bkof = rtw89_phy_read32_mask(rtwdev, R_DPD_BF + (phy << 13), B_DPD_BF_OFDM);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2779
tx_scale = rtw89_phy_read32_mask(rtwdev, R_DPD_BF + (phy << 13), B_DPD_BF_SCA);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2783
dpk->dpk_gs[phy] = 0x7f;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2794
dpk->dpk_gs[phy] = 0x5b;
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2798
static void _tssi_dpk_off(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2804
static void _tssi_rf_setting(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2815
static void _tssi_set_sys(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2838
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2847
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2855
static void _tssi_set_dck(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
2863
static void _tssi_set_tmeter_tbl(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
297
static void _rfk_bb_afe_setting(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3023
static void _tssi_set_dac_gain_tbl(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3031
static void _tssi_slope_cal_org(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3046
static void _tssi_alignment_default(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3078
static void _tssi_set_tssi_slope(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3086
static void _tssi_set_tssi_track(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3096
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3110
static void _tssi_enable(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3115
_tssi_set_tssi_track(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3116
_tssi_set_txagc_offset_mv_avg(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3162
static void _tssi_disable(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3293
static s8 _tssi_get_ofdm_de(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3328
static s8 _tssi_get_ofdm_trim_de(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3365
static void _tssi_set_efuse_to_de(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3377
phy, ch);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3381
trim_de = _tssi_get_ofdm_trim_de(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3397
ofdm_de = _tssi_get_ofdm_de(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3398
trim_de = _tssi_get_ofdm_trim_de(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
341
static void _rfk_bb_afe_restore(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3445
enum rtw89_phy_idx phy, enum rtw89_rf_path path,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3453
"======>%s phy=%d path=%d\n", __func__, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3480
static void _tssi_hw_tx(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3499
rtw8852bx_bb_set_power(rtwdev, pwr_dbm, phy);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3502
rtw8852bx_bb_set_pmac_pkt_tx(rtwdev, enable, cnt, period, 20, phy, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3506
enum rtw89_phy_idx phy, const u32 reg[],
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3521
enum rtw89_phy_idx phy, const u32 reg[],
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3554
static bool _tssi_get_cw_report(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3575
_tssi_hw_tx(rtwdev, phy, path, 100, 5000, power[j], true,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3578
_tssi_hw_tx(rtwdev, phy, RF_PATH_ABCD, 100, 5000, power[j], true,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3610
_tssi_hw_tx(rtwdev, phy, path, 100, 5000, power[j], false, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3618
_tssi_hw_tx(rtwdev, phy, path, 100, 5000, power[j], false, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3631
static void _tssi_alimentk(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3676
rtw8852bx_bb_backup_tssi(rtwdev, phy, &tssi_bak);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3677
_tssi_backup_bb_registers(rtwdev, phy, bb_reg, bb_reg_backup,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3685
ok = _tssi_get_cw_report(rtwdev, phy, path, power, tssi_cw_rpt, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
370
static void _set_rx_dck(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3780
_tssi_reload_bb_registers(rtwdev, phy, bb_reg, bb_reg_backup,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3782
rtw8852bx_bb_restore_tssi(rtwdev, phy, &tssi_bak);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3783
rtw8852bx_bb_tx_mode_switch(rtwdev, phy, 0);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
379
static void _rx_dck(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy)
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3876
void rtw8852bt_tssi(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3881
u8 phy_map = rtw89_btc_phymap(rtwdev, phy, RF_AB, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3886
_tssi_backup_bb_registers(rtwdev, phy, reg, reg_backup, 2);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3887
rtw89_debug(rtwdev, RTW89_DBG_TSSI, "[TSSI] %s: phy=%d\n", __func__, phy);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3890
_tssi_dpk_off(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3891
_tssi_disable(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3894
_tssi_rf_setting(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3895
_tssi_set_sys(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3896
_tssi_ini_txpwr_ctrl_bb(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3897
_tssi_ini_txpwr_ctrl_bb_he_tb(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3898
_tssi_set_dck(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3899
_tssi_set_tmeter_tbl(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3900
_tssi_set_dac_gain_tbl(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3901
_tssi_slope_cal_org(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3902
_tssi_alignment_default(rtwdev, phy, i, true, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3903
_tssi_set_tssi_slope(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3905
rtw89_chip_stop_sch_tx(rtwdev, phy, &tx_en, RTW89_SCH_TX_SEL_ALL);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3906
_tmac_tx_pause(rtwdev, phy, true);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3908
_tssi_alimentk(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3909
_tmac_tx_pause(rtwdev, phy, false);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3910
rtw89_chip_resume_sch_tx(rtwdev, phy, tx_en);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3913
_tssi_enable(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3914
_tssi_set_efuse_to_de(rtwdev, phy, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3916
_tssi_reload_bb_registers(rtwdev, phy, reg, reg_backup, 2);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3921
void rtw8852bt_tssi_scan(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3930
"======>%s phy=%d channel=%d\n", __func__, phy, channel);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3943
_tssi_disable(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3946
_tssi_rf_setting(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3947
_tssi_set_sys(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3948
_tssi_set_tmeter_tbl(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3951
_tssi_alimentk_done(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3953
_tssi_alignment_default(rtwdev, phy, i, true, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3956
_tssi_enable(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3957
_tssi_set_efuse_to_de(rtwdev, phy, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3961
enum rtw89_phy_idx phy, bool enable,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3986
_tssi_alimentk_done(rtwdev, phy, RF_PATH_A, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
3987
_tssi_alimentk_done(rtwdev, phy, RF_PATH_B, chan);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
400
_set_rx_dck(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4051
static void _ctrl_bw(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4203
static void _rxbb_bw(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4208
kpath = _kpath(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4219
enum rtw89_phy_idx phy, u8 central_ch,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4223
_ctrl_bw(rtwdev, phy, bw);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.c
4224
_rxbb_bw(rtwdev, phy, bw);
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.h
20
void rtw8852bt_tssi(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852bt_rfk.h
22
void rtw8852bt_tssi_scan(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1326
enum rtw89_phy_idx phy, u8 path,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1346
"[IQK]S%d (PHY%d): / DBCC %s/ %s/ CH%d/ %s\n", path, phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1738
static void _set_rx_dck(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy, u8 path,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1873
static u8 _dpk_one_shot(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1908
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1922
path, dpk->cur_idx[path], phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
1933
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2006
static void _dpk_kip_restore(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2009
_dpk_one_shot(rtwdev, phy, path, D_KIP_RESTORE);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2016
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2045
_dpk_one_shot(rtwdev, phy, path, LBK_RXIQK);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2217
static void _dpk_kip_set_txagc(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2225
_dpk_one_shot(rtwdev, phy, path, D_TXAGC);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2229
static u8 _dpk_gainloss(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2232
_dpk_one_shot(rtwdev, phy, path, D_GAIN_LOSS);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2233
_dpk_kip_set_txagc(rtwdev, phy, path, 0xff, false);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2286
static bool _dpk_kip_set_rxagc(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2294
_dpk_one_shot(rtwdev, phy, path, D_RXAGC);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2323
static u8 _dpk_agc(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2339
is_fail = _dpk_kip_set_rxagc(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2352
_dpk_one_shot(rtwdev, phy, path, D_SYNC);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2360
_dpk_lbk_rxiqk(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2366
tmp_gl_idx = _dpk_gainloss(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2387
_dpk_kip_set_txagc(rtwdev, phy, path, tmp_dbm, true);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2399
_dpk_kip_set_txagc(rtwdev, phy, path, tmp_dbm, true);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2453
static void _dpk_idl_mpa(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2482
_dpk_one_shot(rtwdev, phy, path, D_MDPK_IDL);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2491
_dpk_one_shot(rtwdev, phy, path, D_MDPK_IDL);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2498
_dpk_one_shot(rtwdev, phy, path, D_MDPK_IDL);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2502
static bool _dpk_reload_check(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2535
static void _dpk_kip_preset_8852c(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2553
_dpk_one_shot(rtwdev, phy, path, D_KIP_PRESET);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2573
static void _dpk_gain_normalize_8852c(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2582
_dpk_one_shot(rtwdev, phy, path, D_GAIN_NORM);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2620
static void _dpk_on(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2639
_dpk_gain_normalize_8852c(rtwdev, phy, path, kidx, false);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2642
static bool _dpk_main(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2656
_set_rx_dck(rtwdev, phy, path, false);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2658
_dpk_kip_preset_8852c(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2660
_dpk_kip_set_txagc(rtwdev, phy, path, init_xdbm, true);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2663
is_fail = _dpk_agc(rtwdev, phy, path, kidx, init_xdbm, false);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2667
_dpk_idl_mpa(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2669
_dpk_on(rtwdev, phy, path, kidx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2697
enum rtw89_phy_idx phy, u8 kpath,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2714
reloaded[path] = _dpk_reload_check(rtwdev, phy, path,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2732
_dpk_information(rtwdev, phy, path, chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2744
_dpk_bb_afe_setting(rtwdev, phy, path, kpath);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2745
is_fail = _dpk_main(rtwdev, phy, path, 1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2753
_dpk_kip_restore(rtwdev, phy, path);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2765
static bool _dpk_bypass_check(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2789
static void _dpk_force_bypass(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2793
kpath = _kpath(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2801
static void _dpk(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy, bool force,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2809
if (_dpk_bypass_check(rtwdev, phy, chanctx_idx))
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2810
_dpk_force_bypass(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2812
_dpk_cal_select(rtwdev, force, phy, _kpath(rtwdev, phy), chanctx_idx);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2815
rtw8852c_rx_dck(rtwdev, phy, false);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2902
static void _tssi_set_sys(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2938
static void _tssi_ini_txpwr_ctrl_bb(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2947
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2955
static void _tssi_set_dck(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2973
static void _tssi_set_bbgain_split(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
2981
static void _tssi_set_tmeter_tbl(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3199
static void _tssi_slope_cal_org(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3215
static void _tssi_set_aligk_default(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3241
static void _tssi_set_slope(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3249
static void _tssi_run_slope(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3257
static void _tssi_set_track(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3266
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3274
static void _tssi_enable(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3280
if (phy == RTW89_PHY_0) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3283
} else if (phy == RTW89_PHY_1) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3290
_tssi_set_track(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3291
_tssi_set_txagc_offset_mv_avg(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3303
static void _tssi_disable(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3308
if (phy == RTW89_PHY_0) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3311
} else if (phy == RTW89_PHY_1) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3626
static s8 _tssi_get_ofdm_de(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3689
enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3754
enum rtw89_phy_idx phy, const struct rtw89_chan *chan)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3765
phy, ch);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3768
if (phy == RTW89_PHY_0) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3771
} else if (phy == RTW89_PHY_1) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3779
trim_de = _tssi_get_ofdm_trim_de(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3795
ofdm_de = _tssi_get_ofdm_de(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3796
trim_de = _tssi_get_ofdm_trim_de(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3896
static void _ctrl_bw(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3904
kpath = _kpath(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3964
static void _ctrl_ch(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
3980
kpath = _kpath(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4027
static void _rxbb_bw(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4033
kpath = _kpath(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4107
void rtw8852c_ctrl_bw_ch(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4111
_ctrl_ch(rtwdev, phy, central_ch, band);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4112
_ctrl_bw(rtwdev, phy, bw);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4113
_rxbb_bw(rtwdev, phy, bw);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4198
static void _rx_dck(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4207
kpath = _kpath(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4225
_set_rx_dck(rtwdev, phy, path, is_afe);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4252
void rtw8852c_rx_dck(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy, bool is_afe)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4254
_rx_dck(rtwdev, phy, is_afe, 1);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4340
void rtw8852c_tssi(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4346
rtw89_debug(rtwdev, RTW89_DBG_TSSI, "[TSSI] %s: phy=%d\n", __func__, phy);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4349
if (phy == RTW89_PHY_0) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4352
} else if (phy == RTW89_PHY_1) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4358
_tssi_disable(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4361
_tssi_set_sys(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4362
_tssi_ini_txpwr_ctrl_bb(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4363
_tssi_ini_txpwr_ctrl_bb_he_tb(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4364
_tssi_set_dck(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4365
_tssi_set_bbgain_split(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4366
_tssi_set_tmeter_tbl(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4367
_tssi_slope_cal_org(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4368
_tssi_set_aligk_default(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4369
_tssi_set_slope(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4370
_tssi_run_slope(rtwdev, phy, i);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4373
_tssi_enable(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4374
_tssi_set_efuse_to_de(rtwdev, phy, chan);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4377
void rtw8852c_tssi_scan(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4383
__func__, phy);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4391
if (phy == RTW89_PHY_0) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4394
} else if (phy == RTW89_PHY_1) {
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4400
_tssi_disable(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4403
_tssi_set_sys(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4404
_tssi_set_dck(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4405
_tssi_set_tmeter_tbl(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4406
_tssi_slope_cal_org(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4407
_tssi_set_aligk_default(rtwdev, phy, i, chan);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4410
_tssi_enable(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4411
_tssi_set_efuse_to_de(rtwdev, phy, chan);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c
4415
enum rtw89_phy_idx phy, bool enable)
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.h
10
void rtw8852c_mcc_get_ch_info(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy);
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.h
21
void rtw8852c_tssi(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.h
23
void rtw8852c_tssi_scan(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
38
void rtw8922a_ctl_band_ch_bw(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy,
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
55
kpath = rtw89_phy_get_kpath(rtwdev, phy);
drivers/net/wireless/realtek/rtw89/rtw8922a_rfk.c
56
synpath = rtw89_phy_get_syn_sel(rtwdev, phy);
drivers/net/wireless/ti/wl18xx/conf.h
123
struct wl18xx_mac_and_phy_params phy;
drivers/net/wireless/ti/wl18xx/main.c
1312
return (priv->conf.phy.number_of_assembled_ant2_4 >= 2) &&
drivers/net/wireless/ti/wl18xx/main.c
1969
priv->conf.phy.board_type = BOARD_TYPE_FPGA_18XX;
drivers/net/wireless/ti/wl18xx/main.c
1971
priv->conf.phy.board_type = BOARD_TYPE_HDK_18XX;
drivers/net/wireless/ti/wl18xx/main.c
1973
priv->conf.phy.board_type = BOARD_TYPE_DVP_18XX;
drivers/net/wireless/ti/wl18xx/main.c
1975
priv->conf.phy.board_type = BOARD_TYPE_EVB_18XX;
drivers/net/wireless/ti/wl18xx/main.c
1977
priv->conf.phy.board_type = BOARD_TYPE_COM8_18XX;
drivers/net/wireless/ti/wl18xx/main.c
1985
if (priv->conf.phy.board_type >= NUM_BOARD_TYPES) {
drivers/net/wireless/ti/wl18xx/main.c
1987
priv->conf.phy.board_type);
drivers/net/wireless/ti/wl18xx/main.c
1992
priv->conf.phy.low_band_component = low_band_component_param;
drivers/net/wireless/ti/wl18xx/main.c
1994
priv->conf.phy.low_band_component_type =
drivers/net/wireless/ti/wl18xx/main.c
1997
priv->conf.phy.high_band_component = high_band_component_param;
drivers/net/wireless/ti/wl18xx/main.c
1999
priv->conf.phy.high_band_component_type =
drivers/net/wireless/ti/wl18xx/main.c
2002
priv->conf.phy.pwr_limit_reference_11_abg =
drivers/net/wireless/ti/wl18xx/main.c
2005
priv->conf.phy.number_of_assembled_ant2_4 = n_antennas_2_param;
drivers/net/wireless/ti/wl18xx/main.c
2007
priv->conf.phy.number_of_assembled_ant5 = n_antennas_5_param;
drivers/net/wireless/ti/wl18xx/main.c
2009
priv->conf.phy.external_pa_dc2dc = dc2dc_param;
drivers/net/wireless/ti/wl18xx/main.c
2057
wl->enable_11a = (priv->conf.phy.number_of_assembled_ant5 != 0);
drivers/net/wireless/ti/wl18xx/main.c
512
.phy = {
drivers/net/wireless/ti/wl18xx/main.c
951
params = kmemdup(&priv->conf.phy, sizeof(*params), GFP_KERNEL);
drivers/nfc/fdp/fdp.c
163
struct device *dev = &info->phy->i2c_dev->dev;
drivers/nfc/fdp/fdp.c
241
return info->phy_ops->enable(info->phy);
drivers/nfc/fdp/fdp.c
257
ret = info->phy_ops->write(info->phy, skb);
drivers/nfc/fdp/fdp.c
270
struct device *dev = &info->phy->i2c_dev->dev;
drivers/nfc/fdp/fdp.c
327
struct device *dev = &info->phy->i2c_dev->dev;
drivers/nfc/fdp/fdp.c
393
struct device *dev = &info->phy->i2c_dev->dev;
drivers/nfc/fdp/fdp.c
42
struct fdp_i2c_phy *phy;
drivers/nfc/fdp/fdp.c
460
struct device *dev = &info->phy->i2c_dev->dev;
drivers/nfc/fdp/fdp.c
530
struct device *dev = &info->phy->i2c_dev->dev;
drivers/nfc/fdp/fdp.c
594
struct device *dev = &info->phy->i2c_dev->dev;
drivers/nfc/fdp/fdp.c
607
struct device *dev = &info->phy->i2c_dev->dev;
drivers/nfc/fdp/fdp.c
620
struct device *dev = &info->phy->i2c_dev->dev;
drivers/nfc/fdp/fdp.c
699
int fdp_nci_probe(struct fdp_i2c_phy *phy, const struct nfc_phy_ops *phy_ops,
drivers/nfc/fdp/fdp.c
704
struct device *dev = &phy->i2c_dev->dev;
drivers/nfc/fdp/fdp.c
714
info->phy = phy;
drivers/nfc/fdp/fdp.h
24
int fdp_nci_probe(struct fdp_i2c_phy *phy, const struct nfc_phy_ops *phy_ops,
drivers/nfc/fdp/i2c.c
111
phy->hard_fault = r;
drivers/nfc/fdp/i2c.c
129
static int fdp_nci_i2c_read(struct fdp_i2c_phy *phy, struct sk_buff **skb)
drivers/nfc/fdp/i2c.c
134
struct i2c_client *client = phy->i2c_dev;
drivers/nfc/fdp/i2c.c
141
len = phy->next_read_size;
drivers/nfc/fdp/i2c.c
162
phy->next_read_size = 5;
drivers/nfc/fdp/i2c.c
168
phy->next_read_size = (tmp[2] << 8) + tmp[3] + 3;
drivers/nfc/fdp/i2c.c
170
phy->next_read_size = FDP_NCI_I2C_MIN_PAYLOAD;
drivers/nfc/fdp/i2c.c
197
struct fdp_i2c_phy *phy = phy_id;
drivers/nfc/fdp/i2c.c
201
if (!phy || irq != phy->i2c_dev->irq) {
drivers/nfc/fdp/i2c.c
206
r = fdp_nci_i2c_read(phy, &skb);
drivers/nfc/fdp/i2c.c
212
nci_recv_frame(phy->ndev, skb);
drivers/nfc/fdp/i2c.c
280
struct fdp_i2c_phy *phy;
drivers/nfc/fdp/i2c.c
298
phy = devm_kzalloc(dev, sizeof(struct fdp_i2c_phy), GFP_KERNEL);
drivers/nfc/fdp/i2c.c
299
if (!phy)
drivers/nfc/fdp/i2c.c
302
phy->i2c_dev = client;
drivers/nfc/fdp/i2c.c
303
phy->next_read_size = FDP_NCI_I2C_MIN_PAYLOAD;
drivers/nfc/fdp/i2c.c
304
i2c_set_clientdata(client, phy);
drivers/nfc/fdp/i2c.c
309
FDP_I2C_DRIVER_NAME, phy);
drivers/nfc/fdp/i2c.c
321
phy->power_gpio = devm_gpiod_get(dev, "power", GPIOD_OUT_LOW);
drivers/nfc/fdp/i2c.c
322
if (IS_ERR(phy->power_gpio)) {
drivers/nfc/fdp/i2c.c
324
return PTR_ERR(phy->power_gpio);
drivers/nfc/fdp/i2c.c
332
r = fdp_nci_probe(phy, &i2c_phy_ops, &phy->ndev,
drivers/nfc/fdp/i2c.c
345
struct fdp_i2c_phy *phy = i2c_get_clientdata(client);
drivers/nfc/fdp/i2c.c
347
fdp_nci_remove(phy->ndev);
drivers/nfc/fdp/i2c.c
348
fdp_nci_i2c_disable(phy);
drivers/nfc/fdp/i2c.c
39
static void fdp_nci_i2c_reset(const struct fdp_i2c_phy *phy)
drivers/nfc/fdp/i2c.c
42
gpiod_set_value_cansleep(phy->power_gpio, FDP_POWER_OFF);
drivers/nfc/fdp/i2c.c
44
gpiod_set_value_cansleep(phy->power_gpio, FDP_POWER_ON);
drivers/nfc/fdp/i2c.c
50
const struct fdp_i2c_phy *phy = phy_id;
drivers/nfc/fdp/i2c.c
52
fdp_nci_i2c_reset(phy);
drivers/nfc/fdp/i2c.c
59
const struct fdp_i2c_phy *phy = phy_id;
drivers/nfc/fdp/i2c.c
61
fdp_nci_i2c_reset(phy);
drivers/nfc/fdp/i2c.c
89
struct fdp_i2c_phy *phy = phy_id;
drivers/nfc/fdp/i2c.c
90
struct i2c_client *client = phy->i2c_dev;
drivers/nfc/fdp/i2c.c
93
if (phy->hard_fault != 0)
drivers/nfc/fdp/i2c.c
94
return phy->hard_fault;
drivers/nfc/mei_phy.c
107
r = mei_cldev_send(phy->cldev, (u8 *)&cmd, sizeof(struct mei_nfc_cmd));
drivers/nfc/mei_phy.c
121
bytes_recv = mei_cldev_recv(phy->cldev, (u8 *)reply, if_version_length);
drivers/nfc/mei_phy.c
130
phy->fw_ivn = version->fw_ivn;
drivers/nfc/mei_phy.c
131
phy->vendor_id = version->vendor_id;
drivers/nfc/mei_phy.c
132
phy->radio_type = version->radio_type;
drivers/nfc/mei_phy.c
139
static int mei_nfc_connect(struct nfc_mei_phy *phy)
drivers/nfc/mei_phy.c
169
connect->fw_ivn = phy->fw_ivn;
drivers/nfc/mei_phy.c
170
connect->vendor_id = phy->vendor_id;
drivers/nfc/mei_phy.c
173
r = mei_cldev_send(phy->cldev, (u8 *)cmd, connect_length);
drivers/nfc/mei_phy.c
179
bytes_recv = mei_cldev_recv(phy->cldev, (u8 *)reply,
drivers/nfc/mei_phy.c
205
static int mei_nfc_send(struct nfc_mei_phy *phy, const u8 *buf, size_t length)
drivers/nfc/mei_phy.c
219
hdr->req_id = phy->req_id;
drivers/nfc/mei_phy.c
226
err = mei_cldev_send(phy->cldev, mei_buf, length + MEI_NFC_HEADER_SIZE);
drivers/nfc/mei_phy.c
230
if (!wait_event_interruptible_timeout(phy->send_wq,
drivers/nfc/mei_phy.c
231
phy->recv_req_id == phy->req_id, HZ)) {
drivers/nfc/mei_phy.c
235
phy->req_id++;
drivers/nfc/mei_phy.c
249
struct nfc_mei_phy *phy = phy_id;
drivers/nfc/mei_phy.c
254
r = mei_nfc_send(phy, skb->data, skb->len);
drivers/nfc/mei_phy.c
261
static int mei_nfc_recv(struct nfc_mei_phy *phy, u8 *buf, size_t length)
drivers/nfc/mei_phy.c
266
received_length = mei_cldev_recv(phy->cldev, buf, length);
drivers/nfc/mei_phy.c
274
phy->recv_req_id = hdr->req_id;
drivers/nfc/mei_phy.c
275
wake_up(&phy->send_wq);
drivers/nfc/mei_phy.c
286
struct nfc_mei_phy *phy = mei_cldev_get_drvdata(cldev);
drivers/nfc/mei_phy.c
290
if (!phy)
drivers/nfc/mei_phy.c
293
if (phy->hard_fault != 0)
drivers/nfc/mei_phy.c
300
reply_size = mei_nfc_recv(phy, skb->data, MEI_NFC_MAX_READ);
drivers/nfc/mei_phy.c
311
nfc_hci_recv_frame(phy->hdev, skb);
drivers/nfc/mei_phy.c
317
struct nfc_mei_phy *phy = phy_id;
drivers/nfc/mei_phy.c
319
if (phy->powered == 1)
drivers/nfc/mei_phy.c
322
r = mei_cldev_enable(phy->cldev);
drivers/nfc/mei_phy.c
328
r = mei_nfc_if_version(phy);
drivers/nfc/mei_phy.c
334
r = mei_nfc_connect(phy);
drivers/nfc/mei_phy.c
340
r = mei_cldev_register_rx_cb(phy->cldev, nfc_mei_rx_cb);
drivers/nfc/mei_phy.c
346
phy->powered = 1;
drivers/nfc/mei_phy.c
351
phy->powered = 0;
drivers/nfc/mei_phy.c
352
mei_cldev_disable(phy->cldev);
drivers/nfc/mei_phy.c
358
struct nfc_mei_phy *phy = phy_id;
drivers/nfc/mei_phy.c
360
mei_cldev_disable(phy->cldev);
drivers/nfc/mei_phy.c
362
phy->powered = 0;
drivers/nfc/mei_phy.c
374
struct nfc_mei_phy *phy;
drivers/nfc/mei_phy.c
376
phy = kzalloc_obj(struct nfc_mei_phy);
drivers/nfc/mei_phy.c
377
if (!phy)
drivers/nfc/mei_phy.c
380
phy->cldev = cldev;
drivers/nfc/mei_phy.c
381
init_waitqueue_head(&phy->send_wq);
drivers/nfc/mei_phy.c
382
mei_cldev_set_drvdata(cldev, phy);
drivers/nfc/mei_phy.c
384
return phy;
drivers/nfc/mei_phy.c
388
void nfc_mei_phy_free(struct nfc_mei_phy *phy)
drivers/nfc/mei_phy.c
390
mei_cldev_disable(phy->cldev);
drivers/nfc/mei_phy.c
391
kfree(phy);
drivers/nfc/mei_phy.c
92
static int mei_nfc_if_version(struct nfc_mei_phy *phy)
drivers/nfc/mei_phy.h
51
void nfc_mei_phy_free(struct nfc_mei_phy *phy);
drivers/nfc/microread/i2c.c
106
struct microread_i2c_phy *phy = phy_id;
drivers/nfc/microread/i2c.c
107
struct i2c_client *client = phy->i2c_dev;
drivers/nfc/microread/i2c.c
109
if (phy->hard_fault != 0)
drivers/nfc/microread/i2c.c
110
return phy->hard_fault;
drivers/nfc/microread/i2c.c
138
static int microread_i2c_read(struct microread_i2c_phy *phy,
drivers/nfc/microread/i2c.c
144
struct i2c_client *client = phy->i2c_dev;
drivers/nfc/microread/i2c.c
200
struct microread_i2c_phy *phy = phy_id;
drivers/nfc/microread/i2c.c
204
if (!phy || irq != phy->i2c_dev->irq) {
drivers/nfc/microread/i2c.c
209
if (phy->hard_fault != 0)
drivers/nfc/microread/i2c.c
212
r = microread_i2c_read(phy, &skb);
drivers/nfc/microread/i2c.c
214
phy->hard_fault = r;
drivers/nfc/microread/i2c.c
216
nfc_hci_recv_frame(phy->hdev, NULL);
drivers/nfc/microread/i2c.c
223
nfc_hci_recv_frame(phy->hdev, skb);
drivers/nfc/microread/i2c.c
236
struct microread_i2c_phy *phy;
drivers/nfc/microread/i2c.c
239
phy = devm_kzalloc(&client->dev, sizeof(struct microread_i2c_phy),
drivers/nfc/microread/i2c.c
241
if (!phy)
drivers/nfc/microread/i2c.c
244
i2c_set_clientdata(client, phy);
drivers/nfc/microread/i2c.c
245
phy->i2c_dev = client;
drivers/nfc/microread/i2c.c
249
MICROREAD_I2C_DRIVER_NAME, phy);
drivers/nfc/microread/i2c.c
255
r = microread_probe(phy, &i2c_phy_ops, LLC_SHDLC_NAME,
drivers/nfc/microread/i2c.c
258
MICROREAD_I2C_LLC_MAX_PAYLOAD, &phy->hdev);
drivers/nfc/microread/i2c.c
265
free_irq(client->irq, phy);
drivers/nfc/microread/i2c.c
272
struct microread_i2c_phy *phy = i2c_get_clientdata(client);
drivers/nfc/microread/i2c.c
274
microread_remove(phy->hdev);
drivers/nfc/microread/i2c.c
276
free_irq(client->irq, phy);
drivers/nfc/microread/mei.c
23
struct nfc_mei_phy *phy;
drivers/nfc/microread/mei.c
26
phy = nfc_mei_phy_alloc(cldev);
drivers/nfc/microread/mei.c
27
if (!phy)
drivers/nfc/microread/mei.c
30
r = microread_probe(phy, &mei_phy_ops, LLC_NOP_NAME,
drivers/nfc/microread/mei.c
32
&phy->hdev);
drivers/nfc/microread/mei.c
34
nfc_mei_phy_free(phy);
drivers/nfc/microread/mei.c
44
struct nfc_mei_phy *phy = mei_cldev_get_drvdata(cldev);
drivers/nfc/microread/mei.c
46
microread_remove(phy->hdev);
drivers/nfc/microread/mei.c
48
nfc_mei_phy_free(phy);
drivers/nfc/nfcmrvl/fw_dnld.c
189
switch (priv->phy) {
drivers/nfc/nfcmrvl/fw_dnld.c
513
fw_dnld->header->phy != priv->phy) {
drivers/nfc/nfcmrvl/fw_dnld.c
516
fw_dnld->header->phy);
drivers/nfc/nfcmrvl/fw_dnld.h
54
uint32_t phy;
drivers/nfc/nfcmrvl/main.c
111
priv->phy = phy;
drivers/nfc/nfcmrvl/main.c
125
if (phy == NFCMRVL_PHY_SPI) {
drivers/nfc/nfcmrvl/main.c
92
struct nfcmrvl_private *nfcmrvl_nci_register_dev(enum nfcmrvl_phy phy,
drivers/nfc/nfcmrvl/nfcmrvl.h
104
enum nfcmrvl_phy phy;
drivers/nfc/nfcmrvl/nfcmrvl.h
119
struct nfcmrvl_private *nfcmrvl_nci_register_dev(enum nfcmrvl_phy phy,
drivers/nfc/nxp-nci/i2c.c
143
static int nxp_nci_i2c_nci_read(struct nxp_nci_i2c_phy *phy,
drivers/nfc/nxp-nci/i2c.c
147
struct i2c_client *client = phy->i2c_dev;
drivers/nfc/nxp-nci/i2c.c
191
struct nxp_nci_i2c_phy *phy = phy_id;
drivers/nfc/nxp-nci/i2c.c
198
if (!phy || !phy->ndev)
drivers/nfc/nxp-nci/i2c.c
201
client = phy->i2c_dev;
drivers/nfc/nxp-nci/i2c.c
206
info = nci_get_drvdata(phy->ndev);
drivers/nfc/nxp-nci/i2c.c
213
if (phy->hard_fault != 0)
drivers/nfc/nxp-nci/i2c.c
218
r = nxp_nci_i2c_nci_read(phy, &skb);
drivers/nfc/nxp-nci/i2c.c
221
r = nxp_nci_i2c_fw_read(phy, &skb);
drivers/nfc/nxp-nci/i2c.c
229
phy->hard_fault = r;
drivers/nfc/nxp-nci/i2c.c
231
nxp_nci_fw_recv_frame(phy->ndev, NULL);
drivers/nfc/nxp-nci/i2c.c
240
nci_recv_frame(phy->ndev, skb);
drivers/nfc/nxp-nci/i2c.c
243
nxp_nci_fw_recv_frame(phy->ndev, skb);
drivers/nfc/nxp-nci/i2c.c
269
struct nxp_nci_i2c_phy *phy;
drivers/nfc/nxp-nci/i2c.c
277
phy = devm_kzalloc(&client->dev, sizeof(struct nxp_nci_i2c_phy),
drivers/nfc/nxp-nci/i2c.c
279
if (!phy)
drivers/nfc/nxp-nci/i2c.c
282
phy->i2c_dev = client;
drivers/nfc/nxp-nci/i2c.c
283
i2c_set_clientdata(client, phy);
drivers/nfc/nxp-nci/i2c.c
289
phy->gpiod_en = devm_gpiod_get(dev, "enable", GPIOD_OUT_LOW);
drivers/nfc/nxp-nci/i2c.c
290
if (IS_ERR(phy->gpiod_en)) {
drivers/nfc/nxp-nci/i2c.c
292
return PTR_ERR(phy->gpiod_en);
drivers/nfc/nxp-nci/i2c.c
295
phy->gpiod_fw = devm_gpiod_get_optional(dev, "firmware", GPIOD_OUT_LOW);
drivers/nfc/nxp-nci/i2c.c
296
if (IS_ERR(phy->gpiod_fw)) {
drivers/nfc/nxp-nci/i2c.c
298
return PTR_ERR(phy->gpiod_fw);
drivers/nfc/nxp-nci/i2c.c
301
r = nxp_nci_probe(phy, &client->dev, &i2c_phy_ops,
drivers/nfc/nxp-nci/i2c.c
302
NXP_NCI_I2C_MAX_PAYLOAD, &phy->ndev);
drivers/nfc/nxp-nci/i2c.c
309
NXP_NCI_I2C_DRIVER_NAME, phy);
drivers/nfc/nxp-nci/i2c.c
318
struct nxp_nci_i2c_phy *phy = i2c_get_clientdata(client);
drivers/nfc/nxp-nci/i2c.c
320
nxp_nci_remove(phy->ndev);
drivers/nfc/nxp-nci/i2c.c
321
free_irq(client->irq, phy);
drivers/nfc/nxp-nci/i2c.c
48
struct nxp_nci_i2c_phy *phy = (struct nxp_nci_i2c_phy *) phy_id;
drivers/nfc/nxp-nci/i2c.c
50
gpiod_set_value_cansleep(phy->gpiod_fw, (mode == NXP_NCI_MODE_FW) ? 1 : 0);
drivers/nfc/nxp-nci/i2c.c
51
gpiod_set_value_cansleep(phy->gpiod_en, (mode != NXP_NCI_MODE_COLD) ? 1 : 0);
drivers/nfc/nxp-nci/i2c.c
55
phy->hard_fault = 0;
drivers/nfc/nxp-nci/i2c.c
63
struct nxp_nci_i2c_phy *phy = phy_id;
drivers/nfc/nxp-nci/i2c.c
64
struct i2c_client *client = phy->i2c_dev;
drivers/nfc/nxp-nci/i2c.c
66
if (phy->hard_fault != 0)
drivers/nfc/nxp-nci/i2c.c
67
return phy->hard_fault;
drivers/nfc/nxp-nci/i2c.c
96
static int nxp_nci_i2c_fw_read(struct nxp_nci_i2c_phy *phy,
drivers/nfc/nxp-nci/i2c.c
99
struct i2c_client *client = phy->i2c_dev;
drivers/nfc/pn533/i2c.c
123
skb_trim(*skb, phy->priv->ops->rx_frame_size((*skb)->data));
drivers/nfc/pn533/i2c.c
130
struct pn533_i2c_phy *phy = data;
drivers/nfc/pn533/i2c.c
134
if (!phy || irq != phy->i2c_dev->irq) {
drivers/nfc/pn533/i2c.c
139
if (phy->hard_fault != 0)
drivers/nfc/pn533/i2c.c
142
r = pn533_i2c_read(phy, &skb);
drivers/nfc/pn533/i2c.c
144
phy->hard_fault = r;
drivers/nfc/pn533/i2c.c
146
pn533_recv_frame(phy->priv, NULL, -EREMOTEIO);
drivers/nfc/pn533/i2c.c
153
if (!phy->aborted)
drivers/nfc/pn533/i2c.c
154
pn533_recv_frame(phy->priv, skb, 0);
drivers/nfc/pn533/i2c.c
168
struct pn533_i2c_phy *phy;
drivers/nfc/pn533/i2c.c
177
phy = devm_kzalloc(&client->dev, sizeof(struct pn533_i2c_phy),
drivers/nfc/pn533/i2c.c
179
if (!phy)
drivers/nfc/pn533/i2c.c
182
phy->i2c_dev = client;
drivers/nfc/pn533/i2c.c
183
i2c_set_clientdata(client, phy);
drivers/nfc/pn533/i2c.c
187
phy, &i2c_phy_ops, NULL,
drivers/nfc/pn533/i2c.c
188
&phy->i2c_dev->dev);
drivers/nfc/pn533/i2c.c
193
phy->priv = priv;
drivers/nfc/pn533/i2c.c
201
PN533_I2C_DRIVER_NAME, phy);
drivers/nfc/pn533/i2c.c
218
free_irq(client->irq, phy);
drivers/nfc/pn533/i2c.c
224
pn53x_common_clean(phy->priv);
drivers/nfc/pn533/i2c.c
231
struct pn533_i2c_phy *phy = i2c_get_clientdata(client);
drivers/nfc/pn533/i2c.c
233
free_irq(client->irq, phy);
drivers/nfc/pn533/i2c.c
235
pn53x_unregister_nfc(phy->priv);
drivers/nfc/pn533/i2c.c
236
pn53x_common_clean(phy->priv);
drivers/nfc/pn533/i2c.c
39
struct pn533_i2c_phy *phy = dev->phy;
drivers/nfc/pn533/i2c.c
40
struct i2c_client *client = phy->i2c_dev;
drivers/nfc/pn533/i2c.c
50
struct pn533_i2c_phy *phy = dev->phy;
drivers/nfc/pn533/i2c.c
51
struct i2c_client *client = phy->i2c_dev;
drivers/nfc/pn533/i2c.c
54
if (phy->hard_fault != 0)
drivers/nfc/pn533/i2c.c
55
return phy->hard_fault;
drivers/nfc/pn533/i2c.c
57
if (phy->priv == NULL)
drivers/nfc/pn533/i2c.c
58
phy->priv = dev;
drivers/nfc/pn533/i2c.c
60
phy->aborted = false;
drivers/nfc/pn533/i2c.c
84
struct pn533_i2c_phy *phy = dev->phy;
drivers/nfc/pn533/i2c.c
86
phy->aborted = true;
drivers/nfc/pn533/i2c.c
92
pn533_recv_frame(phy->priv, NULL, -ENOENT);
drivers/nfc/pn533/i2c.c
95
static int pn533_i2c_read(struct pn533_i2c_phy *phy, struct sk_buff **skb)
drivers/nfc/pn533/i2c.c
97
struct i2c_client *client = phy->i2c_dev;
drivers/nfc/pn533/pn533.c
2740
void *phy,
drivers/nfc/pn533/pn533.c
2751
priv->phy = phy;
drivers/nfc/pn533/pn533.h
179
void *phy;
drivers/nfc/pn533/pn533.h
234
void *phy,
drivers/nfc/pn533/uart.c
105
struct pn532_uart_phy *pn532 = dev->phy;
drivers/nfc/pn533/uart.c
118
struct pn532_uart_phy *pn532 = dev->phy;
drivers/nfc/pn533/uart.c
52
struct pn532_uart_phy *pn532 = dev->phy;
drivers/nfc/pn533/uart.c
84
struct pn532_uart_phy *pn532 = dev->phy;
drivers/nfc/pn533/usb.c
105
nfc_err(&phy->udev->dev,
drivers/nfc/pn533/usb.c
110
in_frame = phy->in_urb->transfer_buffer;
drivers/nfc/pn533/usb.c
113
nfc_err(&phy->udev->dev, "Received an invalid ack\n");
drivers/nfc/pn533/usb.c
118
rc = pn533_submit_urb_for_response(phy, GFP_ATOMIC);
drivers/nfc/pn533/usb.c
120
nfc_err(&phy->udev->dev,
drivers/nfc/pn533/usb.c
132
static int pn533_submit_urb_for_ack(struct pn533_usb_phy *phy, gfp_t flags)
drivers/nfc/pn533/usb.c
134
phy->in_urb->complete = pn533_recv_ack;
drivers/nfc/pn533/usb.c
136
return usb_submit_urb(phy->in_urb, flags);
drivers/nfc/pn533/usb.c
141
struct pn533_usb_phy *phy = dev->phy;
drivers/nfc/pn533/usb.c
145
if (!phy->ack_buffer) {
drivers/nfc/pn533/usb.c
146
phy->ack_buffer = kmemdup(ack, sizeof(ack), flags);
drivers/nfc/pn533/usb.c
147
if (!phy->ack_buffer)
drivers/nfc/pn533/usb.c
151
phy->ack_urb->transfer_buffer = phy->ack_buffer;
drivers/nfc/pn533/usb.c
152
phy->ack_urb->transfer_buffer_length = sizeof(ack);
drivers/nfc/pn533/usb.c
153
return usb_submit_urb(phy->ack_urb, flags);
drivers/nfc/pn533/usb.c
157
struct pn533_usb_phy *phy;
drivers/nfc/pn533/usb.c
164
struct pn533_usb_phy *phy = dev->phy;
drivers/nfc/pn533/usb.c
169
if (phy->priv == NULL)
drivers/nfc/pn533/usb.c
170
phy->priv = dev;
drivers/nfc/pn533/usb.c
172
phy->out_urb->transfer_buffer = out->data;
drivers/nfc/pn533/usb.c
173
phy->out_urb->transfer_buffer_length = out->len;
drivers/nfc/pn533/usb.c
178
arg.phy = phy;
drivers/nfc/pn533/usb.c
180
cntx = phy->out_urb->context;
drivers/nfc/pn533/usb.c
181
phy->out_urb->context = &arg;
drivers/nfc/pn533/usb.c
183
rc = usb_submit_urb(phy->out_urb, GFP_KERNEL);
drivers/nfc/pn533/usb.c
188
phy->out_urb->context = cntx;
drivers/nfc/pn533/usb.c
192
rc = pn533_submit_urb_for_response(phy, GFP_KERNEL);
drivers/nfc/pn533/usb.c
197
rc = pn533_submit_urb_for_ack(phy, GFP_KERNEL);
drivers/nfc/pn533/usb.c
205
usb_unlink_urb(phy->out_urb);
drivers/nfc/pn533/usb.c
211
struct pn533_usb_phy *phy = dev->phy;
drivers/nfc/pn533/usb.c
225
usb_kill_urb(phy->in_urb);
drivers/nfc/pn533/usb.c
379
static int pn533_acr122_poweron_rdr(struct pn533_usb_phy *phy)
drivers/nfc/pn533/usb.c
395
cntx = phy->in_urb->context; /* backup context */
drivers/nfc/pn533/usb.c
397
phy->in_urb->complete = pn533_acr122_poweron_rdr_resp;
drivers/nfc/pn533/usb.c
398
phy->in_urb->context = &arg;
drivers/nfc/pn533/usb.c
403
rc = usb_bulk_msg(phy->udev, phy->out_urb->pipe, buffer, sizeof(cmd),
drivers/nfc/pn533/usb.c
407
nfc_err(&phy->udev->dev,
drivers/nfc/pn533/usb.c
412
rc = usb_submit_urb(phy->in_urb, GFP_KERNEL);
drivers/nfc/pn533/usb.c
414
nfc_err(&phy->udev->dev,
drivers/nfc/pn533/usb.c
420
phy->in_urb->context = cntx; /* restore context */
drivers/nfc/pn533/usb.c
428
struct pn533_usb_phy *phy = arg->phy;
drivers/nfc/pn533/usb.c
435
dev_dbg(&phy->udev->dev,
drivers/nfc/pn533/usb.c
441
nfc_err(&phy->udev->dev,
drivers/nfc/pn533/usb.c
451
struct pn533_usb_phy *phy = urb->context;
drivers/nfc/pn533/usb.c
458
dev_dbg(&phy->udev->dev,
drivers/nfc/pn533/usb.c
464
nfc_err(&phy->udev->dev,
drivers/nfc/pn533/usb.c
480
struct pn533_usb_phy *phy;
drivers/nfc/pn533/usb.c
495
phy = devm_kzalloc(&interface->dev, sizeof(*phy), GFP_KERNEL);
drivers/nfc/pn533/usb.c
496
if (!phy)
drivers/nfc/pn533/usb.c
503
phy->udev = usb_get_dev(interface_to_usbdev(interface));
drivers/nfc/pn533/usb.c
504
phy->interface = interface;
drivers/nfc/pn533/usb.c
524
phy->in_urb = usb_alloc_urb(0, GFP_KERNEL);
drivers/nfc/pn533/usb.c
525
phy->out_urb = usb_alloc_urb(0, GFP_KERNEL);
drivers/nfc/pn533/usb.c
526
phy->ack_urb = usb_alloc_urb(0, GFP_KERNEL);
drivers/nfc/pn533/usb.c
528
if (!phy->in_urb || !phy->out_urb || !phy->ack_urb)
drivers/nfc/pn533/usb.c
531
usb_fill_bulk_urb(phy->in_urb, phy->udev,
drivers/nfc/pn533/usb.c
532
usb_rcvbulkpipe(phy->udev, in_endpoint),
drivers/nfc/pn533/usb.c
533
in_buf, in_buf_len, NULL, phy);
drivers/nfc/pn533/usb.c
535
usb_fill_bulk_urb(phy->out_urb, phy->udev,
drivers/nfc/pn533/usb.c
536
usb_sndbulkpipe(phy->udev, out_endpoint),
drivers/nfc/pn533/usb.c
537
NULL, 0, pn533_out_complete, phy);
drivers/nfc/pn533/usb.c
538
usb_fill_bulk_urb(phy->ack_urb, phy->udev,
drivers/nfc/pn533/usb.c
539
usb_sndbulkpipe(phy->udev, out_endpoint),
drivers/nfc/pn533/usb.c
540
NULL, 0, pn533_ack_complete, phy);
drivers/nfc/pn533/usb.c
556
rc = pn533_acr122_poweron_rdr(phy);
drivers/nfc/pn533/usb.c
572
phy, &usb_phy_ops, fops,
drivers/nfc/pn533/usb.c
573
&phy->udev->dev);
drivers/nfc/pn533/usb.c
580
phy->priv = priv;
drivers/nfc/pn533/usb.c
586
usb_set_intfdata(interface, phy);
drivers/nfc/pn533/usb.c
596
usb_kill_urb(phy->in_urb);
drivers/nfc/pn533/usb.c
597
usb_kill_urb(phy->out_urb);
drivers/nfc/pn533/usb.c
598
usb_kill_urb(phy->ack_urb);
drivers/nfc/pn533/usb.c
600
usb_free_urb(phy->in_urb);
drivers/nfc/pn533/usb.c
601
usb_free_urb(phy->out_urb);
drivers/nfc/pn533/usb.c
602
usb_free_urb(phy->ack_urb);
drivers/nfc/pn533/usb.c
603
usb_put_dev(phy->udev);
drivers/nfc/pn533/usb.c
605
kfree(phy->ack_buffer);
drivers/nfc/pn533/usb.c
61
struct pn533_usb_phy *phy = urb->context;
drivers/nfc/pn533/usb.c
612
struct pn533_usb_phy *phy = usb_get_intfdata(interface);
drivers/nfc/pn533/usb.c
614
if (!phy)
drivers/nfc/pn533/usb.c
617
pn53x_unregister_nfc(phy->priv);
drivers/nfc/pn533/usb.c
618
pn53x_common_clean(phy->priv);
drivers/nfc/pn533/usb.c
622
usb_kill_urb(phy->in_urb);
drivers/nfc/pn533/usb.c
623
usb_kill_urb(phy->out_urb);
drivers/nfc/pn533/usb.c
624
usb_kill_urb(phy->ack_urb);
drivers/nfc/pn533/usb.c
626
kfree(phy->in_urb->transfer_buffer);
drivers/nfc/pn533/usb.c
627
usb_free_urb(phy->in_urb);
drivers/nfc/pn533/usb.c
628
usb_free_urb(phy->out_urb);
drivers/nfc/pn533/usb.c
629
usb_free_urb(phy->ack_urb);
drivers/nfc/pn533/usb.c
630
kfree(phy->ack_buffer);
drivers/nfc/pn533/usb.c
631
usb_put_dev(phy->udev);
drivers/nfc/pn533/usb.c
67
nfc_err(&phy->udev->dev, "failed to alloc memory\n");
drivers/nfc/pn533/usb.c
74
pn533_recv_frame(phy->priv, skb, urb->status);
drivers/nfc/pn533/usb.c
77
static int pn533_submit_urb_for_response(struct pn533_usb_phy *phy, gfp_t flags)
drivers/nfc/pn533/usb.c
79
phy->in_urb->complete = pn533_recv_response;
drivers/nfc/pn533/usb.c
81
return usb_submit_urb(phy->in_urb, flags);
drivers/nfc/pn533/usb.c
86
struct pn533_usb_phy *phy = urb->context;
drivers/nfc/pn533/usb.c
87
struct pn533 *priv = phy->priv;
drivers/nfc/pn533/usb.c
99
dev_dbg(&phy->udev->dev,
drivers/nfc/pn544/i2c.c
186
static void pn544_hci_i2c_platform_init(struct pn544_i2c_phy *phy)
drivers/nfc/pn544/i2c.c
192
nfc_info(&phy->i2c_dev->dev, "Detecting nfc_en polarity\n");
drivers/nfc/pn544/i2c.c
195
gpiod_set_value_cansleep(phy->gpiod_fw, 0);
drivers/nfc/pn544/i2c.c
198
phy->en_polarity = polarity;
drivers/nfc/pn544/i2c.c
202
gpiod_set_value_cansleep(phy->gpiod_en, !phy->en_polarity);
drivers/nfc/pn544/i2c.c
206
gpiod_set_value_cansleep(phy->gpiod_en, phy->en_polarity);
drivers/nfc/pn544/i2c.c
210
dev_dbg(&phy->i2c_dev->dev, "Sending reset cmd\n");
drivers/nfc/pn544/i2c.c
211
ret = i2c_master_send(phy->i2c_dev, rset_cmd, count);
drivers/nfc/pn544/i2c.c
213
nfc_info(&phy->i2c_dev->dev,
drivers/nfc/pn544/i2c.c
221
nfc_err(&phy->i2c_dev->dev,
drivers/nfc/pn544/i2c.c
225
gpiod_set_value_cansleep(phy->gpiod_en, !phy->en_polarity);
drivers/nfc/pn544/i2c.c
229
static void pn544_hci_i2c_enable_mode(struct pn544_i2c_phy *phy, int run_mode)
drivers/nfc/pn544/i2c.c
231
gpiod_set_value_cansleep(phy->gpiod_fw, run_mode == PN544_FW_MODE ? 1 : 0);
drivers/nfc/pn544/i2c.c
232
gpiod_set_value_cansleep(phy->gpiod_en, phy->en_polarity);
drivers/nfc/pn544/i2c.c
235
phy->run_mode = run_mode;
drivers/nfc/pn544/i2c.c
240
struct pn544_i2c_phy *phy = phy_id;
drivers/nfc/pn544/i2c.c
242
pn544_hci_i2c_enable_mode(phy, PN544_HCI_MODE);
drivers/nfc/pn544/i2c.c
244
phy->powered = 1;
drivers/nfc/pn544/i2c.c
251
struct pn544_i2c_phy *phy = phy_id;
drivers/nfc/pn544/i2c.c
253
gpiod_set_value_cansleep(phy->gpiod_fw, 0);
drivers/nfc/pn544/i2c.c
254
gpiod_set_value_cansleep(phy->gpiod_en, !phy->en_polarity);
drivers/nfc/pn544/i2c.c
257
gpiod_set_value_cansleep(phy->gpiod_en, phy->en_polarity);
drivers/nfc/pn544/i2c.c
260
gpiod_set_value_cansleep(phy->gpiod_en, !phy->en_polarity);
drivers/nfc/pn544/i2c.c
263
phy->powered = 0;
drivers/nfc/pn544/i2c.c
294
struct pn544_i2c_phy *phy = phy_id;
drivers/nfc/pn544/i2c.c
295
struct i2c_client *client = phy->i2c_dev;
drivers/nfc/pn544/i2c.c
297
if (phy->hard_fault != 0)
drivers/nfc/pn544/i2c.c
298
return phy->hard_fault;
drivers/nfc/pn544/i2c.c
354
static int pn544_hci_i2c_read(struct pn544_i2c_phy *phy, struct sk_buff **skb)
drivers/nfc/pn544/i2c.c
359
struct i2c_client *client = phy->i2c_dev;
drivers/nfc/pn544/i2c.c
413
static int pn544_hci_i2c_fw_read_status(struct pn544_i2c_phy *phy)
drivers/nfc/pn544/i2c.c
417
struct i2c_client *client = phy->i2c_dev;
drivers/nfc/pn544/i2c.c
480
struct pn544_i2c_phy *phy = phy_id;
drivers/nfc/pn544/i2c.c
485
if (!phy || irq != phy->i2c_dev->irq) {
drivers/nfc/pn544/i2c.c
490
client = phy->i2c_dev;
drivers/nfc/pn544/i2c.c
493
if (phy->hard_fault != 0)
drivers/nfc/pn544/i2c.c
496
if (phy->run_mode == PN544_FW_MODE) {
drivers/nfc/pn544/i2c.c
497
phy->fw_cmd_result = pn544_hci_i2c_fw_read_status(phy);
drivers/nfc/pn544/i2c.c
498
schedule_work(&phy->fw_work);
drivers/nfc/pn544/i2c.c
500
r = pn544_hci_i2c_read(phy, &skb);
drivers/nfc/pn544/i2c.c
502
phy->hard_fault = r;
drivers/nfc/pn544/i2c.c
504
nfc_hci_recv_frame(phy->hdev, NULL);
drivers/nfc/pn544/i2c.c
511
nfc_hci_recv_frame(phy->hdev, skb);
drivers/nfc/pn544/i2c.c
525
struct pn544_i2c_phy *phy = phy_id;
drivers/nfc/pn544/i2c.c
529
strcpy(phy->firmware_name, firmware_name);
drivers/nfc/pn544/i2c.c
531
phy->hw_variant = hw_variant;
drivers/nfc/pn544/i2c.c
532
phy->fw_work_state = FW_WORK_STATE_START;
drivers/nfc/pn544/i2c.c
534
schedule_work(&phy->fw_work);
drivers/nfc/pn544/i2c.c
539
static void pn544_hci_i2c_fw_work_complete(struct pn544_i2c_phy *phy,
drivers/nfc/pn544/i2c.c
544
pn544_hci_i2c_disable(phy);
drivers/nfc/pn544/i2c.c
546
phy->fw_work_state = FW_WORK_STATE_IDLE;
drivers/nfc/pn544/i2c.c
548
if (phy->fw) {
drivers/nfc/pn544/i2c.c
549
release_firmware(phy->fw);
drivers/nfc/pn544/i2c.c
550
phy->fw = NULL;
drivers/nfc/pn544/i2c.c
553
nfc_fw_download_done(phy->hdev->ndev, phy->firmware_name, (u32) -result);
drivers/nfc/pn544/i2c.c
636
static int pn544_hci_i2c_fw_write_chunk(struct pn544_i2c_phy *phy)
drivers/nfc/pn544/i2c.c
640
r = pn544_hci_i2c_fw_write_cmd(phy->i2c_dev,
drivers/nfc/pn544/i2c.c
641
phy->fw_blob_dest_addr + phy->fw_written,
drivers/nfc/pn544/i2c.c
642
phy->fw_blob_data + phy->fw_written,
drivers/nfc/pn544/i2c.c
643
phy->fw_blob_size - phy->fw_written);
drivers/nfc/pn544/i2c.c
647
phy->fw_written += r;
drivers/nfc/pn544/i2c.c
648
phy->fw_work_state = FW_WORK_STATE_WAIT_WRITE_ANSWER;
drivers/nfc/pn544/i2c.c
653
static int pn544_hci_i2c_fw_secure_write_frame_cmd(struct pn544_i2c_phy *phy,
drivers/nfc/pn544/i2c.c
674
r = i2c_master_send(phy->i2c_dev, buf, chunklen);
drivers/nfc/pn544/i2c.c
685
static int pn544_hci_i2c_fw_secure_write_frame(struct pn544_i2c_phy *phy)
drivers/nfc/pn544/i2c.c
690
framep = (struct pn544_i2c_fw_secure_frame *) phy->fw_blob_data;
drivers/nfc/pn544/i2c.c
691
if (phy->fw_written == 0)
drivers/nfc/pn544/i2c.c
692
phy->fw_blob_size = get_unaligned_be16(&framep->be_datalen)
drivers/nfc/pn544/i2c.c
696
if (phy->fw_blob_size > PN544_FW_I2C_MAX_PAYLOAD &&
drivers/nfc/pn544/i2c.c
701
if (phy->fw_blob_size < PN544_FW_I2C_MAX_PAYLOAD) {
drivers/nfc/pn544/i2c.c
702
r = i2c_master_send(phy->i2c_dev,
drivers/nfc/pn544/i2c.c
703
(const char *) phy->fw_blob_data, phy->fw_blob_size);
drivers/nfc/pn544/i2c.c
705
if (r == phy->fw_blob_size)
drivers/nfc/pn544/i2c.c
713
r = pn544_hci_i2c_fw_secure_write_frame_cmd(phy,
drivers/nfc/pn544/i2c.c
714
phy->fw_blob_data + phy->fw_written,
drivers/nfc/pn544/i2c.c
715
phy->fw_blob_size - phy->fw_written);
drivers/nfc/pn544/i2c.c
720
phy->fw_written += r;
drivers/nfc/pn544/i2c.c
721
phy->fw_work_state = FW_WORK_STATE_WAIT_SECURE_WRITE_ANSWER;
drivers/nfc/pn544/i2c.c
725
pn544_hci_i2c_enable_mode(phy, PN544_FW_MODE);
drivers/nfc/pn544/i2c.c
726
phy->fw_cmd_result = 0;
drivers/nfc/pn544/i2c.c
727
schedule_work(&phy->fw_work);
drivers/nfc/pn544/i2c.c
735
struct pn544_i2c_phy *phy = container_of(work, struct pn544_i2c_phy,
drivers/nfc/pn544/i2c.c
741
switch (phy->fw_work_state) {
drivers/nfc/pn544/i2c.c
743
pn544_hci_i2c_enable_mode(phy, PN544_FW_MODE);
drivers/nfc/pn544/i2c.c
745
r = request_firmware(&phy->fw, phy->firmware_name,
drivers/nfc/pn544/i2c.c
746
&phy->i2c_dev->dev);
drivers/nfc/pn544/i2c.c
750
phy->fw_written = 0;
drivers/nfc/pn544/i2c.c
752
switch (phy->hw_variant) {
drivers/nfc/pn544/i2c.c
754
blob = (struct pn544_i2c_fw_blob *) phy->fw->data;
drivers/nfc/pn544/i2c.c
755
phy->fw_blob_size = get_unaligned_be32(&blob->be_size);
drivers/nfc/pn544/i2c.c
756
phy->fw_blob_dest_addr = get_unaligned_be32(
drivers/nfc/pn544/i2c.c
758
phy->fw_blob_data = blob->data;
drivers/nfc/pn544/i2c.c
760
r = pn544_hci_i2c_fw_write_chunk(phy);
drivers/nfc/pn544/i2c.c
764
phy->fw->data;
drivers/nfc/pn544/i2c.c
765
phy->fw_blob_data = secure_blob->data;
drivers/nfc/pn544/i2c.c
766
phy->fw_size = phy->fw->size;
drivers/nfc/pn544/i2c.c
767
r = pn544_hci_i2c_fw_secure_write_frame(phy);
drivers/nfc/pn544/i2c.c
776
pn544_hci_i2c_fw_work_complete(phy, r);
drivers/nfc/pn544/i2c.c
780
r = phy->fw_cmd_result;
drivers/nfc/pn544/i2c.c
784
if (phy->fw_written == phy->fw_blob_size) {
drivers/nfc/pn544/i2c.c
785
r = pn544_hci_i2c_fw_check_cmd(phy->i2c_dev,
drivers/nfc/pn544/i2c.c
786
phy->fw_blob_dest_addr,
drivers/nfc/pn544/i2c.c
787
phy->fw_blob_data,
drivers/nfc/pn544/i2c.c
788
phy->fw_blob_size);
drivers/nfc/pn544/i2c.c
791
phy->fw_work_state = FW_WORK_STATE_WAIT_CHECK_ANSWER;
drivers/nfc/pn544/i2c.c
795
r = pn544_hci_i2c_fw_write_chunk(phy);
drivers/nfc/pn544/i2c.c
799
pn544_hci_i2c_fw_work_complete(phy, r);
drivers/nfc/pn544/i2c.c
803
r = phy->fw_cmd_result;
drivers/nfc/pn544/i2c.c
807
blob = (struct pn544_i2c_fw_blob *) (phy->fw_blob_data +
drivers/nfc/pn544/i2c.c
808
phy->fw_blob_size);
drivers/nfc/pn544/i2c.c
809
phy->fw_blob_size = get_unaligned_be32(&blob->be_size);
drivers/nfc/pn544/i2c.c
810
if (phy->fw_blob_size != 0) {
drivers/nfc/pn544/i2c.c
811
phy->fw_blob_dest_addr =
drivers/nfc/pn544/i2c.c
813
phy->fw_blob_data = blob->data;
drivers/nfc/pn544/i2c.c
815
phy->fw_written = 0;
drivers/nfc/pn544/i2c.c
816
r = pn544_hci_i2c_fw_write_chunk(phy);
drivers/nfc/pn544/i2c.c
820
if (r < 0 || phy->fw_blob_size == 0)
drivers/nfc/pn544/i2c.c
821
pn544_hci_i2c_fw_work_complete(phy, r);
drivers/nfc/pn544/i2c.c
825
r = phy->fw_cmd_result;
drivers/nfc/pn544/i2c.c
830
r = pn544_hci_i2c_fw_secure_write_frame(phy);
drivers/nfc/pn544/i2c.c
834
if (phy->fw_written == phy->fw_blob_size) {
drivers/nfc/pn544/i2c.c
836
(phy->fw_blob_data + phy->fw_blob_size);
drivers/nfc/pn544/i2c.c
837
phy->fw_size -= phy->fw_blob_size +
drivers/nfc/pn544/i2c.c
839
if (phy->fw_size >= PN544_FW_SECURE_BLOB_HEADER_LEN
drivers/nfc/pn544/i2c.c
841
phy->fw_blob_data = secure_blob->data;
drivers/nfc/pn544/i2c.c
843
phy->fw_written = 0;
drivers/nfc/pn544/i2c.c
844
r = pn544_hci_i2c_fw_secure_write_frame(phy);
drivers/nfc/pn544/i2c.c
849
if (r < 0 || phy->fw_size == 0)
drivers/nfc/pn544/i2c.c
850
pn544_hci_i2c_fw_work_complete(phy, r);
drivers/nfc/pn544/i2c.c
870
struct pn544_i2c_phy *phy;
drivers/nfc/pn544/i2c.c
878
phy = devm_kzalloc(&client->dev, sizeof(struct pn544_i2c_phy),
drivers/nfc/pn544/i2c.c
880
if (!phy)
drivers/nfc/pn544/i2c.c
883
INIT_WORK(&phy->fw_work, pn544_hci_i2c_fw_work);
drivers/nfc/pn544/i2c.c
884
phy->fw_work_state = FW_WORK_STATE_IDLE;
drivers/nfc/pn544/i2c.c
886
phy->i2c_dev = client;
drivers/nfc/pn544/i2c.c
887
i2c_set_clientdata(client, phy);
drivers/nfc/pn544/i2c.c
894
phy->gpiod_en = devm_gpiod_get(dev, "enable", GPIOD_OUT_LOW);
drivers/nfc/pn544/i2c.c
895
if (IS_ERR(phy->gpiod_en)) {
drivers/nfc/pn544/i2c.c
897
return PTR_ERR(phy->gpiod_en);
drivers/nfc/pn544/i2c.c
901
phy->gpiod_fw = devm_gpiod_get(dev, "firmware", GPIOD_OUT_LOW);
drivers/nfc/pn544/i2c.c
902
if (IS_ERR(phy->gpiod_fw)) {
drivers/nfc/pn544/i2c.c
904
return PTR_ERR(phy->gpiod_fw);
drivers/nfc/pn544/i2c.c
907
pn544_hci_i2c_platform_init(phy);
drivers/nfc/pn544/i2c.c
912
PN544_HCI_I2C_DRIVER_NAME, phy);
drivers/nfc/pn544/i2c.c
918
r = pn544_hci_probe(phy, &i2c_phy_ops, LLC_SHDLC_NAME,
drivers/nfc/pn544/i2c.c
921
pn544_hci_i2c_fw_download, &phy->hdev);
drivers/nfc/pn544/i2c.c
930
struct pn544_i2c_phy *phy = i2c_get_clientdata(client);
drivers/nfc/pn544/i2c.c
932
cancel_work_sync(&phy->fw_work);
drivers/nfc/pn544/i2c.c
933
if (phy->fw_work_state != FW_WORK_STATE_IDLE)
drivers/nfc/pn544/i2c.c
934
pn544_hci_i2c_fw_work_complete(phy, -ENODEV);
drivers/nfc/pn544/i2c.c
936
pn544_hci_remove(phy->hdev);
drivers/nfc/pn544/i2c.c
938
if (phy->powered)
drivers/nfc/pn544/i2c.c
939
pn544_hci_i2c_disable(phy);
drivers/nfc/pn544/mei.c
22
struct nfc_mei_phy *phy;
drivers/nfc/pn544/mei.c
25
phy = nfc_mei_phy_alloc(cldev);
drivers/nfc/pn544/mei.c
26
if (!phy)
drivers/nfc/pn544/mei.c
29
r = pn544_hci_probe(phy, &mei_phy_ops, LLC_NOP_NAME,
drivers/nfc/pn544/mei.c
31
NULL, &phy->hdev);
drivers/nfc/pn544/mei.c
33
nfc_mei_phy_free(phy);
drivers/nfc/pn544/mei.c
43
struct nfc_mei_phy *phy = mei_cldev_get_drvdata(cldev);
drivers/nfc/pn544/mei.c
45
pn544_hci_remove(phy->hdev);
drivers/nfc/pn544/mei.c
47
nfc_mei_phy_free(phy);
drivers/nfc/s3fwrn5/i2c.c
110
ret = i2c_master_recv(phy->i2c_dev, skb_put(skb, data_len), data_len);
drivers/nfc/s3fwrn5/i2c.c
117
return s3fwrn5_recv_frame(phy->common.ndev, skb, phy->common.mode);
drivers/nfc/s3fwrn5/i2c.c
122
struct s3fwrn5_i2c_phy *phy = phy_id;
drivers/nfc/s3fwrn5/i2c.c
124
if (!phy || !phy->common.ndev) {
drivers/nfc/s3fwrn5/i2c.c
129
mutex_lock(&phy->common.mutex);
drivers/nfc/s3fwrn5/i2c.c
131
if (phy->irq_skip)
drivers/nfc/s3fwrn5/i2c.c
134
switch (phy->common.mode) {
drivers/nfc/s3fwrn5/i2c.c
137
s3fwrn5_i2c_read(phy);
drivers/nfc/s3fwrn5/i2c.c
144
mutex_unlock(&phy->common.mutex);
drivers/nfc/s3fwrn5/i2c.c
151
struct s3fwrn5_i2c_phy *phy = i2c_get_clientdata(client);
drivers/nfc/s3fwrn5/i2c.c
157
phy->common.gpio_en = of_get_named_gpio(np, "en-gpios", 0);
drivers/nfc/s3fwrn5/i2c.c
158
if (!gpio_is_valid(phy->common.gpio_en)) {
drivers/nfc/s3fwrn5/i2c.c
160
phy->common.gpio_en = of_get_named_gpio(np,
drivers/nfc/s3fwrn5/i2c.c
163
if (!gpio_is_valid(phy->common.gpio_en))
drivers/nfc/s3fwrn5/i2c.c
167
phy->common.gpio_fw_wake = of_get_named_gpio(np, "wake-gpios", 0);
drivers/nfc/s3fwrn5/i2c.c
168
if (!gpio_is_valid(phy->common.gpio_fw_wake)) {
drivers/nfc/s3fwrn5/i2c.c
170
phy->common.gpio_fw_wake = of_get_named_gpio(np,
drivers/nfc/s3fwrn5/i2c.c
173
if (!gpio_is_valid(phy->common.gpio_fw_wake))
drivers/nfc/s3fwrn5/i2c.c
182
struct s3fwrn5_i2c_phy *phy;
drivers/nfc/s3fwrn5/i2c.c
185
phy = devm_kzalloc(&client->dev, sizeof(*phy), GFP_KERNEL);
drivers/nfc/s3fwrn5/i2c.c
186
if (!phy)
drivers/nfc/s3fwrn5/i2c.c
189
mutex_init(&phy->common.mutex);
drivers/nfc/s3fwrn5/i2c.c
190
phy->common.mode = S3FWRN5_MODE_COLD;
drivers/nfc/s3fwrn5/i2c.c
191
phy->irq_skip = true;
drivers/nfc/s3fwrn5/i2c.c
193
phy->i2c_dev = client;
drivers/nfc/s3fwrn5/i2c.c
194
i2c_set_clientdata(client, phy);
drivers/nfc/s3fwrn5/i2c.c
200
ret = devm_gpio_request_one(&phy->i2c_dev->dev, phy->common.gpio_en,
drivers/nfc/s3fwrn5/i2c.c
205
ret = devm_gpio_request_one(&phy->i2c_dev->dev,
drivers/nfc/s3fwrn5/i2c.c
206
phy->common.gpio_fw_wake,
drivers/nfc/s3fwrn5/i2c.c
217
phy->clk = devm_clk_get_optional_enabled(&client->dev, NULL);
drivers/nfc/s3fwrn5/i2c.c
218
if (IS_ERR(phy->clk))
drivers/nfc/s3fwrn5/i2c.c
219
return dev_err_probe(&client->dev, PTR_ERR(phy->clk),
drivers/nfc/s3fwrn5/i2c.c
222
ret = s3fwrn5_probe(&phy->common.ndev, phy, &phy->i2c_dev->dev,
drivers/nfc/s3fwrn5/i2c.c
227
ret = devm_request_threaded_irq(&client->dev, phy->i2c_dev->irq, NULL,
drivers/nfc/s3fwrn5/i2c.c
229
S3FWRN5_I2C_DRIVER_NAME, phy);
drivers/nfc/s3fwrn5/i2c.c
236
s3fwrn5_remove(phy->common.ndev);
drivers/nfc/s3fwrn5/i2c.c
242
struct s3fwrn5_i2c_phy *phy = i2c_get_clientdata(client);
drivers/nfc/s3fwrn5/i2c.c
244
s3fwrn5_remove(phy->common.ndev);
drivers/nfc/s3fwrn5/i2c.c
33
struct s3fwrn5_i2c_phy *phy = phy_id;
drivers/nfc/s3fwrn5/i2c.c
35
mutex_lock(&phy->common.mutex);
drivers/nfc/s3fwrn5/i2c.c
37
if (s3fwrn5_phy_power_ctrl(&phy->common, mode) == false)
drivers/nfc/s3fwrn5/i2c.c
40
phy->irq_skip = true;
drivers/nfc/s3fwrn5/i2c.c
43
mutex_unlock(&phy->common.mutex);
drivers/nfc/s3fwrn5/i2c.c
48
struct s3fwrn5_i2c_phy *phy = phy_id;
drivers/nfc/s3fwrn5/i2c.c
51
mutex_lock(&phy->common.mutex);
drivers/nfc/s3fwrn5/i2c.c
53
phy->irq_skip = false;
drivers/nfc/s3fwrn5/i2c.c
55
ret = i2c_master_send(phy->i2c_dev, skb->data, skb->len);
drivers/nfc/s3fwrn5/i2c.c
59
ret = i2c_master_send(phy->i2c_dev, skb->data, skb->len);
drivers/nfc/s3fwrn5/i2c.c
62
mutex_unlock(&phy->common.mutex);
drivers/nfc/s3fwrn5/i2c.c
80
static int s3fwrn5_i2c_read(struct s3fwrn5_i2c_phy *phy)
drivers/nfc/s3fwrn5/i2c.c
88
hdr_size = (phy->common.mode == S3FWRN5_MODE_NCI) ?
drivers/nfc/s3fwrn5/i2c.c
90
ret = i2c_master_recv(phy->i2c_dev, hdr, hdr_size);
drivers/nfc/s3fwrn5/i2c.c
97
data_len = (phy->common.mode == S3FWRN5_MODE_NCI) ?
drivers/nfc/s3fwrn5/phy_common.c
19
struct phy_common *phy = phy_id;
drivers/nfc/s3fwrn5/phy_common.c
21
mutex_lock(&phy->mutex);
drivers/nfc/s3fwrn5/phy_common.c
22
gpio_set_value(phy->gpio_fw_wake, wake);
drivers/nfc/s3fwrn5/phy_common.c
25
mutex_unlock(&phy->mutex);
drivers/nfc/s3fwrn5/phy_common.c
29
bool s3fwrn5_phy_power_ctrl(struct phy_common *phy, enum s3fwrn5_mode mode)
drivers/nfc/s3fwrn5/phy_common.c
31
if (phy->mode == mode)
drivers/nfc/s3fwrn5/phy_common.c
34
phy->mode = mode;
drivers/nfc/s3fwrn5/phy_common.c
36
gpio_set_value(phy->gpio_en, 1);
drivers/nfc/s3fwrn5/phy_common.c
37
gpio_set_value(phy->gpio_fw_wake, 0);
drivers/nfc/s3fwrn5/phy_common.c
39
gpio_set_value(phy->gpio_fw_wake, 1);
drivers/nfc/s3fwrn5/phy_common.c
43
gpio_set_value(phy->gpio_en, 0);
drivers/nfc/s3fwrn5/phy_common.c
53
struct phy_common *phy = phy_id;
drivers/nfc/s3fwrn5/phy_common.c
55
mutex_lock(&phy->mutex);
drivers/nfc/s3fwrn5/phy_common.c
57
s3fwrn5_phy_power_ctrl(phy, mode);
drivers/nfc/s3fwrn5/phy_common.c
59
mutex_unlock(&phy->mutex);
drivers/nfc/s3fwrn5/phy_common.c
65
struct phy_common *phy = phy_id;
drivers/nfc/s3fwrn5/phy_common.c
68
mutex_lock(&phy->mutex);
drivers/nfc/s3fwrn5/phy_common.c
70
mode = phy->mode;
drivers/nfc/s3fwrn5/phy_common.c
72
mutex_unlock(&phy->mutex);
drivers/nfc/s3fwrn5/phy_common.h
33
bool s3fwrn5_phy_power_ctrl(struct phy_common *phy, enum s3fwrn5_mode mode);
drivers/nfc/s3fwrn5/uart.c
100
if (!gpio_is_valid(phy->common.gpio_en))
drivers/nfc/s3fwrn5/uart.c
103
phy->common.gpio_fw_wake = of_get_named_gpio(np, "wake-gpios", 0);
drivers/nfc/s3fwrn5/uart.c
104
if (!gpio_is_valid(phy->common.gpio_fw_wake))
drivers/nfc/s3fwrn5/uart.c
112
struct s3fwrn82_uart_phy *phy;
drivers/nfc/s3fwrn5/uart.c
115
phy = devm_kzalloc(&serdev->dev, sizeof(*phy), GFP_KERNEL);
drivers/nfc/s3fwrn5/uart.c
116
if (!phy)
drivers/nfc/s3fwrn5/uart.c
119
phy->recv_skb = alloc_skb(NCI_SKB_BUFF_LEN, GFP_KERNEL);
drivers/nfc/s3fwrn5/uart.c
120
if (!phy->recv_skb)
drivers/nfc/s3fwrn5/uart.c
123
mutex_init(&phy->common.mutex);
drivers/nfc/s3fwrn5/uart.c
124
phy->common.mode = S3FWRN5_MODE_COLD;
drivers/nfc/s3fwrn5/uart.c
126
phy->ser_dev = serdev;
drivers/nfc/s3fwrn5/uart.c
127
serdev_device_set_drvdata(serdev, phy);
drivers/nfc/s3fwrn5/uart.c
147
ret = devm_gpio_request_one(&phy->ser_dev->dev, phy->common.gpio_en,
drivers/nfc/s3fwrn5/uart.c
152
ret = devm_gpio_request_one(&phy->ser_dev->dev,
drivers/nfc/s3fwrn5/uart.c
153
phy->common.gpio_fw_wake,
drivers/nfc/s3fwrn5/uart.c
158
ret = s3fwrn5_probe(&phy->common.ndev, phy, &phy->ser_dev->dev,
drivers/nfc/s3fwrn5/uart.c
168
kfree_skb(phy->recv_skb);
drivers/nfc/s3fwrn5/uart.c
175
struct s3fwrn82_uart_phy *phy = serdev_device_get_drvdata(serdev);
drivers/nfc/s3fwrn5/uart.c
177
s3fwrn5_remove(phy->common.ndev);
drivers/nfc/s3fwrn5/uart.c
179
kfree_skb(phy->recv_skb);
drivers/nfc/s3fwrn5/uart.c
35
struct s3fwrn82_uart_phy *phy = phy_id;
drivers/nfc/s3fwrn5/uart.c
38
err = serdev_device_write(phy->ser_dev,
drivers/nfc/s3fwrn5/uart.c
57
struct s3fwrn82_uart_phy *phy = serdev_device_get_drvdata(serdev);
drivers/nfc/s3fwrn5/uart.c
61
skb_put_u8(phy->recv_skb, *data++);
drivers/nfc/s3fwrn5/uart.c
63
if (phy->recv_skb->len < S3FWRN82_NCI_HEADER)
drivers/nfc/s3fwrn5/uart.c
66
if ((phy->recv_skb->len - S3FWRN82_NCI_HEADER)
drivers/nfc/s3fwrn5/uart.c
67
< phy->recv_skb->data[S3FWRN82_NCI_IDX])
drivers/nfc/s3fwrn5/uart.c
70
s3fwrn5_recv_frame(phy->common.ndev, phy->recv_skb,
drivers/nfc/s3fwrn5/uart.c
71
phy->common.mode);
drivers/nfc/s3fwrn5/uart.c
72
phy->recv_skb = alloc_skb(NCI_SKB_BUFF_LEN, GFP_KERNEL);
drivers/nfc/s3fwrn5/uart.c
73
if (!phy->recv_skb)
drivers/nfc/s3fwrn5/uart.c
93
struct s3fwrn82_uart_phy *phy = serdev_device_get_drvdata(serdev);
drivers/nfc/s3fwrn5/uart.c
99
phy->common.gpio_en = of_get_named_gpio(np, "en-gpios", 0);
drivers/nfc/st-nci/i2c.c
106
static int st_nci_i2c_read(struct st_nci_i2c_phy *phy,
drivers/nfc/st-nci/i2c.c
112
struct i2c_client *client = phy->i2c_dev;
drivers/nfc/st-nci/i2c.c
159
struct st_nci_i2c_phy *phy = phy_id;
drivers/nfc/st-nci/i2c.c
163
if (!phy || !phy->ndlc || irq != phy->i2c_dev->irq) {
drivers/nfc/st-nci/i2c.c
168
if (phy->ndlc->hard_fault)
drivers/nfc/st-nci/i2c.c
171
if (!phy->ndlc->powered) {
drivers/nfc/st-nci/i2c.c
172
st_nci_i2c_disable(phy);
drivers/nfc/st-nci/i2c.c
176
r = st_nci_i2c_read(phy, &skb);
drivers/nfc/st-nci/i2c.c
180
ndlc_recv(phy->ndlc, skb);
drivers/nfc/st-nci/i2c.c
201
struct st_nci_i2c_phy *phy;
drivers/nfc/st-nci/i2c.c
209
phy = devm_kzalloc(dev, sizeof(struct st_nci_i2c_phy), GFP_KERNEL);
drivers/nfc/st-nci/i2c.c
210
if (!phy)
drivers/nfc/st-nci/i2c.c
213
phy->i2c_dev = client;
drivers/nfc/st-nci/i2c.c
215
i2c_set_clientdata(client, phy);
drivers/nfc/st-nci/i2c.c
222
phy->gpiod_reset = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
drivers/nfc/st-nci/i2c.c
223
if (IS_ERR(phy->gpiod_reset)) {
drivers/nfc/st-nci/i2c.c
228
phy->se_status.is_ese_present =
drivers/nfc/st-nci/i2c.c
230
phy->se_status.is_uicc_present =
drivers/nfc/st-nci/i2c.c
233
r = ndlc_probe(phy, &i2c_phy_ops, &client->dev,
drivers/nfc/st-nci/i2c.c
235
&phy->ndlc, &phy->se_status);
drivers/nfc/st-nci/i2c.c
241
phy->irq_active = true;
drivers/nfc/st-nci/i2c.c
245
ST_NCI_DRIVER_NAME, phy);
drivers/nfc/st-nci/i2c.c
254
struct st_nci_i2c_phy *phy = i2c_get_clientdata(client);
drivers/nfc/st-nci/i2c.c
256
ndlc_remove(phy->ndlc);
drivers/nfc/st-nci/i2c.c
45
struct st_nci_i2c_phy *phy = phy_id;
drivers/nfc/st-nci/i2c.c
47
gpiod_set_value(phy->gpiod_reset, 0);
drivers/nfc/st-nci/i2c.c
49
gpiod_set_value(phy->gpiod_reset, 1);
drivers/nfc/st-nci/i2c.c
52
if (phy->ndlc->powered == 0 && phy->irq_active == 0) {
drivers/nfc/st-nci/i2c.c
53
enable_irq(phy->i2c_dev->irq);
drivers/nfc/st-nci/i2c.c
54
phy->irq_active = true;
drivers/nfc/st-nci/i2c.c
62
struct st_nci_i2c_phy *phy = phy_id;
drivers/nfc/st-nci/i2c.c
64
disable_irq_nosync(phy->i2c_dev->irq);
drivers/nfc/st-nci/i2c.c
65
phy->irq_active = false;
drivers/nfc/st-nci/i2c.c
76
struct st_nci_i2c_phy *phy = phy_id;
drivers/nfc/st-nci/i2c.c
77
struct i2c_client *client = phy->i2c_dev;
drivers/nfc/st-nci/i2c.c
79
if (phy->ndlc->hard_fault != 0)
drivers/nfc/st-nci/i2c.c
80
return phy->ndlc->hard_fault;
drivers/nfc/st-nci/spi.c
103
ndlc_recv(phy->ndlc, skb_rx);
drivers/nfc/st-nci/spi.c
117
static int st_nci_spi_read(struct st_nci_spi_phy *phy,
drivers/nfc/st-nci/spi.c
123
struct spi_device *dev = phy->spi_dev;
drivers/nfc/st-nci/spi.c
136
phy->ndlc->hard_fault = 1;
drivers/nfc/st-nci/spi.c
171
struct st_nci_spi_phy *phy = phy_id;
drivers/nfc/st-nci/spi.c
175
if (!phy || !phy->ndlc || irq != phy->spi_dev->irq) {
drivers/nfc/st-nci/spi.c
180
if (phy->ndlc->hard_fault)
drivers/nfc/st-nci/spi.c
183
if (!phy->ndlc->powered) {
drivers/nfc/st-nci/spi.c
184
st_nci_spi_disable(phy);
drivers/nfc/st-nci/spi.c
188
r = st_nci_spi_read(phy, &skb);
drivers/nfc/st-nci/spi.c
192
ndlc_recv(phy->ndlc, skb);
drivers/nfc/st-nci/spi.c
212
struct st_nci_spi_phy *phy;
drivers/nfc/st-nci/spi.c
222
phy = devm_kzalloc(&dev->dev, sizeof(struct st_nci_spi_phy),
drivers/nfc/st-nci/spi.c
224
if (!phy)
drivers/nfc/st-nci/spi.c
227
phy->spi_dev = dev;
drivers/nfc/st-nci/spi.c
229
spi_set_drvdata(dev, phy);
drivers/nfc/st-nci/spi.c
236
phy->gpiod_reset = devm_gpiod_get(&dev->dev, "reset", GPIOD_OUT_HIGH);
drivers/nfc/st-nci/spi.c
237
if (IS_ERR(phy->gpiod_reset)) {
drivers/nfc/st-nci/spi.c
239
return PTR_ERR(phy->gpiod_reset);
drivers/nfc/st-nci/spi.c
242
phy->se_status.is_ese_present =
drivers/nfc/st-nci/spi.c
244
phy->se_status.is_uicc_present =
drivers/nfc/st-nci/spi.c
247
r = ndlc_probe(phy, &spi_phy_ops, &dev->dev,
drivers/nfc/st-nci/spi.c
249
&phy->ndlc, &phy->se_status);
drivers/nfc/st-nci/spi.c
255
phy->irq_active = true;
drivers/nfc/st-nci/spi.c
259
ST_NCI_SPI_DRIVER_NAME, phy);
drivers/nfc/st-nci/spi.c
268
struct st_nci_spi_phy *phy = spi_get_drvdata(dev);
drivers/nfc/st-nci/spi.c
270
ndlc_remove(phy->ndlc);
drivers/nfc/st-nci/spi.c
46
struct st_nci_spi_phy *phy = phy_id;
drivers/nfc/st-nci/spi.c
48
gpiod_set_value(phy->gpiod_reset, 0);
drivers/nfc/st-nci/spi.c
50
gpiod_set_value(phy->gpiod_reset, 1);
drivers/nfc/st-nci/spi.c
53
if (phy->ndlc->powered == 0 && phy->irq_active == 0) {
drivers/nfc/st-nci/spi.c
54
enable_irq(phy->spi_dev->irq);
drivers/nfc/st-nci/spi.c
55
phy->irq_active = true;
drivers/nfc/st-nci/spi.c
63
struct st_nci_spi_phy *phy = phy_id;
drivers/nfc/st-nci/spi.c
65
disable_irq_nosync(phy->spi_dev->irq);
drivers/nfc/st-nci/spi.c
66
phy->irq_active = false;
drivers/nfc/st-nci/spi.c
77
struct st_nci_spi_phy *phy = phy_id;
drivers/nfc/st-nci/spi.c
78
struct spi_device *dev = phy->spi_dev;
drivers/nfc/st-nci/spi.c
88
if (phy->ndlc->hard_fault != 0)
drivers/nfc/st-nci/spi.c
89
return phy->ndlc->hard_fault;
drivers/nfc/st21nfca/i2c.c
100
r = i2c_master_send(phy->i2c_dev, reboot_cmd,
drivers/nfc/st21nfca/i2c.c
112
r = i2c_master_recv(phy->i2c_dev, tmp,
drivers/nfc/st21nfca/i2c.c
133
struct st21nfca_i2c_phy *phy = phy_id;
drivers/nfc/st21nfca/i2c.c
135
gpiod_set_value(phy->gpiod_ena, 1);
drivers/nfc/st21nfca/i2c.c
136
phy->powered = 1;
drivers/nfc/st21nfca/i2c.c
137
phy->run_mode = ST21NFCA_HCI_MODE;
drivers/nfc/st21nfca/i2c.c
146
struct st21nfca_i2c_phy *phy = phy_id;
drivers/nfc/st21nfca/i2c.c
148
gpiod_set_value(phy->gpiod_ena, 0);
drivers/nfc/st21nfca/i2c.c
150
phy->powered = 0;
drivers/nfc/st21nfca/i2c.c
184
struct st21nfca_i2c_phy *phy = phy_id;
drivers/nfc/st21nfca/i2c.c
185
struct i2c_client *client = phy->i2c_dev;
drivers/nfc/st21nfca/i2c.c
190
if (phy->hard_fault != 0)
drivers/nfc/st21nfca/i2c.c
191
return phy->hard_fault;
drivers/nfc/st21nfca/i2c.c
229
mutex_lock(&phy->phy_lock);
drivers/nfc/st21nfca/i2c.c
235
mutex_unlock(&phy->phy_lock);
drivers/nfc/st21nfca/i2c.c
344
static int st21nfca_hci_i2c_read(struct st21nfca_i2c_phy *phy,
drivers/nfc/st21nfca/i2c.c
350
struct i2c_client *client = phy->i2c_dev;
drivers/nfc/st21nfca/i2c.c
352
if (phy->current_read_len < ARRAY_SIZE(len_seq)) {
drivers/nfc/st21nfca/i2c.c
353
len = len_seq[phy->current_read_len];
drivers/nfc/st21nfca/i2c.c
361
mutex_lock(&phy->phy_lock);
drivers/nfc/st21nfca/i2c.c
367
mutex_unlock(&phy->phy_lock);
drivers/nfc/st21nfca/i2c.c
370
phy->current_read_len = 0;
drivers/nfc/st21nfca/i2c.c
378
if (!phy->current_read_len && !IS_START_OF_FRAME(buf)) {
drivers/nfc/st21nfca/i2c.c
380
phy->current_read_len = 0;
drivers/nfc/st21nfca/i2c.c
382
} else if (phy->current_read_len && IS_START_OF_FRAME(buf)) {
drivers/nfc/st21nfca/i2c.c
389
phy->current_read_len = 0;
drivers/nfc/st21nfca/i2c.c
395
phy->current_read_len = 0;
drivers/nfc/st21nfca/i2c.c
398
phy->current_read_len++;
drivers/nfc/st21nfca/i2c.c
420
struct st21nfca_i2c_phy *phy = phy_id;
drivers/nfc/st21nfca/i2c.c
424
if (!phy || irq != phy->i2c_dev->irq) {
drivers/nfc/st21nfca/i2c.c
429
if (phy->hard_fault != 0)
drivers/nfc/st21nfca/i2c.c
432
r = st21nfca_hci_i2c_read(phy, phy->pending_skb);
drivers/nfc/st21nfca/i2c.c
434
phy->hard_fault = r;
drivers/nfc/st21nfca/i2c.c
436
nfc_hci_recv_frame(phy->hdev, NULL);
drivers/nfc/st21nfca/i2c.c
441
} else if (r == -EBADMSG && phy->crc_trials < ARRAY_SIZE(wait_tab)) {
drivers/nfc/st21nfca/i2c.c
451
msleep(wait_tab[phy->crc_trials]);
drivers/nfc/st21nfca/i2c.c
452
phy->crc_trials++;
drivers/nfc/st21nfca/i2c.c
453
phy->current_read_len = 0;
drivers/nfc/st21nfca/i2c.c
454
kfree_skb(phy->pending_skb);
drivers/nfc/st21nfca/i2c.c
461
nfc_hci_recv_frame(phy->hdev, phy->pending_skb);
drivers/nfc/st21nfca/i2c.c
462
phy->crc_trials = 0;
drivers/nfc/st21nfca/i2c.c
464
kfree_skb(phy->pending_skb);
drivers/nfc/st21nfca/i2c.c
467
phy->pending_skb = alloc_skb(ST21NFCA_HCI_LLC_MAX_SIZE * 2, GFP_KERNEL);
drivers/nfc/st21nfca/i2c.c
468
if (phy->pending_skb == NULL) {
drivers/nfc/st21nfca/i2c.c
469
phy->hard_fault = -ENOMEM;
drivers/nfc/st21nfca/i2c.c
470
nfc_hci_recv_frame(phy->hdev, NULL);
drivers/nfc/st21nfca/i2c.c
492
struct st21nfca_i2c_phy *phy;
drivers/nfc/st21nfca/i2c.c
500
phy = devm_kzalloc(&client->dev, sizeof(struct st21nfca_i2c_phy),
drivers/nfc/st21nfca/i2c.c
502
if (!phy)
drivers/nfc/st21nfca/i2c.c
505
phy->i2c_dev = client;
drivers/nfc/st21nfca/i2c.c
506
phy->pending_skb = alloc_skb(ST21NFCA_HCI_LLC_MAX_SIZE * 2, GFP_KERNEL);
drivers/nfc/st21nfca/i2c.c
507
if (phy->pending_skb == NULL)
drivers/nfc/st21nfca/i2c.c
510
phy->current_read_len = 0;
drivers/nfc/st21nfca/i2c.c
511
phy->crc_trials = 0;
drivers/nfc/st21nfca/i2c.c
512
mutex_init(&phy->phy_lock);
drivers/nfc/st21nfca/i2c.c
513
i2c_set_clientdata(client, phy);
drivers/nfc/st21nfca/i2c.c
520
phy->gpiod_ena = devm_gpiod_get(dev, "enable", GPIOD_OUT_LOW);
drivers/nfc/st21nfca/i2c.c
521
if (IS_ERR(phy->gpiod_ena)) {
drivers/nfc/st21nfca/i2c.c
523
r = PTR_ERR(phy->gpiod_ena);
drivers/nfc/st21nfca/i2c.c
527
phy->se_status.is_ese_present =
drivers/nfc/st21nfca/i2c.c
529
phy->se_status.is_uicc_present =
drivers/nfc/st21nfca/i2c.c
532
r = st21nfca_hci_platform_init(phy);
drivers/nfc/st21nfca/i2c.c
541
ST21NFCA_HCI_DRIVER_NAME, phy);
drivers/nfc/st21nfca/i2c.c
547
r = st21nfca_hci_probe(phy, &i2c_phy_ops, LLC_SHDLC_NAME,
drivers/nfc/st21nfca/i2c.c
551
&phy->hdev,
drivers/nfc/st21nfca/i2c.c
552
&phy->se_status);
drivers/nfc/st21nfca/i2c.c
559
kfree_skb(phy->pending_skb);
drivers/nfc/st21nfca/i2c.c
565
struct st21nfca_i2c_phy *phy = i2c_get_clientdata(client);
drivers/nfc/st21nfca/i2c.c
567
st21nfca_hci_remove(phy->hdev);
drivers/nfc/st21nfca/i2c.c
569
if (phy->powered)
drivers/nfc/st21nfca/i2c.c
570
st21nfca_hci_i2c_disable(phy);
drivers/nfc/st21nfca/i2c.c
571
kfree_skb(phy->pending_skb);
drivers/nfc/st21nfca/i2c.c
92
static int st21nfca_hci_platform_init(struct st21nfca_i2c_phy *phy)
drivers/pci/controller/cadence/pcie-cadence.c
185
phy_power_off(pcie->phy[i]);
drivers/pci/controller/cadence/pcie-cadence.c
186
phy_exit(pcie->phy[i]);
drivers/pci/controller/cadence/pcie-cadence.c
197
ret = phy_init(pcie->phy[i]);
drivers/pci/controller/cadence/pcie-cadence.c
201
ret = phy_power_on(pcie->phy[i]);
drivers/pci/controller/cadence/pcie-cadence.c
203
phy_exit(pcie->phy[i]);
drivers/pci/controller/cadence/pcie-cadence.c
212
phy_power_off(pcie->phy[i]);
drivers/pci/controller/cadence/pcie-cadence.c
213
phy_exit(pcie->phy[i]);
drivers/pci/controller/cadence/pcie-cadence.c
224
struct phy **phy;
drivers/pci/controller/cadence/pcie-cadence.c
237
phy = devm_kcalloc(dev, phy_count, sizeof(*phy), GFP_KERNEL);
drivers/pci/controller/cadence/pcie-cadence.c
238
if (!phy)
drivers/pci/controller/cadence/pcie-cadence.c
247
phy[i] = devm_phy_get(dev, name);
drivers/pci/controller/cadence/pcie-cadence.c
248
if (IS_ERR(phy[i])) {
drivers/pci/controller/cadence/pcie-cadence.c
249
ret = PTR_ERR(phy[i]);
drivers/pci/controller/cadence/pcie-cadence.c
252
link[i] = device_link_add(dev, &phy[i]->dev, DL_FLAG_STATELESS);
drivers/pci/controller/cadence/pcie-cadence.c
254
devm_phy_put(dev, phy[i]);
drivers/pci/controller/cadence/pcie-cadence.c
261
pcie->phy = phy;
drivers/pci/controller/cadence/pcie-cadence.c
273
devm_phy_put(dev, phy[i]);
drivers/pci/controller/cadence/pcie-cadence.h
97
struct phy **phy;
drivers/pci/controller/dwc/pci-dra7xx.c
528
phy_power_off(dra7xx->phy[phy_count]);
drivers/pci/controller/dwc/pci-dra7xx.c
529
phy_exit(dra7xx->phy[phy_count]);
drivers/pci/controller/dwc/pci-dra7xx.c
540
ret = phy_set_mode(dra7xx->phy[i], PHY_MODE_PCIE);
drivers/pci/controller/dwc/pci-dra7xx.c
544
ret = phy_init(dra7xx->phy[i]);
drivers/pci/controller/dwc/pci-dra7xx.c
548
ret = phy_power_on(dra7xx->phy[i]);
drivers/pci/controller/dwc/pci-dra7xx.c
550
phy_exit(dra7xx->phy[i]);
drivers/pci/controller/dwc/pci-dra7xx.c
559
phy_power_off(dra7xx->phy[i]);
drivers/pci/controller/dwc/pci-dra7xx.c
560
phy_exit(dra7xx->phy[i]);
drivers/pci/controller/dwc/pci-dra7xx.c
685
struct phy **phy;
drivers/pci/controller/dwc/pci-dra7xx.c
730
phy = devm_kcalloc(dev, phy_count, sizeof(*phy), GFP_KERNEL);
drivers/pci/controller/dwc/pci-dra7xx.c
731
if (!phy)
drivers/pci/controller/dwc/pci-dra7xx.c
749
phy[i] = devm_phy_get(dev, name);
drivers/pci/controller/dwc/pci-dra7xx.c
750
if (IS_ERR(phy[i]))
drivers/pci/controller/dwc/pci-dra7xx.c
751
return PTR_ERR(phy[i]);
drivers/pci/controller/dwc/pci-dra7xx.c
753
link[i] = device_link_add(dev, &phy[i]->dev, DL_FLAG_STATELESS);
drivers/pci/controller/dwc/pci-dra7xx.c
761
dra7xx->phy = phy;
drivers/pci/controller/dwc/pci-dra7xx.c
92
struct phy **phy;
drivers/pci/controller/dwc/pci-exynos.c
234
phy_init(ep->phy);
drivers/pci/controller/dwc/pci-exynos.c
235
phy_power_on(ep->phy);
drivers/pci/controller/dwc/pci-exynos.c
299
ep->phy = devm_of_phy_get(dev, np, NULL);
drivers/pci/controller/dwc/pci-exynos.c
300
if (IS_ERR(ep->phy))
drivers/pci/controller/dwc/pci-exynos.c
301
return PTR_ERR(ep->phy);
drivers/pci/controller/dwc/pci-exynos.c
327
phy_exit(ep->phy);
drivers/pci/controller/dwc/pci-exynos.c
339
phy_power_off(ep->phy);
drivers/pci/controller/dwc/pci-exynos.c
340
phy_exit(ep->phy);
drivers/pci/controller/dwc/pci-exynos.c
349
phy_power_off(ep->phy);
drivers/pci/controller/dwc/pci-exynos.c
350
phy_exit(ep->phy);
drivers/pci/controller/dwc/pci-exynos.c
57
struct phy *phy;
drivers/pci/controller/dwc/pci-imx6.c
1270
if (imx_pcie->phy) {
drivers/pci/controller/dwc/pci-imx6.c
1271
ret = phy_init(imx_pcie->phy);
drivers/pci/controller/dwc/pci-imx6.c
1277
ret = phy_set_mode_ext(imx_pcie->phy, PHY_MODE_PCIE,
drivers/pci/controller/dwc/pci-imx6.c
1285
ret = phy_power_on(imx_pcie->phy);
drivers/pci/controller/dwc/pci-imx6.c
1312
phy_power_off(imx_pcie->phy);
drivers/pci/controller/dwc/pci-imx6.c
1314
phy_exit(imx_pcie->phy);
drivers/pci/controller/dwc/pci-imx6.c
1328
if (imx_pcie->phy) {
drivers/pci/controller/dwc/pci-imx6.c
1329
if (phy_power_off(imx_pcie->phy))
drivers/pci/controller/dwc/pci-imx6.c
1331
phy_exit(imx_pcie->phy);
drivers/pci/controller/dwc/pci-imx6.c
1708
imx_pcie->phy = devm_phy_get(dev, "pcie-phy");
drivers/pci/controller/dwc/pci-imx6.c
1709
if (IS_ERR(imx_pcie->phy))
drivers/pci/controller/dwc/pci-imx6.c
1710
return dev_err_probe(dev, PTR_ERR(imx_pcie->phy),
drivers/pci/controller/dwc/pci-imx6.c
178
struct phy *phy;
drivers/pci/controller/dwc/pci-imx6.c
954
phy_set_speed(imx_pcie->phy, FIELD_GET(PCI_EXP_LNKCAP_SLS, tmp));
drivers/pci/controller/dwc/pci-imx6.c
967
phy_set_speed(imx_pcie->phy, 0);
drivers/pci/controller/dwc/pci-keystone.c
1125
struct phy **phy;
drivers/pci/controller/dwc/pci-keystone.c
1187
phy = devm_kcalloc(dev, num_lanes, sizeof(*phy), GFP_KERNEL);
drivers/pci/controller/dwc/pci-keystone.c
1188
if (!phy)
drivers/pci/controller/dwc/pci-keystone.c
1197
phy[i] = devm_phy_optional_get(dev, name);
drivers/pci/controller/dwc/pci-keystone.c
1198
if (IS_ERR(phy[i])) {
drivers/pci/controller/dwc/pci-keystone.c
1199
ret = PTR_ERR(phy[i]);
drivers/pci/controller/dwc/pci-keystone.c
1203
if (!phy[i])
drivers/pci/controller/dwc/pci-keystone.c
1206
link[i] = device_link_add(dev, &phy[i]->dev, DL_FLAG_STATELESS);
drivers/pci/controller/dwc/pci-keystone.c
1217
ks_pcie->phy = phy;
drivers/pci/controller/dwc/pci-keystone.c
1230
phy_pm_runtime_get_sync(ks_pcie->phy[i]);
drivers/pci/controller/dwc/pci-keystone.c
1236
phy_pm_runtime_put_sync(ks_pcie->phy[i]);
drivers/pci/controller/dwc/pci-keystone.c
131
struct phy **phy;
drivers/pci/controller/dwc/pci-keystone.c
962
phy_power_off(ks_pcie->phy[num_lanes]);
drivers/pci/controller/dwc/pci-keystone.c
963
phy_exit(ks_pcie->phy[num_lanes]);
drivers/pci/controller/dwc/pci-keystone.c
974
ret = phy_reset(ks_pcie->phy[i]);
drivers/pci/controller/dwc/pci-keystone.c
978
ret = phy_init(ks_pcie->phy[i]);
drivers/pci/controller/dwc/pci-keystone.c
982
ret = phy_power_on(ks_pcie->phy[i]);
drivers/pci/controller/dwc/pci-keystone.c
984
phy_exit(ks_pcie->phy[i]);
drivers/pci/controller/dwc/pci-keystone.c
993
phy_power_off(ks_pcie->phy[i]);
drivers/pci/controller/dwc/pci-keystone.c
994
phy_exit(ks_pcie->phy[i]);
drivers/pci/controller/dwc/pci-meson.c
138
ret = phy_init(mp->phy);
drivers/pci/controller/dwc/pci-meson.c
142
ret = phy_power_on(mp->phy);
drivers/pci/controller/dwc/pci-meson.c
144
phy_exit(mp->phy);
drivers/pci/controller/dwc/pci-meson.c
153
phy_power_off(mp->phy);
drivers/pci/controller/dwc/pci-meson.c
154
phy_exit(mp->phy);
drivers/pci/controller/dwc/pci-meson.c
162
ret = phy_reset(mp->phy);
drivers/pci/controller/dwc/pci-meson.c
397
mp->phy = devm_phy_get(dev, "pcie");
drivers/pci/controller/dwc/pci-meson.c
398
if (IS_ERR(mp->phy)) {
drivers/pci/controller/dwc/pci-meson.c
399
dev_err(dev, "get phy failed, %ld\n", PTR_ERR(mp->phy));
drivers/pci/controller/dwc/pci-meson.c
400
return PTR_ERR(mp->phy);
drivers/pci/controller/dwc/pci-meson.c
71
struct phy *phy;
drivers/pci/controller/dwc/pcie-armada8k.c
100
ret = phy_power_on(pcie->phy[i]);
drivers/pci/controller/dwc/pcie-armada8k.c
102
phy_exit(pcie->phy[i]);
drivers/pci/controller/dwc/pcie-armada8k.c
119
pcie->phy[i] = devm_of_phy_get_by_index(dev, node, i);
drivers/pci/controller/dwc/pcie-armada8k.c
120
if (IS_ERR(pcie->phy[i])) {
drivers/pci/controller/dwc/pcie-armada8k.c
121
if (PTR_ERR(pcie->phy[i]) != -ENODEV)
drivers/pci/controller/dwc/pcie-armada8k.c
122
return PTR_ERR(pcie->phy[i]);
drivers/pci/controller/dwc/pcie-armada8k.c
124
pcie->phy[i] = NULL;
drivers/pci/controller/dwc/pcie-armada8k.c
33
struct phy *phy[ARMADA8K_PCIE_MAX_LANES];
drivers/pci/controller/dwc/pcie-armada8k.c
78
phy_power_off(pcie->phy[i]);
drivers/pci/controller/dwc/pcie-armada8k.c
79
phy_exit(pcie->phy[i]);
drivers/pci/controller/dwc/pcie-armada8k.c
89
ret = phy_init(pcie->phy[i]);
drivers/pci/controller/dwc/pcie-armada8k.c
93
ret = phy_set_mode_ext(pcie->phy[i], PHY_MODE_PCIE,
drivers/pci/controller/dwc/pcie-armada8k.c
96
phy_exit(pcie->phy[i]);
drivers/pci/controller/dwc/pcie-dw-rockchip.c
490
rockchip->phy = devm_phy_get(dev, "pcie-phy");
drivers/pci/controller/dwc/pcie-dw-rockchip.c
491
if (IS_ERR(rockchip->phy))
drivers/pci/controller/dwc/pcie-dw-rockchip.c
492
return dev_err_probe(dev, PTR_ERR(rockchip->phy),
drivers/pci/controller/dwc/pcie-dw-rockchip.c
495
ret = phy_init(rockchip->phy);
drivers/pci/controller/dwc/pcie-dw-rockchip.c
499
ret = phy_power_on(rockchip->phy);
drivers/pci/controller/dwc/pcie-dw-rockchip.c
501
phy_exit(rockchip->phy);
drivers/pci/controller/dwc/pcie-dw-rockchip.c
508
phy_power_off(rockchip->phy);
drivers/pci/controller/dwc/pcie-dw-rockchip.c
509
phy_exit(rockchip->phy);
drivers/pci/controller/dwc/pcie-dw-rockchip.c
93
struct phy *phy;
drivers/pci/controller/dwc/pcie-fu740.c
114
static void fu740_phyregwrite(const uint8_t phy, const uint16_t addr,
drivers/pci/controller/dwc/pcie-fu740.c
125
if (phy) {
drivers/pci/controller/dwc/pcie-histb.c
390
hipcie->phy = devm_phy_get(dev, "phy");
drivers/pci/controller/dwc/pcie-histb.c
391
if (IS_ERR(hipcie->phy)) {
drivers/pci/controller/dwc/pcie-histb.c
393
hipcie->phy = NULL;
drivers/pci/controller/dwc/pcie-histb.c
399
phy_init(hipcie->phy);
drivers/pci/controller/dwc/pcie-histb.c
421
phy_exit(hipcie->phy);
drivers/pci/controller/dwc/pcie-histb.c
432
phy_exit(hipcie->phy);
drivers/pci/controller/dwc/pcie-histb.c
58
struct phy *phy;
drivers/pci/controller/dwc/pcie-intel-gw.c
237
pcie->phy = devm_phy_get(dev, "pcie");
drivers/pci/controller/dwc/pcie-intel-gw.c
238
if (IS_ERR(pcie->phy)) {
drivers/pci/controller/dwc/pcie-intel-gw.c
239
ret = PTR_ERR(pcie->phy);
drivers/pci/controller/dwc/pcie-intel-gw.c
289
ret = phy_init(pcie->phy);
drivers/pci/controller/dwc/pcie-intel-gw.c
330
phy_exit(pcie->phy);
drivers/pci/controller/dwc/pcie-intel-gw.c
341
phy_exit(pcie->phy);
drivers/pci/controller/dwc/pcie-intel-gw.c
363
phy_exit(pcie->phy);
drivers/pci/controller/dwc/pcie-intel-gw.c
69
struct phy *phy;
drivers/pci/controller/dwc/pcie-kirin.c
149
static int hi3660_pcie_phy_get_clk(struct hi3660_pcie_phy *phy)
drivers/pci/controller/dwc/pcie-kirin.c
151
struct device *dev = phy->dev;
drivers/pci/controller/dwc/pcie-kirin.c
153
phy->phy_ref_clk = devm_clk_get(dev, "pcie_phy_ref");
drivers/pci/controller/dwc/pcie-kirin.c
154
if (IS_ERR(phy->phy_ref_clk))
drivers/pci/controller/dwc/pcie-kirin.c
155
return PTR_ERR(phy->phy_ref_clk);
drivers/pci/controller/dwc/pcie-kirin.c
157
phy->aux_clk = devm_clk_get(dev, "pcie_aux");
drivers/pci/controller/dwc/pcie-kirin.c
158
if (IS_ERR(phy->aux_clk))
drivers/pci/controller/dwc/pcie-kirin.c
159
return PTR_ERR(phy->aux_clk);
drivers/pci/controller/dwc/pcie-kirin.c
161
phy->apb_phy_clk = devm_clk_get(dev, "pcie_apb_phy");
drivers/pci/controller/dwc/pcie-kirin.c
162
if (IS_ERR(phy->apb_phy_clk))
drivers/pci/controller/dwc/pcie-kirin.c
163
return PTR_ERR(phy->apb_phy_clk);
drivers/pci/controller/dwc/pcie-kirin.c
165
phy->apb_sys_clk = devm_clk_get(dev, "pcie_apb_sys");
drivers/pci/controller/dwc/pcie-kirin.c
166
if (IS_ERR(phy->apb_sys_clk))
drivers/pci/controller/dwc/pcie-kirin.c
167
return PTR_ERR(phy->apb_sys_clk);
drivers/pci/controller/dwc/pcie-kirin.c
169
phy->aclk = devm_clk_get(dev, "pcie_aclk");
drivers/pci/controller/dwc/pcie-kirin.c
170
if (IS_ERR(phy->aclk))
drivers/pci/controller/dwc/pcie-kirin.c
171
return PTR_ERR(phy->aclk);
drivers/pci/controller/dwc/pcie-kirin.c
176
static int hi3660_pcie_phy_get_resource(struct hi3660_pcie_phy *phy)
drivers/pci/controller/dwc/pcie-kirin.c
178
struct device *dev = phy->dev;
drivers/pci/controller/dwc/pcie-kirin.c
184
phy->base = devm_platform_ioremap_resource_byname(pdev, "phy");
drivers/pci/controller/dwc/pcie-kirin.c
185
if (IS_ERR(phy->base))
drivers/pci/controller/dwc/pcie-kirin.c
186
return PTR_ERR(phy->base);
drivers/pci/controller/dwc/pcie-kirin.c
188
phy->crgctrl = syscon_regmap_lookup_by_compatible("hisilicon,hi3660-crgctrl");
drivers/pci/controller/dwc/pcie-kirin.c
189
if (IS_ERR(phy->crgctrl))
drivers/pci/controller/dwc/pcie-kirin.c
190
return PTR_ERR(phy->crgctrl);
drivers/pci/controller/dwc/pcie-kirin.c
192
phy->sysctrl = syscon_regmap_lookup_by_compatible("hisilicon,hi3660-sctrl");
drivers/pci/controller/dwc/pcie-kirin.c
193
if (IS_ERR(phy->sysctrl))
drivers/pci/controller/dwc/pcie-kirin.c
194
return PTR_ERR(phy->sysctrl);
drivers/pci/controller/dwc/pcie-kirin.c
199
static int hi3660_pcie_phy_start(struct hi3660_pcie_phy *phy)
drivers/pci/controller/dwc/pcie-kirin.c
201
struct device *dev = phy->dev;
drivers/pci/controller/dwc/pcie-kirin.c
204
reg_val = kirin_apb_phy_readl(phy, PCIE_APB_PHY_CTRL1);
drivers/pci/controller/dwc/pcie-kirin.c
206
kirin_apb_phy_writel(phy, reg_val, PCIE_APB_PHY_CTRL1);
drivers/pci/controller/dwc/pcie-kirin.c
208
reg_val = kirin_apb_phy_readl(phy, PCIE_APB_PHY_CTRL0);
drivers/pci/controller/dwc/pcie-kirin.c
210
kirin_apb_phy_writel(phy, reg_val, PCIE_APB_PHY_CTRL0);
drivers/pci/controller/dwc/pcie-kirin.c
213
reg_val = kirin_apb_phy_readl(phy, PCIE_APB_PHY_CTRL1);
drivers/pci/controller/dwc/pcie-kirin.c
215
kirin_apb_phy_writel(phy, reg_val, PCIE_APB_PHY_CTRL1);
drivers/pci/controller/dwc/pcie-kirin.c
218
reg_val = kirin_apb_phy_readl(phy, PCIE_APB_PHY_STATUS0);
drivers/pci/controller/dwc/pcie-kirin.c
226
static void hi3660_pcie_phy_oe_enable(struct hi3660_pcie_phy *phy)
drivers/pci/controller/dwc/pcie-kirin.c
230
regmap_read(phy->sysctrl, SCTRL_PCIE_OE_OFFSET, &val);
drivers/pci/controller/dwc/pcie-kirin.c
233
regmap_write(phy->sysctrl, SCTRL_PCIE_OE_OFFSET, val);
drivers/pci/controller/dwc/pcie-kirin.c
236
static int hi3660_pcie_phy_clk_ctrl(struct hi3660_pcie_phy *phy, bool enable)
drivers/pci/controller/dwc/pcie-kirin.c
243
ret = clk_set_rate(phy->phy_ref_clk, REF_CLK_FREQ);
drivers/pci/controller/dwc/pcie-kirin.c
247
ret = clk_prepare_enable(phy->phy_ref_clk);
drivers/pci/controller/dwc/pcie-kirin.c
251
ret = clk_prepare_enable(phy->apb_sys_clk);
drivers/pci/controller/dwc/pcie-kirin.c
255
ret = clk_prepare_enable(phy->apb_phy_clk);
drivers/pci/controller/dwc/pcie-kirin.c
259
ret = clk_prepare_enable(phy->aclk);
drivers/pci/controller/dwc/pcie-kirin.c
263
ret = clk_prepare_enable(phy->aux_clk);
drivers/pci/controller/dwc/pcie-kirin.c
270
clk_disable_unprepare(phy->aux_clk);
drivers/pci/controller/dwc/pcie-kirin.c
272
clk_disable_unprepare(phy->aclk);
drivers/pci/controller/dwc/pcie-kirin.c
274
clk_disable_unprepare(phy->apb_phy_clk);
drivers/pci/controller/dwc/pcie-kirin.c
276
clk_disable_unprepare(phy->apb_sys_clk);
drivers/pci/controller/dwc/pcie-kirin.c
278
clk_disable_unprepare(phy->phy_ref_clk);
drivers/pci/controller/dwc/pcie-kirin.c
285
struct hi3660_pcie_phy *phy = pcie->phy_priv;
drivers/pci/controller/dwc/pcie-kirin.c
289
regmap_write(phy->sysctrl,
drivers/pci/controller/dwc/pcie-kirin.c
293
hi3660_pcie_phy_oe_enable(phy);
drivers/pci/controller/dwc/pcie-kirin.c
295
ret = hi3660_pcie_phy_clk_ctrl(phy, true);
drivers/pci/controller/dwc/pcie-kirin.c
300
regmap_write(phy->sysctrl,
drivers/pci/controller/dwc/pcie-kirin.c
302
regmap_write(phy->crgctrl,
drivers/pci/controller/dwc/pcie-kirin.c
304
regmap_write(phy->sysctrl,
drivers/pci/controller/dwc/pcie-kirin.c
307
ret = hi3660_pcie_phy_start(phy);
drivers/pci/controller/dwc/pcie-kirin.c
314
hi3660_pcie_phy_clk_ctrl(phy, false);
drivers/pci/controller/dwc/pcie-kirin.c
322
struct hi3660_pcie_phy *phy;
drivers/pci/controller/dwc/pcie-kirin.c
325
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
drivers/pci/controller/dwc/pcie-kirin.c
326
if (!phy)
drivers/pci/controller/dwc/pcie-kirin.c
329
pcie->phy_priv = phy;
drivers/pci/controller/dwc/pcie-kirin.c
330
phy->dev = dev;
drivers/pci/controller/dwc/pcie-kirin.c
332
ret = hi3660_pcie_phy_get_clk(phy);
drivers/pci/controller/dwc/pcie-kirin.c
336
return hi3660_pcie_phy_get_resource(phy);
drivers/pci/controller/dwc/pcie-kirin.c
341
struct hi3660_pcie_phy *phy = pcie->phy_priv;
drivers/pci/controller/dwc/pcie-kirin.c
344
regmap_write(phy->sysctrl, SCTRL_PCIE_CMOS_OFFSET, 0x00);
drivers/pci/controller/dwc/pcie-kirin.c
346
hi3660_pcie_phy_clk_ctrl(phy, false);
drivers/pci/controller/dwc/pcie-kirin.c
637
phy_power_off(kirin_pcie->phy);
drivers/pci/controller/dwc/pcie-kirin.c
638
phy_exit(kirin_pcie->phy);
drivers/pci/controller/dwc/pcie-kirin.c
658
kirin_pcie->phy = devm_of_phy_get(dev, dev->of_node, NULL);
drivers/pci/controller/dwc/pcie-kirin.c
659
if (IS_ERR(kirin_pcie->phy))
drivers/pci/controller/dwc/pcie-kirin.c
660
return PTR_ERR(kirin_pcie->phy);
drivers/pci/controller/dwc/pcie-kirin.c
662
ret = phy_init(kirin_pcie->phy);
drivers/pci/controller/dwc/pcie-kirin.c
666
ret = phy_power_on(kirin_pcie->phy);
drivers/pci/controller/dwc/pcie-kirin.c
75
struct phy *phy;
drivers/pci/controller/dwc/pcie-nxp-s32g.c
183
ret = phy_init(port->phy);
drivers/pci/controller/dwc/pcie-nxp-s32g.c
189
ret = phy_set_mode_ext(port->phy, PHY_MODE_PCIE, 0);
drivers/pci/controller/dwc/pcie-nxp-s32g.c
195
ret = phy_power_on(port->phy);
drivers/pci/controller/dwc/pcie-nxp-s32g.c
205
phy_exit(port->phy);
drivers/pci/controller/dwc/pcie-nxp-s32g.c
209
phy_power_off(port->phy);
drivers/pci/controller/dwc/pcie-nxp-s32g.c
210
phy_exit(port->phy);
drivers/pci/controller/dwc/pcie-nxp-s32g.c
224
phy_power_off(port->phy);
drivers/pci/controller/dwc/pcie-nxp-s32g.c
225
phy_exit(port->phy);
drivers/pci/controller/dwc/pcie-nxp-s32g.c
254
port->phy = devm_of_phy_get(dev, node, NULL);
drivers/pci/controller/dwc/pcie-nxp-s32g.c
255
if (IS_ERR(port->phy))
drivers/pci/controller/dwc/pcie-nxp-s32g.c
256
return dev_err_probe(dev, PTR_ERR(port->phy),
drivers/pci/controller/dwc/pcie-nxp-s32g.c
42
struct phy *phy;
drivers/pci/controller/dwc/pcie-qcom-ep.c
213
struct phy *phy;
drivers/pci/controller/dwc/pcie-qcom-ep.c
342
ret = phy_init(pcie_ep->phy);
drivers/pci/controller/dwc/pcie-qcom-ep.c
346
ret = phy_set_mode_ext(pcie_ep->phy, PHY_MODE_PCIE, PHY_MODE_PCIE_EP);
drivers/pci/controller/dwc/pcie-qcom-ep.c
350
ret = phy_power_on(pcie_ep->phy);
drivers/pci/controller/dwc/pcie-qcom-ep.c
371
phy_power_off(pcie_ep->phy);
drivers/pci/controller/dwc/pcie-qcom-ep.c
373
phy_exit(pcie_ep->phy);
drivers/pci/controller/dwc/pcie-qcom-ep.c
391
phy_power_off(pcie_ep->phy);
drivers/pci/controller/dwc/pcie-qcom-ep.c
392
phy_exit(pcie_ep->phy);
drivers/pci/controller/dwc/pcie-qcom-ep.c
676
pcie_ep->phy = devm_phy_optional_get(dev, "pciephy");
drivers/pci/controller/dwc/pcie-qcom-ep.c
677
if (IS_ERR(pcie_ep->phy))
drivers/pci/controller/dwc/pcie-qcom-ep.c
678
ret = PTR_ERR(pcie_ep->phy);
drivers/pci/controller/dwc/pcie-qcom.c
1263
phy_power_off(port->phy);
drivers/pci/controller/dwc/pcie-qcom.c
1272
ret = phy_set_mode_ext(port->phy, PHY_MODE_PCIE, PHY_MODE_PCIE_RC);
drivers/pci/controller/dwc/pcie-qcom.c
1276
ret = phy_power_on(port->phy);
drivers/pci/controller/dwc/pcie-qcom.c
1741
struct phy *phy;
drivers/pci/controller/dwc/pcie-qcom.c
1744
phy = devm_of_phy_get(dev, node, NULL);
drivers/pci/controller/dwc/pcie-qcom.c
1745
if (IS_ERR(phy))
drivers/pci/controller/dwc/pcie-qcom.c
1746
return PTR_ERR(phy);
drivers/pci/controller/dwc/pcie-qcom.c
1752
ret = phy_init(phy);
drivers/pci/controller/dwc/pcie-qcom.c
1762
port->phy = phy;
drivers/pci/controller/dwc/pcie-qcom.c
1790
phy_exit(port->phy);
drivers/pci/controller/dwc/pcie-qcom.c
1803
struct phy *phy;
drivers/pci/controller/dwc/pcie-qcom.c
1806
phy = devm_phy_optional_get(dev, "pciephy");
drivers/pci/controller/dwc/pcie-qcom.c
1807
if (IS_ERR(phy))
drivers/pci/controller/dwc/pcie-qcom.c
1808
return PTR_ERR(phy);
drivers/pci/controller/dwc/pcie-qcom.c
1814
ret = phy_init(phy);
drivers/pci/controller/dwc/pcie-qcom.c
1826
port->phy = phy;
drivers/pci/controller/dwc/pcie-qcom.c
2018
phy_exit(port->phy);
drivers/pci/controller/dwc/pcie-qcom.c
271
struct phy *phy;
drivers/pci/controller/dwc/pcie-spacemit-k1.c
168
ret = phy_init(k1->phy);
drivers/pci/controller/dwc/pcie-spacemit-k1.c
193
phy_exit(k1->phy);
drivers/pci/controller/dwc/pcie-spacemit-k1.c
260
struct phy *phy;
drivers/pci/controller/dwc/pcie-spacemit-k1.c
267
phy = devm_of_phy_get(dev, root_port, NULL);
drivers/pci/controller/dwc/pcie-spacemit-k1.c
271
if (IS_ERR(phy))
drivers/pci/controller/dwc/pcie-spacemit-k1.c
272
return PTR_ERR(phy);
drivers/pci/controller/dwc/pcie-spacemit-k1.c
274
k1->phy = phy;
drivers/pci/controller/dwc/pcie-spacemit-k1.c
54
struct phy *phy;
drivers/pci/controller/dwc/pcie-spear13xx.c
209
spear13xx_pcie->phy = devm_phy_get(dev, "pcie-phy");
drivers/pci/controller/dwc/pcie-spear13xx.c
210
if (IS_ERR(spear13xx_pcie->phy)) {
drivers/pci/controller/dwc/pcie-spear13xx.c
211
ret = PTR_ERR(spear13xx_pcie->phy);
drivers/pci/controller/dwc/pcie-spear13xx.c
219
phy_init(spear13xx_pcie->phy);
drivers/pci/controller/dwc/pcie-spear13xx.c
27
struct phy *phy;
drivers/pci/controller/dwc/pcie-stm32-ep.c
105
phy_exit(stm32_pcie->phy);
drivers/pci/controller/dwc/pcie-stm32-ep.c
114
phy_exit(stm32_pcie->phy);
drivers/pci/controller/dwc/pcie-stm32-ep.c
25
struct phy *phy;
drivers/pci/controller/dwc/pcie-stm32-ep.c
254
stm32_pcie->phy = devm_phy_get(dev, NULL);
drivers/pci/controller/dwc/pcie-stm32-ep.c
255
if (IS_ERR(stm32_pcie->phy))
drivers/pci/controller/dwc/pcie-stm32-ep.c
256
return dev_err_probe(dev, PTR_ERR(stm32_pcie->phy),
drivers/pci/controller/dwc/pcie-stm32-ep.c
274
ret = phy_set_mode(stm32_pcie->phy, PHY_MODE_PCIE);
drivers/pci/controller/dwc/pcie-stm32-ep.c
99
ret = phy_init(stm32_pcie->phy);
drivers/pci/controller/dwc/pcie-stm32.c
113
ret = phy_init(stm32_pcie->phy);
drivers/pci/controller/dwc/pcie-stm32.c
139
phy_exit(stm32_pcie->phy);
drivers/pci/controller/dwc/pcie-stm32.c
164
ret = phy_set_mode(stm32_pcie->phy, PHY_MODE_PCIE);
drivers/pci/controller/dwc/pcie-stm32.c
168
ret = phy_init(stm32_pcie->phy);
drivers/pci/controller/dwc/pcie-stm32.c
196
phy_exit(stm32_pcie->phy);
drivers/pci/controller/dwc/pcie-stm32.c
207
phy_exit(stm32_pcie->phy);
drivers/pci/controller/dwc/pcie-stm32.c
217
stm32_pcie->phy = devm_of_phy_get(dev, root_port, NULL);
drivers/pci/controller/dwc/pcie-stm32.c
218
if (IS_ERR(stm32_pcie->phy)) {
drivers/pci/controller/dwc/pcie-stm32.c
220
return dev_err_probe(dev, PTR_ERR(stm32_pcie->phy),
drivers/pci/controller/dwc/pcie-stm32.c
39
struct phy *phy;
drivers/pci/controller/dwc/pcie-stm32.c
91
phy_exit(stm32_pcie->phy);
drivers/pci/controller/dwc/pcie-tegra194.c
2086
struct phy **phys;
drivers/pci/controller/dwc/pcie-tegra194.c
274
struct phy **phys;
drivers/pci/controller/dwc/pcie-uniphier-ep.c
316
ret = phy_init(priv->phy);
drivers/pci/controller/dwc/pcie-uniphier-ep.c
331
phy_exit(priv->phy);
drivers/pci/controller/dwc/pcie-uniphier-ep.c
388
priv->phy = devm_phy_optional_get(dev, "pcie-phy");
drivers/pci/controller/dwc/pcie-uniphier-ep.c
389
if (IS_ERR(priv->phy)) {
drivers/pci/controller/dwc/pcie-uniphier-ep.c
390
ret = PTR_ERR(priv->phy);
drivers/pci/controller/dwc/pcie-uniphier-ep.c
77
struct phy *phy;
drivers/pci/controller/dwc/pcie-uniphier.c
331
ret = phy_init(pcie->phy);
drivers/pci/controller/dwc/pcie-uniphier.c
342
phy_exit(pcie->phy);
drivers/pci/controller/dwc/pcie-uniphier.c
382
pcie->phy = devm_phy_optional_get(dev, "pcie-phy");
drivers/pci/controller/dwc/pcie-uniphier.c
383
if (IS_ERR(pcie->phy))
drivers/pci/controller/dwc/pcie-uniphier.c
384
return PTR_ERR(pcie->phy);
drivers/pci/controller/dwc/pcie-uniphier.c
69
struct phy *phy;
drivers/pci/controller/pci-aardvark.c
1680
phy_power_off(pcie->phy);
drivers/pci/controller/pci-aardvark.c
1681
phy_exit(pcie->phy);
drivers/pci/controller/pci-aardvark.c
1688
if (!pcie->phy)
drivers/pci/controller/pci-aardvark.c
1691
ret = phy_init(pcie->phy);
drivers/pci/controller/pci-aardvark.c
1695
ret = phy_set_mode(pcie->phy, PHY_MODE_PCIE);
drivers/pci/controller/pci-aardvark.c
1697
phy_exit(pcie->phy);
drivers/pci/controller/pci-aardvark.c
1701
ret = phy_power_on(pcie->phy);
drivers/pci/controller/pci-aardvark.c
1703
phy_exit(pcie->phy);
drivers/pci/controller/pci-aardvark.c
1716
pcie->phy = devm_of_phy_get(dev, node, NULL);
drivers/pci/controller/pci-aardvark.c
1717
if (IS_ERR(pcie->phy) && (PTR_ERR(pcie->phy) == -EPROBE_DEFER))
drivers/pci/controller/pci-aardvark.c
1718
return PTR_ERR(pcie->phy);
drivers/pci/controller/pci-aardvark.c
1721
if (IS_ERR(pcie->phy)) {
drivers/pci/controller/pci-aardvark.c
1722
dev_warn(dev, "PHY unavailable (%ld)\n", PTR_ERR(pcie->phy));
drivers/pci/controller/pci-aardvark.c
1723
pcie->phy = NULL;
drivers/pci/controller/pci-aardvark.c
289
struct phy *phy;
drivers/pci/controller/pci-tegra.c
1035
if (pcie->phy)
drivers/pci/controller/pci-tegra.c
1036
err = phy_power_on(pcie->phy);
drivers/pci/controller/pci-tegra.c
1066
if (pcie->phy)
drivers/pci/controller/pci-tegra.c
1067
err = phy_power_off(pcie->phy);
drivers/pci/controller/pci-tegra.c
1097
if (pcie->phy) {
drivers/pci/controller/pci-tegra.c
1305
pcie->phy = devm_phy_optional_get(dev, "pcie");
drivers/pci/controller/pci-tegra.c
1306
if (IS_ERR(pcie->phy)) {
drivers/pci/controller/pci-tegra.c
1307
err = PTR_ERR(pcie->phy);
drivers/pci/controller/pci-tegra.c
1312
err = phy_init(pcie->phy);
drivers/pci/controller/pci-tegra.c
1323
static struct phy *devm_of_phy_optional_get_index(struct device *dev,
drivers/pci/controller/pci-tegra.c
1328
struct phy *phy;
drivers/pci/controller/pci-tegra.c
1335
phy = devm_of_phy_optional_get(dev, np, name);
drivers/pci/controller/pci-tegra.c
1338
return phy;
drivers/pci/controller/pci-tegra.c
1344
struct phy *phy;
drivers/pci/controller/pci-tegra.c
1348
port->phys = devm_kcalloc(dev, port->lanes, sizeof(phy), GFP_KERNEL);
drivers/pci/controller/pci-tegra.c
1353
phy = devm_of_phy_optional_get_index(dev, port->np, "pcie", i);
drivers/pci/controller/pci-tegra.c
1354
if (IS_ERR(phy)) {
drivers/pci/controller/pci-tegra.c
1356
PTR_ERR(phy));
drivers/pci/controller/pci-tegra.c
1357
return PTR_ERR(phy);
drivers/pci/controller/pci-tegra.c
1360
err = phy_init(phy);
drivers/pci/controller/pci-tegra.c
1367
port->phys[i] = phy;
drivers/pci/controller/pci-tegra.c
1399
err = phy_exit(pcie->phy);
drivers/pci/controller/pci-tegra.c
344
struct phy *phy;
drivers/pci/controller/pci-tegra.c
372
struct phy **phys;
drivers/pci/controller/pcie-apple.c
200
void __iomem *phy;
drivers/pci/controller/pcie-apple.c
511
rmw_set(PHY_LANE_CTL_CFGACC, port->phy + pcie->hw->phy_lane_ctl);
drivers/pci/controller/pcie-apple.c
513
rmw_set(PHY_LANE_CFG_REFCLK0REQ, port->phy + PHY_LANE_CFG);
drivers/pci/controller/pcie-apple.c
515
res = readl_relaxed_poll_timeout(port->phy + PHY_LANE_CFG,
drivers/pci/controller/pcie-apple.c
521
rmw_set(PHY_LANE_CFG_REFCLK1REQ, port->phy + PHY_LANE_CFG);
drivers/pci/controller/pcie-apple.c
522
res = readl_relaxed_poll_timeout(port->phy + PHY_LANE_CFG,
drivers/pci/controller/pcie-apple.c
530
rmw_clear(PHY_LANE_CTL_CFGACC, port->phy + pcie->hw->phy_lane_ctl);
drivers/pci/controller/pcie-apple.c
532
rmw_set(PHY_LANE_CFG_REFCLKEN, port->phy + PHY_LANE_CFG);
drivers/pci/controller/pcie-apple.c
600
port->phy = devm_ioremap_resource(&platform->dev, res);
drivers/pci/controller/pcie-apple.c
602
port->phy = pcie->base + CORE_PHY_DEFAULT_BASE(port->idx);
drivers/pci/controller/pcie-apple.c
633
rmw_set(PHY_LANE_CFG_REFCLKCGEN, port->phy + PHY_LANE_CFG);
drivers/pci/controller/pcie-aspeed.c
165
struct phy *phy;
drivers/pci/controller/pcie-aspeed.c
763
ret = phy_init(port->phy);
drivers/pci/controller/pcie-aspeed.c
769
ret = phy_set_mode_ext(port->phy, PHY_MODE_PCIE, PHY_MODE_PCIE_RC);
drivers/pci/controller/pcie-aspeed.c
933
port->phy = devm_of_phy_get(dev, node, NULL);
drivers/pci/controller/pcie-aspeed.c
934
if (IS_ERR(port->phy))
drivers/pci/controller/pcie-aspeed.c
935
return dev_err_probe(dev, PTR_ERR(port->phy),
drivers/pci/controller/pcie-iproc-platform.c
93
pcie->phy = devm_phy_optional_get(dev, "pcie-phy");
drivers/pci/controller/pcie-iproc-platform.c
94
if (IS_ERR(pcie->phy))
drivers/pci/controller/pcie-iproc-platform.c
95
return PTR_ERR(pcie->phy);
drivers/pci/controller/pcie-iproc.c
1460
ret = phy_init(pcie->phy);
drivers/pci/controller/pcie-iproc.c
1466
ret = phy_power_on(pcie->phy);
drivers/pci/controller/pcie-iproc.c
1521
phy_power_off(pcie->phy);
drivers/pci/controller/pcie-iproc.c
1523
phy_exit(pcie->phy);
drivers/pci/controller/pcie-iproc.c
1537
phy_power_off(pcie->phy);
drivers/pci/controller/pcie-iproc.c
1538
phy_exit(pcie->phy);
drivers/pci/controller/pcie-iproc.h
93
struct phy *phy;
drivers/pci/controller/pcie-mediatek-gen3.c
1037
phy_power_off(pcie->phy);
drivers/pci/controller/pcie-mediatek-gen3.c
1039
phy_exit(pcie->phy);
drivers/pci/controller/pcie-mediatek-gen3.c
1066
err = phy_init(pcie->phy);
drivers/pci/controller/pcie-mediatek-gen3.c
1072
err = phy_power_on(pcie->phy);
drivers/pci/controller/pcie-mediatek-gen3.c
1096
phy_power_off(pcie->phy);
drivers/pci/controller/pcie-mediatek-gen3.c
1098
phy_exit(pcie->phy);
drivers/pci/controller/pcie-mediatek-gen3.c
1114
phy_power_off(pcie->phy);
drivers/pci/controller/pcie-mediatek-gen3.c
1115
phy_exit(pcie->phy);
drivers/pci/controller/pcie-mediatek-gen3.c
208
struct phy *phy;
drivers/pci/controller/pcie-mediatek-gen3.c
905
pcie->phy = devm_phy_optional_get(dev, "pcie-phy");
drivers/pci/controller/pcie-mediatek-gen3.c
906
if (IS_ERR(pcie->phy)) {
drivers/pci/controller/pcie-mediatek-gen3.c
907
ret = PTR_ERR(pcie->phy);
drivers/pci/controller/pcie-mediatek-gen3.c
976
err = phy_init(pcie->phy);
drivers/pci/controller/pcie-mediatek-gen3.c
982
err = phy_power_on(pcie->phy);
drivers/pci/controller/pcie-mediatek.c
1010
port->phy = devm_phy_optional_get(dev, name);
drivers/pci/controller/pcie-mediatek.c
1011
if (IS_ERR(port->phy))
drivers/pci/controller/pcie-mediatek.c
1012
return PTR_ERR(port->phy);
drivers/pci/controller/pcie-mediatek.c
1199
phy_power_off(port->phy);
drivers/pci/controller/pcie-mediatek.c
1200
phy_exit(port->phy);
drivers/pci/controller/pcie-mediatek.c
208
struct phy *phy;
drivers/pci/controller/pcie-mediatek.c
261
phy_power_off(port->phy);
drivers/pci/controller/pcie-mediatek.c
262
phy_exit(port->phy);
drivers/pci/controller/pcie-mediatek.c
913
err = phy_init(port->phy);
drivers/pci/controller/pcie-mediatek.c
919
err = phy_power_on(port->phy);
drivers/pci/controller/pcie-mediatek.c
930
phy_power_off(port->phy);
drivers/pci/controller/pcie-mediatek.c
932
phy_exit(port->phy);
drivers/pci/controller/pcie-mt7621.c
229
port->phy = devm_of_phy_get(dev, node, name);
drivers/pci/controller/pcie-mt7621.c
230
if (IS_ERR(port->phy)) {
drivers/pci/controller/pcie-mt7621.c
232
err = PTR_ERR(port->phy);
drivers/pci/controller/pcie-mt7621.c
292
err = phy_init(port->phy);
drivers/pci/controller/pcie-mt7621.c
298
err = phy_power_on(port->phy);
drivers/pci/controller/pcie-mt7621.c
301
phy_exit(port->phy);
drivers/pci/controller/pcie-mt7621.c
388
phy_power_off(tmp->phy);
drivers/pci/controller/pcie-mt7621.c
83
struct phy *phy;
drivers/pci/controller/pcie-rcar-host.c
1021
if (host->phy) {
drivers/pci/controller/pcie-rcar-host.c
1022
phy_power_off(host->phy);
drivers/pci/controller/pcie-rcar-host.c
1023
phy_exit(host->phy);
drivers/pci/controller/pcie-rcar-host.c
50
struct phy *phy;
drivers/pci/controller/pcie-rcar-host.c
550
err = phy_init(host->phy);
drivers/pci/controller/pcie-rcar-host.c
554
err = phy_power_on(host->phy);
drivers/pci/controller/pcie-rcar-host.c
556
phy_exit(host->phy);
drivers/pci/controller/pcie-rcar-host.c
802
host->phy = devm_phy_optional_get(dev, "pcie");
drivers/pci/controller/pcie-rcar-host.c
803
if (IS_ERR(host->phy))
drivers/pci/controller/pcie-rcar-host.c
804
return PTR_ERR(host->phy);
drivers/pci/controller/pcie-rockchip.c
208
struct phy *phy;
drivers/pci/controller/pcie-rockchip.c
212
phy = devm_phy_get(dev, "pcie-phy");
drivers/pci/controller/pcie-rockchip.c
213
if (!IS_ERR(phy)) {
drivers/pci/controller/pcie-rockchip.c
215
rockchip->phys[0] = phy;
drivers/pci/controller/pcie-rockchip.c
220
if (PTR_ERR(phy) == -EPROBE_DEFER)
drivers/pci/controller/pcie-rockchip.c
221
return PTR_ERR(phy);
drivers/pci/controller/pcie-rockchip.c
230
phy = devm_of_phy_get(dev, dev->of_node, name);
drivers/pci/controller/pcie-rockchip.c
233
if (IS_ERR(phy)) {
drivers/pci/controller/pcie-rockchip.c
234
if (PTR_ERR(phy) != -EPROBE_DEFER)
drivers/pci/controller/pcie-rockchip.c
236
i, PTR_ERR(phy));
drivers/pci/controller/pcie-rockchip.c
237
return PTR_ERR(phy);
drivers/pci/controller/pcie-rockchip.c
240
rockchip->phys[i] = phy;
drivers/pci/controller/pcie-rockchip.h
311
struct phy *phys[MAX_LANE_NUM];
drivers/pci/controller/pcie-xilinx-nwl.c
161
struct phy *phy[4];
drivers/pci/controller/pcie-xilinx-nwl.c
520
int err = phy_power_off(pcie->phy[i]);
drivers/pci/controller/pcie-xilinx-nwl.c
529
int err = phy_exit(pcie->phy[i]);
drivers/pci/controller/pcie-xilinx-nwl.c
539
for (i = 0; i < ARRAY_SIZE(pcie->phy); i++) {
drivers/pci/controller/pcie-xilinx-nwl.c
540
ret = phy_init(pcie->phy[i]);
drivers/pci/controller/pcie-xilinx-nwl.c
544
ret = phy_power_on(pcie->phy[i]);
drivers/pci/controller/pcie-xilinx-nwl.c
566
for (i = ARRAY_SIZE(pcie->phy); i--;) {
drivers/pci/controller/pcie-xilinx-nwl.c
811
for (i = 0; i < ARRAY_SIZE(pcie->phy); i++) {
drivers/pci/controller/pcie-xilinx-nwl.c
812
pcie->phy[i] = devm_of_phy_get_by_index(dev, dev->of_node, i);
drivers/pci/controller/pcie-xilinx-nwl.c
813
if (PTR_ERR(pcie->phy[i]) == -ENODEV) {
drivers/pci/controller/pcie-xilinx-nwl.c
814
pcie->phy[i] = NULL;
drivers/pci/controller/pcie-xilinx-nwl.c
818
if (IS_ERR(pcie->phy[i]))
drivers/pci/controller/pcie-xilinx-nwl.c
819
return PTR_ERR(pcie->phy[i]);
drivers/pci/controller/plda/pcie-starfive.c
128
pcie->phy = devm_phy_optional_get(dev, NULL);
drivers/pci/controller/plda/pcie-starfive.c
129
if (IS_ERR(pcie->phy))
drivers/pci/controller/plda/pcie-starfive.c
130
return dev_err_probe(dev, PTR_ERR(pcie->phy),
drivers/pci/controller/plda/pcie-starfive.c
236
if (!pcie->phy)
drivers/pci/controller/plda/pcie-starfive.c
239
ret = phy_init(pcie->phy);
drivers/pci/controller/plda/pcie-starfive.c
244
ret = phy_set_mode(pcie->phy, PHY_MODE_PCIE);
drivers/pci/controller/plda/pcie-starfive.c
250
ret = phy_power_on(pcie->phy);
drivers/pci/controller/plda/pcie-starfive.c
259
phy_exit(pcie->phy);
drivers/pci/controller/plda/pcie-starfive.c
265
phy_power_off(pcie->phy);
drivers/pci/controller/plda/pcie-starfive.c
266
phy_exit(pcie->phy);
drivers/pci/controller/plda/pcie-starfive.c
60
struct phy *phy;
drivers/perf/xgene_pmu.c
554
XGENE_PMU_EVENT_ATTR(phy-updt-complt, 0x25),
drivers/phy/allwinner/phy-sun4i-usb.c
119
struct phy *phy;
drivers/phy/allwinner/phy-sun4i-usb.c
144
#define to_sun4i_usb_phy_data(phy) \
drivers/phy/allwinner/phy-sun4i-usb.c
145
container_of((phy), struct sun4i_usb_phy_data, phys[(phy)->index])
drivers/phy/allwinner/phy-sun4i-usb.c
147
static void sun4i_usb_phy0_update_iscr(struct phy *_phy, u32 clr, u32 set)
drivers/phy/allwinner/phy-sun4i-usb.c
149
struct sun4i_usb_phy *phy = phy_get_drvdata(_phy);
drivers/phy/allwinner/phy-sun4i-usb.c
150
struct sun4i_usb_phy_data *data = to_sun4i_usb_phy_data(phy);
drivers/phy/allwinner/phy-sun4i-usb.c
159
static void sun4i_usb_phy0_set_id_detect(struct phy *phy, u32 val)
drivers/phy/allwinner/phy-sun4i-usb.c
166
sun4i_usb_phy0_update_iscr(phy, ISCR_FORCE_ID_MASK, val);
drivers/phy/allwinner/phy-sun4i-usb.c
169
static void sun4i_usb_phy0_set_vbus_detect(struct phy *phy, u32 val)
drivers/phy/allwinner/phy-sun4i-usb.c
176
sun4i_usb_phy0_update_iscr(phy, ISCR_FORCE_VBUS_MASK, val);
drivers/phy/allwinner/phy-sun4i-usb.c
179
static void sun4i_usb_phy_write(struct sun4i_usb_phy *phy, u32 addr, u32 data,
drivers/phy/allwinner/phy-sun4i-usb.c
182
struct sun4i_usb_phy_data *phy_data = to_sun4i_usb_phy_data(phy);
drivers/phy/allwinner/phy-sun4i-usb.c
183
u32 temp, usbc_bit = BIT(phy->index * 2);
drivers/phy/allwinner/phy-sun4i-usb.c
229
static void sun4i_usb_phy_passby(struct sun4i_usb_phy *phy, int enable)
drivers/phy/allwinner/phy-sun4i-usb.c
231
struct sun4i_usb_phy_data *phy_data = to_sun4i_usb_phy_data(phy);
drivers/phy/allwinner/phy-sun4i-usb.c
234
if (!phy->pmu)
drivers/phy/allwinner/phy-sun4i-usb.c
242
phy->index == phy_data->cfg->hsic_index)
drivers/phy/allwinner/phy-sun4i-usb.c
246
reg_value = readl(phy->pmu);
drivers/phy/allwinner/phy-sun4i-usb.c
253
writel(reg_value, phy->pmu);
drivers/phy/allwinner/phy-sun4i-usb.c
256
static int sun4i_usb_phy_init(struct phy *_phy)
drivers/phy/allwinner/phy-sun4i-usb.c
258
struct sun4i_usb_phy *phy = phy_get_drvdata(_phy);
drivers/phy/allwinner/phy-sun4i-usb.c
259
struct sun4i_usb_phy_data *data = to_sun4i_usb_phy_data(phy);
drivers/phy/allwinner/phy-sun4i-usb.c
263
ret = clk_prepare_enable(phy->clk);
drivers/phy/allwinner/phy-sun4i-usb.c
267
ret = clk_prepare_enable(phy->clk2);
drivers/phy/allwinner/phy-sun4i-usb.c
269
clk_disable_unprepare(phy->clk);
drivers/phy/allwinner/phy-sun4i-usb.c
273
ret = reset_control_deassert(phy->reset);
drivers/phy/allwinner/phy-sun4i-usb.c
275
clk_disable_unprepare(phy->clk2);
drivers/phy/allwinner/phy-sun4i-usb.c
276
clk_disable_unprepare(phy->clk);
drivers/phy/allwinner/phy-sun4i-usb.c
281
if (data->cfg->needs_phy2_siddq && phy->index != 2) {
drivers/phy/allwinner/phy-sun4i-usb.c
286
reset_control_assert(phy->reset);
drivers/phy/allwinner/phy-sun4i-usb.c
287
clk_disable_unprepare(phy->clk2);
drivers/phy/allwinner/phy-sun4i-usb.c
288
clk_disable_unprepare(phy->clk);
drivers/phy/allwinner/phy-sun4i-usb.c
295
reset_control_assert(phy->reset);
drivers/phy/allwinner/phy-sun4i-usb.c
296
clk_disable_unprepare(phy->clk2);
drivers/phy/allwinner/phy-sun4i-usb.c
297
clk_disable_unprepare(phy->clk);
drivers/phy/allwinner/phy-sun4i-usb.c
309
reset_control_assert(phy->reset);
drivers/phy/allwinner/phy-sun4i-usb.c
310
clk_disable_unprepare(phy->clk2);
drivers/phy/allwinner/phy-sun4i-usb.c
311
clk_disable_unprepare(phy->clk);
drivers/phy/allwinner/phy-sun4i-usb.c
321
clk_disable_unprepare(phy->clk2);
drivers/phy/allwinner/phy-sun4i-usb.c
324
if (phy->pmu && data->cfg->hci_phy_ctl_clear) {
drivers/phy/allwinner/phy-sun4i-usb.c
325
val = readl(phy->pmu + REG_HCI_PHY_CTL);
drivers/phy/allwinner/phy-sun4i-usb.c
327
writel(val, phy->pmu + REG_HCI_PHY_CTL);
drivers/phy/allwinner/phy-sun4i-usb.c
331
if (phy->index == 0) {
drivers/phy/allwinner/phy-sun4i-usb.c
339
if (phy->index == 0)
drivers/phy/allwinner/phy-sun4i-usb.c
340
sun4i_usb_phy_write(phy, PHY_RES45_CAL_EN, 0x01, 1);
drivers/phy/allwinner/phy-sun4i-usb.c
343
sun4i_usb_phy_write(phy, PHY_TX_AMPLITUDE_TUNE, 0x14, 5);
drivers/phy/allwinner/phy-sun4i-usb.c
346
sun4i_usb_phy_write(phy, PHY_DISCON_TH_SEL,
drivers/phy/allwinner/phy-sun4i-usb.c
350
sun4i_usb_phy_passby(phy, 1);
drivers/phy/allwinner/phy-sun4i-usb.c
352
if (phy->index == 0) {
drivers/phy/allwinner/phy-sun4i-usb.c
368
static int sun4i_usb_phy_exit(struct phy *_phy)
drivers/phy/allwinner/phy-sun4i-usb.c
370
struct sun4i_usb_phy *phy = phy_get_drvdata(_phy);
drivers/phy/allwinner/phy-sun4i-usb.c
371
struct sun4i_usb_phy_data *data = to_sun4i_usb_phy_data(phy);
drivers/phy/allwinner/phy-sun4i-usb.c
373
if (phy->index == 0) {
drivers/phy/allwinner/phy-sun4i-usb.c
387
if (data->cfg->needs_phy2_siddq && phy->index != 2) {
drivers/phy/allwinner/phy-sun4i-usb.c
394
sun4i_usb_phy_passby(phy, 0);
drivers/phy/allwinner/phy-sun4i-usb.c
395
reset_control_assert(phy->reset);
drivers/phy/allwinner/phy-sun4i-usb.c
396
clk_disable_unprepare(phy->clk2);
drivers/phy/allwinner/phy-sun4i-usb.c
397
clk_disable_unprepare(phy->clk);
drivers/phy/allwinner/phy-sun4i-usb.c
461
static int sun4i_usb_phy_power_on(struct phy *_phy)
drivers/phy/allwinner/phy-sun4i-usb.c
463
struct sun4i_usb_phy *phy = phy_get_drvdata(_phy);
drivers/phy/allwinner/phy-sun4i-usb.c
464
struct sun4i_usb_phy_data *data = to_sun4i_usb_phy_data(phy);
drivers/phy/allwinner/phy-sun4i-usb.c
467
if (!phy->vbus || phy->regulator_on)
drivers/phy/allwinner/phy-sun4i-usb.c
471
if (phy->index == 0 && sun4i_usb_phy0_have_vbus_det(data) &&
drivers/phy/allwinner/phy-sun4i-usb.c
477
ret = regulator_enable(phy->vbus);
drivers/phy/allwinner/phy-sun4i-usb.c
481
phy->regulator_on = true;
drivers/phy/allwinner/phy-sun4i-usb.c
484
if (phy->index == 0 && sun4i_usb_phy0_poll(data))
drivers/phy/allwinner/phy-sun4i-usb.c
490
static int sun4i_usb_phy_power_off(struct phy *_phy)
drivers/phy/allwinner/phy-sun4i-usb.c
492
struct sun4i_usb_phy *phy = phy_get_drvdata(_phy);
drivers/phy/allwinner/phy-sun4i-usb.c
493
struct sun4i_usb_phy_data *data = to_sun4i_usb_phy_data(phy);
drivers/phy/allwinner/phy-sun4i-usb.c
495
if (!phy->vbus || !phy->regulator_on)
drivers/phy/allwinner/phy-sun4i-usb.c
498
regulator_disable(phy->vbus);
drivers/phy/allwinner/phy-sun4i-usb.c
499
phy->regulator_on = false;
drivers/phy/allwinner/phy-sun4i-usb.c
505
if (phy->index == 0 && !sun4i_usb_phy0_poll(data))
drivers/phy/allwinner/phy-sun4i-usb.c
511
static int sun4i_usb_phy_set_mode(struct phy *_phy,
drivers/phy/allwinner/phy-sun4i-usb.c
514
struct sun4i_usb_phy *phy = phy_get_drvdata(_phy);
drivers/phy/allwinner/phy-sun4i-usb.c
515
struct sun4i_usb_phy_data *data = to_sun4i_usb_phy_data(phy);
drivers/phy/allwinner/phy-sun4i-usb.c
518
if (phy->index != 0) {
drivers/phy/allwinner/phy-sun4i-usb.c
550
void sun4i_usb_phy_set_squelch_detect(struct phy *_phy, bool enabled)
drivers/phy/allwinner/phy-sun4i-usb.c
552
struct sun4i_usb_phy *phy = phy_get_drvdata(_phy);
drivers/phy/allwinner/phy-sun4i-usb.c
554
sun4i_usb_phy_write(phy, PHY_SQUELCH_DETECT, enabled ? 0 : 2, 2);
drivers/phy/allwinner/phy-sun4i-usb.c
586
struct phy *phy0 = data->phys[0].phy;
drivers/phy/allwinner/phy-sun4i-usb.c
587
struct sun4i_usb_phy *phy;
drivers/phy/allwinner/phy-sun4i-usb.c
594
phy = phy_get_drvdata(phy0);
drivers/phy/allwinner/phy-sun4i-usb.c
646
sun4i_usb_phy_passby(phy, !id_det);
drivers/phy/allwinner/phy-sun4i-usb.c
684
static struct phy *sun4i_usb_phy_xlate(struct device *dev,
drivers/phy/allwinner/phy-sun4i-usb.c
695
return data->phys[args->args[0]].phy;
drivers/phy/allwinner/phy-sun4i-usb.c
783
struct sun4i_usb_phy *phy = data->phys + i;
drivers/phy/allwinner/phy-sun4i-usb.c
790
phy->reset = devm_reset_control_get(dev, name);
drivers/phy/allwinner/phy-sun4i-usb.c
791
if (IS_ERR(phy->reset)) {
drivers/phy/allwinner/phy-sun4i-usb.c
792
if (PTR_ERR(phy->reset) == -ENOENT)
drivers/phy/allwinner/phy-sun4i-usb.c
795
return PTR_ERR(phy->reset);
drivers/phy/allwinner/phy-sun4i-usb.c
799
phy->vbus = devm_regulator_get_optional(dev, name);
drivers/phy/allwinner/phy-sun4i-usb.c
800
if (IS_ERR(phy->vbus)) {
drivers/phy/allwinner/phy-sun4i-usb.c
801
if (PTR_ERR(phy->vbus) == -EPROBE_DEFER) {
drivers/phy/allwinner/phy-sun4i-usb.c
808
phy->vbus = NULL;
drivers/phy/allwinner/phy-sun4i-usb.c
816
phy->clk = devm_clk_get(dev, name);
drivers/phy/allwinner/phy-sun4i-usb.c
817
if (IS_ERR(phy->clk)) {
drivers/phy/allwinner/phy-sun4i-usb.c
819
return PTR_ERR(phy->clk);
drivers/phy/allwinner/phy-sun4i-usb.c
826
phy->clk2 = devm_clk_get(dev, name);
drivers/phy/allwinner/phy-sun4i-usb.c
827
if (IS_ERR(phy->clk2)) {
drivers/phy/allwinner/phy-sun4i-usb.c
829
return PTR_ERR(phy->clk2);
drivers/phy/allwinner/phy-sun4i-usb.c
833
phy->clk2 = devm_clk_get_optional(dev, name);
drivers/phy/allwinner/phy-sun4i-usb.c
834
if (IS_ERR(phy->clk2)) {
drivers/phy/allwinner/phy-sun4i-usb.c
836
return PTR_ERR(phy->clk2);
drivers/phy/allwinner/phy-sun4i-usb.c
842
phy->pmu = devm_platform_ioremap_resource_byname(pdev, name);
drivers/phy/allwinner/phy-sun4i-usb.c
843
if (IS_ERR(phy->pmu))
drivers/phy/allwinner/phy-sun4i-usb.c
844
return PTR_ERR(phy->pmu);
drivers/phy/allwinner/phy-sun4i-usb.c
847
phy->phy = devm_phy_create(dev, NULL, &sun4i_usb_phy_ops);
drivers/phy/allwinner/phy-sun4i-usb.c
848
if (IS_ERR(phy->phy)) {
drivers/phy/allwinner/phy-sun4i-usb.c
850
return PTR_ERR(phy->phy);
drivers/phy/allwinner/phy-sun4i-usb.c
853
phy->index = i;
drivers/phy/allwinner/phy-sun4i-usb.c
854
phy_set_drvdata(phy->phy, &data->phys[i]);
drivers/phy/allwinner/phy-sun50i-usb3.c
100
struct sun50i_usb3_phy *phy = phy_get_drvdata(_phy);
drivers/phy/allwinner/phy-sun50i-usb3.c
103
ret = clk_prepare_enable(phy->clk);
drivers/phy/allwinner/phy-sun50i-usb3.c
107
ret = reset_control_deassert(phy->reset);
drivers/phy/allwinner/phy-sun50i-usb3.c
109
clk_disable_unprepare(phy->clk);
drivers/phy/allwinner/phy-sun50i-usb3.c
113
sun50i_usb3_phy_open(phy);
drivers/phy/allwinner/phy-sun50i-usb3.c
117
static int sun50i_usb3_phy_exit(struct phy *_phy)
drivers/phy/allwinner/phy-sun50i-usb3.c
119
struct sun50i_usb3_phy *phy = phy_get_drvdata(_phy);
drivers/phy/allwinner/phy-sun50i-usb3.c
121
reset_control_assert(phy->reset);
drivers/phy/allwinner/phy-sun50i-usb3.c
122
clk_disable_unprepare(phy->clk);
drivers/phy/allwinner/phy-sun50i-usb3.c
135
struct sun50i_usb3_phy *phy;
drivers/phy/allwinner/phy-sun50i-usb3.c
139
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
drivers/phy/allwinner/phy-sun50i-usb3.c
140
if (!phy)
drivers/phy/allwinner/phy-sun50i-usb3.c
143
phy->clk = devm_clk_get(dev, NULL);
drivers/phy/allwinner/phy-sun50i-usb3.c
144
if (IS_ERR(phy->clk)) {
drivers/phy/allwinner/phy-sun50i-usb3.c
145
if (PTR_ERR(phy->clk) != -EPROBE_DEFER)
drivers/phy/allwinner/phy-sun50i-usb3.c
147
return PTR_ERR(phy->clk);
drivers/phy/allwinner/phy-sun50i-usb3.c
150
phy->reset = devm_reset_control_get(dev, NULL);
drivers/phy/allwinner/phy-sun50i-usb3.c
151
if (IS_ERR(phy->reset)) {
drivers/phy/allwinner/phy-sun50i-usb3.c
153
return PTR_ERR(phy->reset);
drivers/phy/allwinner/phy-sun50i-usb3.c
156
phy->regs = devm_platform_ioremap_resource(pdev, 0);
drivers/phy/allwinner/phy-sun50i-usb3.c
157
if (IS_ERR(phy->regs))
drivers/phy/allwinner/phy-sun50i-usb3.c
158
return PTR_ERR(phy->regs);
drivers/phy/allwinner/phy-sun50i-usb3.c
160
phy->phy = devm_phy_create(dev, NULL, &sun50i_usb3_phy_ops);
drivers/phy/allwinner/phy-sun50i-usb3.c
161
if (IS_ERR(phy->phy)) {
drivers/phy/allwinner/phy-sun50i-usb3.c
163
return PTR_ERR(phy->phy);
drivers/phy/allwinner/phy-sun50i-usb3.c
166
phy_set_drvdata(phy->phy, phy);
drivers/phy/allwinner/phy-sun50i-usb3.c
56
struct phy *phy;
drivers/phy/allwinner/phy-sun50i-usb3.c
62
static void sun50i_usb3_phy_open(struct sun50i_usb3_phy *phy)
drivers/phy/allwinner/phy-sun50i-usb3.c
66
val = readl(phy->regs + SUNXI_PHY_EXTERNAL_CONTROL);
drivers/phy/allwinner/phy-sun50i-usb3.c
69
writel(val, phy->regs + SUNXI_PHY_EXTERNAL_CONTROL);
drivers/phy/allwinner/phy-sun50i-usb3.c
71
val = readl(phy->regs + SUNXI_PIPE_CLOCK_CONTROL);
drivers/phy/allwinner/phy-sun50i-usb3.c
73
writel(val, phy->regs + SUNXI_PIPE_CLOCK_CONTROL);
drivers/phy/allwinner/phy-sun50i-usb3.c
75
val = readl(phy->regs + SUNXI_ISCR);
drivers/phy/allwinner/phy-sun50i-usb3.c
77
writel(val, phy->regs + SUNXI_ISCR);
drivers/phy/allwinner/phy-sun50i-usb3.c
84
writel(0x0047fc87, phy->regs + SUNXI_PHY_TUNE_LOW);
drivers/phy/allwinner/phy-sun50i-usb3.c
86
val = readl(phy->regs + SUNXI_PHY_TUNE_HIGH);
drivers/phy/allwinner/phy-sun50i-usb3.c
95
writel(val, phy->regs + SUNXI_PHY_TUNE_HIGH);
drivers/phy/allwinner/phy-sun50i-usb3.c
98
static int sun50i_usb3_phy_init(struct phy *_phy)
drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
193
struct phy *phy;
drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
200
static int sun6i_dphy_init(struct phy *phy)
drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
202
struct sun6i_dphy *dphy = phy_get_drvdata(phy);
drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
211
static int sun6i_dphy_configure(struct phy *phy, union phy_configure_opts *opts)
drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
213
struct sun6i_dphy *dphy = phy_get_drvdata(phy);
drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
491
static int sun6i_dphy_power_on(struct phy *phy)
drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
493
struct sun6i_dphy *dphy = phy_get_drvdata(phy);
drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
505
static int sun6i_dphy_power_off(struct phy *phy)
drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
507
struct sun6i_dphy *dphy = phy_get_drvdata(phy);
drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
520
static int sun6i_dphy_exit(struct phy *phy)
drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
522
struct sun6i_dphy *dphy = phy_get_drvdata(phy);
drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
589
dphy->phy = devm_phy_create(&pdev->dev, NULL, &sun6i_dphy_ops);
drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
590
if (IS_ERR(dphy->phy)) {
drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
592
return PTR_ERR(dphy->phy);
drivers/phy/allwinner/phy-sun6i-mipi-dphy.c
609
phy_set_drvdata(dphy->phy, dphy);
drivers/phy/allwinner/phy-sun9i-usb.c
100
sun9i_usb_phy_passby(phy, 0);
drivers/phy/allwinner/phy-sun9i-usb.c
101
reset_control_assert(phy->reset);
drivers/phy/allwinner/phy-sun9i-usb.c
102
clk_disable_unprepare(phy->hsic_clk);
drivers/phy/allwinner/phy-sun9i-usb.c
103
clk_disable_unprepare(phy->clk);
drivers/phy/allwinner/phy-sun9i-usb.c
116
struct sun9i_usb_phy *phy;
drivers/phy/allwinner/phy-sun9i-usb.c
121
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
drivers/phy/allwinner/phy-sun9i-usb.c
122
if (!phy)
drivers/phy/allwinner/phy-sun9i-usb.c
125
phy->type = of_usb_get_phy_mode(np);
drivers/phy/allwinner/phy-sun9i-usb.c
126
if (phy->type == USBPHY_INTERFACE_MODE_HSIC) {
drivers/phy/allwinner/phy-sun9i-usb.c
127
phy->clk = devm_clk_get(dev, "hsic_480M");
drivers/phy/allwinner/phy-sun9i-usb.c
128
if (IS_ERR(phy->clk)) {
drivers/phy/allwinner/phy-sun9i-usb.c
130
return PTR_ERR(phy->clk);
drivers/phy/allwinner/phy-sun9i-usb.c
133
phy->hsic_clk = devm_clk_get(dev, "hsic_12M");
drivers/phy/allwinner/phy-sun9i-usb.c
134
if (IS_ERR(phy->hsic_clk)) {
drivers/phy/allwinner/phy-sun9i-usb.c
136
return PTR_ERR(phy->hsic_clk);
drivers/phy/allwinner/phy-sun9i-usb.c
139
phy->reset = devm_reset_control_get(dev, "hsic");
drivers/phy/allwinner/phy-sun9i-usb.c
140
if (IS_ERR(phy->reset)) {
drivers/phy/allwinner/phy-sun9i-usb.c
142
return PTR_ERR(phy->reset);
drivers/phy/allwinner/phy-sun9i-usb.c
145
phy->clk = devm_clk_get(dev, "phy");
drivers/phy/allwinner/phy-sun9i-usb.c
146
if (IS_ERR(phy->clk)) {
drivers/phy/allwinner/phy-sun9i-usb.c
148
return PTR_ERR(phy->clk);
drivers/phy/allwinner/phy-sun9i-usb.c
151
phy->reset = devm_reset_control_get(dev, "phy");
drivers/phy/allwinner/phy-sun9i-usb.c
152
if (IS_ERR(phy->reset)) {
drivers/phy/allwinner/phy-sun9i-usb.c
154
return PTR_ERR(phy->reset);
drivers/phy/allwinner/phy-sun9i-usb.c
158
phy->pmu = devm_platform_ioremap_resource(pdev, 0);
drivers/phy/allwinner/phy-sun9i-usb.c
159
if (IS_ERR(phy->pmu))
drivers/phy/allwinner/phy-sun9i-usb.c
160
return PTR_ERR(phy->pmu);
drivers/phy/allwinner/phy-sun9i-usb.c
162
phy->phy = devm_phy_create(dev, NULL, &sun9i_usb_phy_ops);
drivers/phy/allwinner/phy-sun9i-usb.c
163
if (IS_ERR(phy->phy)) {
drivers/phy/allwinner/phy-sun9i-usb.c
165
return PTR_ERR(phy->phy);
drivers/phy/allwinner/phy-sun9i-usb.c
168
phy_set_drvdata(phy->phy, phy);
drivers/phy/allwinner/phy-sun9i-usb.c
36
struct phy *phy;
drivers/phy/allwinner/phy-sun9i-usb.c
44
static void sun9i_usb_phy_passby(struct sun9i_usb_phy *phy, int enable)
drivers/phy/allwinner/phy-sun9i-usb.c
52
if (phy->type == USBPHY_INTERFACE_MODE_HSIC)
drivers/phy/allwinner/phy-sun9i-usb.c
56
reg_value = readl(phy->pmu);
drivers/phy/allwinner/phy-sun9i-usb.c
63
writel(reg_value, phy->pmu);
drivers/phy/allwinner/phy-sun9i-usb.c
66
static int sun9i_usb_phy_init(struct phy *_phy)
drivers/phy/allwinner/phy-sun9i-usb.c
68
struct sun9i_usb_phy *phy = phy_get_drvdata(_phy);
drivers/phy/allwinner/phy-sun9i-usb.c
71
ret = clk_prepare_enable(phy->clk);
drivers/phy/allwinner/phy-sun9i-usb.c
75
ret = clk_prepare_enable(phy->hsic_clk);
drivers/phy/allwinner/phy-sun9i-usb.c
79
ret = reset_control_deassert(phy->reset);
drivers/phy/allwinner/phy-sun9i-usb.c
83
sun9i_usb_phy_passby(phy, 1);
drivers/phy/allwinner/phy-sun9i-usb.c
87
clk_disable_unprepare(phy->hsic_clk);
drivers/phy/allwinner/phy-sun9i-usb.c
90
clk_disable_unprepare(phy->clk);
drivers/phy/allwinner/phy-sun9i-usb.c
96
static int sun9i_usb_phy_exit(struct phy *_phy)
drivers/phy/allwinner/phy-sun9i-usb.c
98
struct sun9i_usb_phy *phy = phy_get_drvdata(_phy);
drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c
172
struct phy *analog;
drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c
183
static int phy_meson_axg_mipi_dphy_init(struct phy *phy)
drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c
185
struct phy_meson_axg_mipi_dphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c
199
static int phy_meson_axg_mipi_dphy_configure(struct phy *phy,
drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c
202
struct phy_meson_axg_mipi_dphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c
218
static int phy_meson_axg_mipi_dphy_power_on(struct phy *phy)
drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c
220
struct phy_meson_axg_mipi_dphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c
301
static int phy_meson_axg_mipi_dphy_power_off(struct phy *phy)
drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c
303
struct phy_meson_axg_mipi_dphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c
313
static int phy_meson_axg_mipi_dphy_exit(struct phy *phy)
drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c
315
struct phy_meson_axg_mipi_dphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c
339
struct phy *phy;
drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c
379
phy = devm_phy_create(dev, NULL, &phy_meson_axg_mipi_dphy_ops);
drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c
380
if (IS_ERR(phy))
drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c
381
return dev_err_probe(dev, PTR_ERR(phy),
drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c
384
phy_set_drvdata(phy, priv);
drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c
133
static int phy_axg_mipi_pcie_analog_configure(struct phy *phy,
drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c
136
struct phy_axg_mipi_pcie_analog_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c
161
static int phy_axg_mipi_pcie_analog_power_on(struct phy *phy)
drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c
163
struct phy_axg_mipi_pcie_analog_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c
175
static int phy_axg_mipi_pcie_analog_power_off(struct phy *phy)
drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c
177
struct phy_axg_mipi_pcie_analog_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c
198
struct phy_provider *phy;
drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c
220
priv->phy = devm_phy_create(dev, np, &phy_axg_mipi_pcie_analog_ops);
drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c
221
if (IS_ERR(priv->phy))
drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c
222
return dev_err_probe(dev, PTR_ERR(priv->phy),
drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c
225
phy_set_drvdata(priv->phy, priv);
drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c
228
phy = devm_of_phy_provider_register(dev, of_phy_simple_xlate);
drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c
230
return PTR_ERR_OR_ZERO(phy);
drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c
49
struct phy *phy;
drivers/phy/amlogic/phy-meson-axg-pcie.c
156
priv->phy = devm_phy_create(dev, np, &phy_axg_pcie_ops);
drivers/phy/amlogic/phy-meson-axg-pcie.c
157
if (IS_ERR(priv->phy))
drivers/phy/amlogic/phy-meson-axg-pcie.c
158
return dev_err_probe(dev, PTR_ERR(priv->phy),
drivers/phy/amlogic/phy-meson-axg-pcie.c
161
phy_set_drvdata(priv->phy, priv);
drivers/phy/amlogic/phy-meson-axg-pcie.c
29
struct phy *phy;
drivers/phy/amlogic/phy-meson-axg-pcie.c
30
struct phy *analog;
drivers/phy/amlogic/phy-meson-axg-pcie.c
42
static int phy_axg_pcie_power_on(struct phy *phy)
drivers/phy/amlogic/phy-meson-axg-pcie.c
44
struct phy_axg_pcie_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-axg-pcie.c
56
static int phy_axg_pcie_power_off(struct phy *phy)
drivers/phy/amlogic/phy-meson-axg-pcie.c
58
struct phy_axg_pcie_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-axg-pcie.c
70
static int phy_axg_pcie_init(struct phy *phy)
drivers/phy/amlogic/phy-meson-axg-pcie.c
72
struct phy_axg_pcie_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-axg-pcie.c
83
static int phy_axg_pcie_exit(struct phy *phy)
drivers/phy/amlogic/phy-meson-axg-pcie.c
85
struct phy_axg_pcie_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-axg-pcie.c
95
static int phy_axg_pcie_reset(struct phy *phy)
drivers/phy/amlogic/phy-meson-axg-pcie.c
97
struct phy_axg_pcie_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-g12a-mipi-dphy-analog.c
102
static int phy_g12a_mipi_dphy_analog_power_off(struct phy *phy)
drivers/phy/amlogic/phy-meson-g12a-mipi-dphy-analog.c
104
struct phy_g12a_mipi_dphy_analog_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-g12a-mipi-dphy-analog.c
122
struct phy_provider *phy;
drivers/phy/amlogic/phy-meson-g12a-mipi-dphy-analog.c
141
priv->phy = devm_phy_create(dev, np, &phy_g12a_mipi_dphy_analog_ops);
drivers/phy/amlogic/phy-meson-g12a-mipi-dphy-analog.c
142
if (IS_ERR(priv->phy))
drivers/phy/amlogic/phy-meson-g12a-mipi-dphy-analog.c
143
return dev_err_probe(dev, PTR_ERR(priv->phy), "failed to create PHY\n");
drivers/phy/amlogic/phy-meson-g12a-mipi-dphy-analog.c
145
phy_set_drvdata(priv->phy, priv);
drivers/phy/amlogic/phy-meson-g12a-mipi-dphy-analog.c
148
phy = devm_of_phy_provider_register(dev, of_phy_simple_xlate);
drivers/phy/amlogic/phy-meson-g12a-mipi-dphy-analog.c
150
return PTR_ERR_OR_ZERO(phy);
drivers/phy/amlogic/phy-meson-g12a-mipi-dphy-analog.c
40
struct phy *phy;
drivers/phy/amlogic/phy-meson-g12a-mipi-dphy-analog.c
45
static int phy_g12a_mipi_dphy_analog_configure(struct phy *phy,
drivers/phy/amlogic/phy-meson-g12a-mipi-dphy-analog.c
48
struct phy_g12a_mipi_dphy_analog_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-g12a-mipi-dphy-analog.c
60
static int phy_g12a_mipi_dphy_analog_power_on(struct phy *phy)
drivers/phy/amlogic/phy-meson-g12a-mipi-dphy-analog.c
62
struct phy_g12a_mipi_dphy_analog_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-g12a-usb2.c
169
static int phy_meson_g12a_usb2_init(struct phy *phy)
drivers/phy/amlogic/phy-meson-g12a-usb2.c
171
struct phy_meson_g12a_usb2_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-g12a-usb2.c
283
static int phy_meson_g12a_usb2_exit(struct phy *phy)
drivers/phy/amlogic/phy-meson-g12a-usb2.c
285
struct phy_meson_g12a_usb2_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-g12a-usb2.c
307
struct phy *phy;
drivers/phy/amlogic/phy-meson-g12a-usb2.c
341
phy = devm_phy_create(dev, NULL, &phy_meson_g12a_usb2_ops);
drivers/phy/amlogic/phy-meson-g12a-usb2.c
342
if (IS_ERR(phy))
drivers/phy/amlogic/phy-meson-g12a-usb2.c
343
return dev_err_probe(dev, PTR_ERR(phy),
drivers/phy/amlogic/phy-meson-g12a-usb2.c
346
phy_set_bus_width(phy, 8);
drivers/phy/amlogic/phy-meson-g12a-usb2.c
347
phy_set_drvdata(phy, priv);
drivers/phy/amlogic/phy-meson-g12a-usb3-pcie.c
196
static int phy_g12a_usb3_init(struct phy *phy)
drivers/phy/amlogic/phy-meson-g12a-usb3-pcie.c
198
struct phy_g12a_usb3_pcie_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-g12a-usb3-pcie.c
281
static int phy_g12a_usb3_pcie_power_on(struct phy *phy)
drivers/phy/amlogic/phy-meson-g12a-usb3-pcie.c
283
struct phy_g12a_usb3_pcie_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-g12a-usb3-pcie.c
295
static int phy_g12a_usb3_pcie_power_off(struct phy *phy)
drivers/phy/amlogic/phy-meson-g12a-usb3-pcie.c
297
struct phy_g12a_usb3_pcie_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-g12a-usb3-pcie.c
309
static int phy_g12a_usb3_pcie_reset(struct phy *phy)
drivers/phy/amlogic/phy-meson-g12a-usb3-pcie.c
311
struct phy_g12a_usb3_pcie_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-g12a-usb3-pcie.c
332
static int phy_g12a_usb3_pcie_init(struct phy *phy)
drivers/phy/amlogic/phy-meson-g12a-usb3-pcie.c
334
struct phy_g12a_usb3_pcie_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-g12a-usb3-pcie.c
337
return phy_g12a_usb3_init(phy);
drivers/phy/amlogic/phy-meson-g12a-usb3-pcie.c
342
static int phy_g12a_usb3_pcie_exit(struct phy *phy)
drivers/phy/amlogic/phy-meson-g12a-usb3-pcie.c
344
struct phy_g12a_usb3_pcie_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-g12a-usb3-pcie.c
352
static struct phy *phy_g12a_usb3_pcie_xlate(struct device *dev,
drivers/phy/amlogic/phy-meson-g12a-usb3-pcie.c
372
return priv->phy;
drivers/phy/amlogic/phy-meson-g12a-usb3-pcie.c
418
priv->phy = devm_phy_create(dev, np, &phy_g12a_usb3_pcie_ops);
drivers/phy/amlogic/phy-meson-g12a-usb3-pcie.c
419
if (IS_ERR(priv->phy))
drivers/phy/amlogic/phy-meson-g12a-usb3-pcie.c
420
return dev_err_probe(dev, PTR_ERR(priv->phy), "failed to create PHY\n");
drivers/phy/amlogic/phy-meson-g12a-usb3-pcie.c
422
phy_set_drvdata(priv->phy, priv);
drivers/phy/amlogic/phy-meson-g12a-usb3-pcie.c
60
struct phy *phy;
drivers/phy/amlogic/phy-meson-gxl-usb2.c
107
static int phy_meson_gxl_usb2_init(struct phy *phy)
drivers/phy/amlogic/phy-meson-gxl-usb2.c
109
struct phy_meson_gxl_usb2_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-gxl-usb2.c
125
static int phy_meson_gxl_usb2_exit(struct phy *phy)
drivers/phy/amlogic/phy-meson-gxl-usb2.c
127
struct phy_meson_gxl_usb2_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-gxl-usb2.c
135
static int phy_meson_gxl_usb2_reset(struct phy *phy)
drivers/phy/amlogic/phy-meson-gxl-usb2.c
137
struct phy_meson_gxl_usb2_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-gxl-usb2.c
152
static int phy_meson_gxl_usb2_set_mode(struct phy *phy,
drivers/phy/amlogic/phy-meson-gxl-usb2.c
155
struct phy_meson_gxl_usb2_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-gxl-usb2.c
181
phy_meson_gxl_usb2_reset(phy);
drivers/phy/amlogic/phy-meson-gxl-usb2.c
188
static int phy_meson_gxl_usb2_power_off(struct phy *phy)
drivers/phy/amlogic/phy-meson-gxl-usb2.c
190
struct phy_meson_gxl_usb2_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-gxl-usb2.c
201
static int phy_meson_gxl_usb2_power_on(struct phy *phy)
drivers/phy/amlogic/phy-meson-gxl-usb2.c
203
struct phy_meson_gxl_usb2_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson-gxl-usb2.c
211
ret = phy_meson_gxl_usb2_set_mode(phy, priv->mode, 0);
drivers/phy/amlogic/phy-meson-gxl-usb2.c
213
phy_meson_gxl_usb2_power_off(phy);
drivers/phy/amlogic/phy-meson-gxl-usb2.c
215
dev_err(&phy->dev, "Failed to initialize PHY with mode %d\n",
drivers/phy/amlogic/phy-meson-gxl-usb2.c
238
struct phy *phy;
drivers/phy/amlogic/phy-meson-gxl-usb2.c
267
phy = devm_phy_create(dev, NULL, &phy_meson_gxl_usb2_ops);
drivers/phy/amlogic/phy-meson-gxl-usb2.c
268
if (IS_ERR(phy))
drivers/phy/amlogic/phy-meson-gxl-usb2.c
269
return dev_err_probe(dev, PTR_ERR(phy),
drivers/phy/amlogic/phy-meson-gxl-usb2.c
272
phy_set_drvdata(phy, priv);
drivers/phy/amlogic/phy-meson8-hdmi-tx.c
113
struct phy *phy;
drivers/phy/amlogic/phy-meson8-hdmi-tx.c
131
phy = devm_phy_create(&pdev->dev, np, &phy_meson8_hdmi_tx_ops);
drivers/phy/amlogic/phy-meson8-hdmi-tx.c
132
if (IS_ERR(phy))
drivers/phy/amlogic/phy-meson8-hdmi-tx.c
133
return PTR_ERR(phy);
drivers/phy/amlogic/phy-meson8-hdmi-tx.c
135
phy_set_drvdata(phy, priv);
drivers/phy/amlogic/phy-meson8-hdmi-tx.c
40
static int phy_meson8_hdmi_tx_init(struct phy *phy)
drivers/phy/amlogic/phy-meson8-hdmi-tx.c
42
struct phy_meson8_hdmi_tx_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson8-hdmi-tx.c
47
static int phy_meson8_hdmi_tx_exit(struct phy *phy)
drivers/phy/amlogic/phy-meson8-hdmi-tx.c
49
struct phy_meson8_hdmi_tx_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson8-hdmi-tx.c
56
static int phy_meson8_hdmi_tx_power_on(struct phy *phy)
drivers/phy/amlogic/phy-meson8-hdmi-tx.c
58
struct phy_meson8_hdmi_tx_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson8-hdmi-tx.c
88
static int phy_meson8_hdmi_tx_power_off(struct phy *phy)
drivers/phy/amlogic/phy-meson8-hdmi-tx.c
90
struct phy_meson8_hdmi_tx_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson8b-usb2.c
139
static int phy_meson8b_usb2_power_on(struct phy *phy)
drivers/phy/amlogic/phy-meson8b-usb2.c
141
struct phy_meson8b_usb2_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson8b-usb2.c
148
dev_err(&phy->dev, "Failed to trigger USB reset\n");
drivers/phy/amlogic/phy-meson8b-usb2.c
155
dev_err(&phy->dev, "Failed to enable USB general clock\n");
drivers/phy/amlogic/phy-meson8b-usb2.c
162
dev_err(&phy->dev, "Failed to enable USB DDR clock\n");
drivers/phy/amlogic/phy-meson8b-usb2.c
196
dev_warn(&phy->dev, "USB ID detect failed!\n");
drivers/phy/amlogic/phy-meson8b-usb2.c
208
static int phy_meson8b_usb2_power_off(struct phy *phy)
drivers/phy/amlogic/phy-meson8b-usb2.c
210
struct phy_meson8b_usb2_priv *priv = phy_get_drvdata(phy);
drivers/phy/amlogic/phy-meson8b-usb2.c
235
struct phy *phy;
drivers/phy/amlogic/phy-meson8b-usb2.c
276
phy = devm_phy_create(&pdev->dev, NULL, &phy_meson8b_usb2_ops);
drivers/phy/amlogic/phy-meson8b-usb2.c
277
if (IS_ERR(phy)) {
drivers/phy/amlogic/phy-meson8b-usb2.c
278
return dev_err_probe(&pdev->dev, PTR_ERR(phy),
drivers/phy/amlogic/phy-meson8b-usb2.c
282
phy_set_drvdata(phy, priv);
drivers/phy/apple/atc.c
1791
static int atcphy_usb2_set_mode(struct phy *phy, enum phy_mode mode, int submode)
drivers/phy/apple/atc.c
1793
struct apple_atcphy *atcphy = phy_get_drvdata(phy);
drivers/phy/apple/atc.c
1816
static int atcphy_usb3_power_off(struct phy *phy)
drivers/phy/apple/atc.c
1818
struct apple_atcphy *atcphy = phy_get_drvdata(phy);
drivers/phy/apple/atc.c
1835
static int atcphy_usb3_set_mode(struct phy *phy, enum phy_mode mode, int submode)
drivers/phy/apple/atc.c
1837
struct apple_atcphy *atcphy = phy_get_drvdata(phy);
drivers/phy/apple/atc.c
1865
static int atcphy_dpphy_set_mode(struct phy *phy, enum phy_mode mode, int submode)
drivers/phy/apple/atc.c
1873
static int atcphy_dpphy_validate(struct phy *phy, enum phy_mode mode, int submode,
drivers/phy/apple/atc.c
1877
struct apple_atcphy *atcphy = phy_get_drvdata(phy);
drivers/phy/apple/atc.c
1898
static int atcphy_dpphy_configure(struct phy *phy, union phy_configure_opts *opts_)
drivers/phy/apple/atc.c
1901
struct apple_atcphy *atcphy = phy_get_drvdata(phy);
drivers/phy/apple/atc.c
1943
static struct phy *atcphy_xlate(struct device *dev, const struct of_phandle_args *args)
drivers/phy/apple/atc.c
1961
struct phy **phy;
drivers/phy/apple/atc.c
1970
*phys[i].phy = devm_phy_create(atcphy->dev, NULL, phys[i].ops);
drivers/phy/apple/atc.c
1971
if (IS_ERR(*phys[i].phy))
drivers/phy/apple/atc.c
1972
return PTR_ERR(*phys[i].phy);
drivers/phy/apple/atc.c
1973
phy_set_drvdata(*phys[i].phy, atcphy);
drivers/phy/apple/atc.c
623
struct phy *usb2;
drivers/phy/apple/atc.c
624
struct phy *usb3;
drivers/phy/apple/atc.c
625
struct phy *dp;
drivers/phy/broadcom/phy-bcm-cygnus-pcie.c
100
static int cygnus_pcie_phy_power_off(struct phy *p)
drivers/phy/broadcom/phy-bcm-cygnus-pcie.c
102
struct cygnus_pcie_phy *phy = phy_get_drvdata(p);
drivers/phy/broadcom/phy-bcm-cygnus-pcie.c
104
return cygnus_pcie_power_config(phy, false);
drivers/phy/broadcom/phy-bcm-cygnus-pcie.c
153
if (core->phys[id].phy) {
drivers/phy/broadcom/phy-bcm-cygnus-pcie.c
159
p->phy = devm_phy_create(dev, child, &cygnus_pcie_phy_ops);
drivers/phy/broadcom/phy-bcm-cygnus-pcie.c
160
if (IS_ERR(p->phy)) {
drivers/phy/broadcom/phy-bcm-cygnus-pcie.c
162
return PTR_ERR(p->phy);
drivers/phy/broadcom/phy-bcm-cygnus-pcie.c
167
phy_set_drvdata(p->phy, p);
drivers/phy/broadcom/phy-bcm-cygnus-pcie.c
32
struct phy *phy;
drivers/phy/broadcom/phy-bcm-cygnus-pcie.c
49
static int cygnus_pcie_power_config(struct cygnus_pcie_phy *phy, bool enable)
drivers/phy/broadcom/phy-bcm-cygnus-pcie.c
51
struct cygnus_pcie_phy_core *core = phy->core;
drivers/phy/broadcom/phy-bcm-cygnus-pcie.c
57
switch (phy->id) {
drivers/phy/broadcom/phy-bcm-cygnus-pcie.c
68
dev_err(core->dev, "PCIe PHY %d invalid\n", phy->id);
drivers/phy/broadcom/phy-bcm-cygnus-pcie.c
88
dev_dbg(core->dev, "PCIe PHY %d %s\n", phy->id,
drivers/phy/broadcom/phy-bcm-cygnus-pcie.c
93
static int cygnus_pcie_phy_power_on(struct phy *p)
drivers/phy/broadcom/phy-bcm-cygnus-pcie.c
95
struct cygnus_pcie_phy *phy = phy_get_drvdata(p);
drivers/phy/broadcom/phy-bcm-cygnus-pcie.c
97
return cygnus_pcie_power_config(phy, true);
drivers/phy/broadcom/phy-bcm-kona-usb2.c
100
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
drivers/phy/broadcom/phy-bcm-kona-usb2.c
101
if (!phy)
drivers/phy/broadcom/phy-bcm-kona-usb2.c
104
phy->regs = devm_platform_ioremap_resource(pdev, 0);
drivers/phy/broadcom/phy-bcm-kona-usb2.c
105
if (IS_ERR(phy->regs))
drivers/phy/broadcom/phy-bcm-kona-usb2.c
106
return PTR_ERR(phy->regs);
drivers/phy/broadcom/phy-bcm-kona-usb2.c
108
platform_set_drvdata(pdev, phy);
drivers/phy/broadcom/phy-bcm-kona-usb2.c
117
phy_set_drvdata(gphy, phy);
drivers/phy/broadcom/phy-bcm-kona-usb2.c
34
static void bcm_kona_usb_phy_power(struct bcm_kona_usb *phy, int on)
drivers/phy/broadcom/phy-bcm-kona-usb2.c
38
val = readl(phy->regs + OTGCTL);
drivers/phy/broadcom/phy-bcm-kona-usb2.c
47
writel(val, phy->regs + OTGCTL);
drivers/phy/broadcom/phy-bcm-kona-usb2.c
50
static int bcm_kona_usb_phy_init(struct phy *gphy)
drivers/phy/broadcom/phy-bcm-kona-usb2.c
52
struct bcm_kona_usb *phy = phy_get_drvdata(gphy);
drivers/phy/broadcom/phy-bcm-kona-usb2.c
56
val = readl(phy->regs + P1CTL);
drivers/phy/broadcom/phy-bcm-kona-usb2.c
59
writel(val, phy->regs + P1CTL);
drivers/phy/broadcom/phy-bcm-kona-usb2.c
60
writel(val & ~P1CTL_SOFT_RESET, phy->regs + P1CTL);
drivers/phy/broadcom/phy-bcm-kona-usb2.c
63
writel(val | P1CTL_SOFT_RESET, phy->regs + P1CTL);
drivers/phy/broadcom/phy-bcm-kona-usb2.c
68
static int bcm_kona_usb_phy_power_on(struct phy *gphy)
drivers/phy/broadcom/phy-bcm-kona-usb2.c
70
struct bcm_kona_usb *phy = phy_get_drvdata(gphy);
drivers/phy/broadcom/phy-bcm-kona-usb2.c
72
bcm_kona_usb_phy_power(phy, 1);
drivers/phy/broadcom/phy-bcm-kona-usb2.c
77
static int bcm_kona_usb_phy_power_off(struct phy *gphy)
drivers/phy/broadcom/phy-bcm-kona-usb2.c
79
struct bcm_kona_usb *phy = phy_get_drvdata(gphy);
drivers/phy/broadcom/phy-bcm-kona-usb2.c
81
bcm_kona_usb_phy_power(phy, 0);
drivers/phy/broadcom/phy-bcm-kona-usb2.c
96
struct bcm_kona_usb *phy;
drivers/phy/broadcom/phy-bcm-kona-usb2.c
97
struct phy *gphy;
drivers/phy/broadcom/phy-bcm-ns-usb2.c
115
usb2->phy = devm_phy_create(dev, NULL, &ops);
drivers/phy/broadcom/phy-bcm-ns-usb2.c
116
if (IS_ERR(usb2->phy))
drivers/phy/broadcom/phy-bcm-ns-usb2.c
117
return PTR_ERR(usb2->phy);
drivers/phy/broadcom/phy-bcm-ns-usb2.c
119
phy_set_drvdata(usb2->phy, usb2);
drivers/phy/broadcom/phy-bcm-ns-usb2.c
24
struct phy *phy;
drivers/phy/broadcom/phy-bcm-ns-usb2.c
29
static int bcm_ns_usb2_phy_init(struct phy *phy)
drivers/phy/broadcom/phy-bcm-ns-usb2.c
31
struct bcm_ns_usb2 *usb2 = phy_get_drvdata(phy);
drivers/phy/broadcom/phy-bcm-ns-usb3.c
150
static int bcm_ns_usb3_phy_init(struct phy *phy)
drivers/phy/broadcom/phy-bcm-ns-usb3.c
152
struct bcm_ns_usb3 *usb3 = phy_get_drvdata(phy);
drivers/phy/broadcom/phy-bcm-ns-usb3.c
218
usb3->phy = devm_phy_create(dev, NULL, &ops);
drivers/phy/broadcom/phy-bcm-ns-usb3.c
219
if (IS_ERR(usb3->phy)) {
drivers/phy/broadcom/phy-bcm-ns-usb3.c
221
return PTR_ERR(usb3->phy);
drivers/phy/broadcom/phy-bcm-ns-usb3.c
224
phy_set_drvdata(usb3->phy, usb3);
drivers/phy/broadcom/phy-bcm-ns-usb3.c
54
struct phy *phy;
drivers/phy/broadcom/phy-bcm-ns2-pcie.c
16
static int ns2_pci_phy_init(struct phy *p)
drivers/phy/broadcom/phy-bcm-ns2-pcie.c
47
struct phy *phy;
drivers/phy/broadcom/phy-bcm-ns2-pcie.c
49
phy = devm_phy_create(dev, dev->of_node, &ns2_pci_phy_ops);
drivers/phy/broadcom/phy-bcm-ns2-pcie.c
50
if (IS_ERR(phy)) {
drivers/phy/broadcom/phy-bcm-ns2-pcie.c
52
return PTR_ERR(phy);
drivers/phy/broadcom/phy-bcm-ns2-pcie.c
55
phy_set_drvdata(phy, mdiodev);
drivers/phy/broadcom/phy-bcm-ns2-pcie.c
57
provider = devm_of_phy_provider_register(&phy->dev,
drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c
108
static int ns2_drd_phy_poweroff(struct phy *phy)
drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c
110
struct ns2_phy_data *data = phy_get_drvdata(phy);
drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c
130
static int ns2_drd_phy_poweron(struct phy *phy)
drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c
132
struct ns2_phy_data *data = phy_get_drvdata(phy);
drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c
156
dev_err(&phy->dev, "Phy PLL lock failed\n");
drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c
168
dev_err(&phy->dev, "Phy PLL lock failed\n");
drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c
381
data->phy = devm_phy_create(dev, dev->of_node, &ops);
drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c
382
if (IS_ERR(data->phy)) {
drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c
384
return PTR_ERR(data->phy);
drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c
388
phy_set_drvdata(data->phy, data);
drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c
68
struct phy *phy;
drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c
88
static int ns2_drd_phy_init(struct phy *phy)
drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c
90
struct ns2_phy_data *data = phy_get_drvdata(phy);
drivers/phy/broadcom/phy-bcm-sr-pcie.c
145
static bool pcie_core_is_for_rc(struct sr_pcie_phy *phy)
drivers/phy/broadcom/phy-bcm-sr-pcie.c
147
struct sr_pcie_phy_core *core = phy->core;
drivers/phy/broadcom/phy-bcm-sr-pcie.c
148
unsigned int core_idx = phy->index;
drivers/phy/broadcom/phy-bcm-sr-pcie.c
153
static int sr_pcie_phy_init(struct phy *p)
drivers/phy/broadcom/phy-bcm-sr-pcie.c
155
struct sr_pcie_phy *phy = phy_get_drvdata(p);
drivers/phy/broadcom/phy-bcm-sr-pcie.c
162
if (pcie_core_is_for_rc(phy))
drivers/phy/broadcom/phy-bcm-sr-pcie.c
168
static int sr_paxc_phy_init(struct phy *p)
drivers/phy/broadcom/phy-bcm-sr-pcie.c
170
struct sr_pcie_phy *phy = phy_get_drvdata(p);
drivers/phy/broadcom/phy-bcm-sr-pcie.c
171
struct sr_pcie_phy_core *core = phy->core;
drivers/phy/broadcom/phy-bcm-sr-pcie.c
172
unsigned int core_idx = phy->index;
drivers/phy/broadcom/phy-bcm-sr-pcie.c
197
static struct phy *sr_pcie_phy_xlate(struct device *dev,
drivers/phy/broadcom/phy-bcm-sr-pcie.c
212
return core->phys[phy_idx].phy;
drivers/phy/broadcom/phy-bcm-sr-pcie.c
261
p->phy = devm_phy_create(dev, NULL, ops);
drivers/phy/broadcom/phy-bcm-sr-pcie.c
262
if (IS_ERR(p->phy)) {
drivers/phy/broadcom/phy-bcm-sr-pcie.c
264
return PTR_ERR(p->phy);
drivers/phy/broadcom/phy-bcm-sr-pcie.c
269
phy_set_drvdata(p->phy, p);
drivers/phy/broadcom/phy-bcm-sr-pcie.c
49
struct phy *phy;
drivers/phy/broadcom/phy-bcm-sr-usb.c
174
static int bcm_usb_phy_reset(struct phy *phy)
drivers/phy/broadcom/phy-bcm-sr-usb.c
176
struct bcm_usb_phy_cfg *phy_cfg = phy_get_drvdata(phy);
drivers/phy/broadcom/phy-bcm-sr-usb.c
192
static int bcm_usb_phy_init(struct phy *phy)
drivers/phy/broadcom/phy-bcm-sr-usb.c
194
struct bcm_usb_phy_cfg *phy_cfg = phy_get_drvdata(phy);
drivers/phy/broadcom/phy-bcm-sr-usb.c
211
static struct phy *bcm_usb_phy_xlate(struct device *dev,
drivers/phy/broadcom/phy-bcm-sr-usb.c
227
return phy_cfg[phy_idx].phy;
drivers/phy/broadcom/phy-bcm-sr-usb.c
229
return phy_cfg->phy;
drivers/phy/broadcom/phy-bcm-sr-usb.c
255
phy_cfg[idx].phy = devm_phy_create(dev, node,
drivers/phy/broadcom/phy-bcm-sr-usb.c
257
if (IS_ERR(phy_cfg[idx].phy))
drivers/phy/broadcom/phy-bcm-sr-usb.c
258
return PTR_ERR(phy_cfg[idx].phy);
drivers/phy/broadcom/phy-bcm-sr-usb.c
260
phy_set_drvdata(phy_cfg[idx].phy, &phy_cfg[idx]);
drivers/phy/broadcom/phy-bcm-sr-usb.c
272
phy_cfg->phy = devm_phy_create(dev, node, &sr_phy_ops);
drivers/phy/broadcom/phy-bcm-sr-usb.c
273
if (IS_ERR(phy_cfg->phy))
drivers/phy/broadcom/phy-bcm-sr-usb.c
274
return PTR_ERR(phy_cfg->phy);
drivers/phy/broadcom/phy-bcm-sr-usb.c
276
phy_set_drvdata(phy_cfg->phy, phy_cfg);
drivers/phy/broadcom/phy-bcm-sr-usb.c
88
struct phy *phy;
drivers/phy/broadcom/phy-bcm63xx-usbh.c
241
static int bcm63xx_usbh_phy_init(struct phy *phy)
drivers/phy/broadcom/phy-bcm63xx-usbh.c
243
struct bcm63xx_usbh_phy *usbh = phy_get_drvdata(phy);
drivers/phy/broadcom/phy-bcm63xx-usbh.c
248
dev_err(&phy->dev, "unable to enable usbh clock: %d\n", ret);
drivers/phy/broadcom/phy-bcm63xx-usbh.c
254
dev_err(&phy->dev, "unable to enable usb_ref clock: %d\n", ret);
drivers/phy/broadcom/phy-bcm63xx-usbh.c
261
dev_err(&phy->dev, "unable to reset device: %d\n", ret);
drivers/phy/broadcom/phy-bcm63xx-usbh.c
318
static int bcm63xx_usbh_phy_power_on(struct phy *phy)
drivers/phy/broadcom/phy-bcm63xx-usbh.c
320
struct bcm63xx_usbh_phy *usbh = phy_get_drvdata(phy);
drivers/phy/broadcom/phy-bcm63xx-usbh.c
334
static int bcm63xx_usbh_phy_power_off(struct phy *phy)
drivers/phy/broadcom/phy-bcm63xx-usbh.c
336
struct bcm63xx_usbh_phy *usbh = phy_get_drvdata(phy);
drivers/phy/broadcom/phy-bcm63xx-usbh.c
350
static int bcm63xx_usbh_phy_exit(struct phy *phy)
drivers/phy/broadcom/phy-bcm63xx-usbh.c
352
struct bcm63xx_usbh_phy *usbh = phy_get_drvdata(phy);
drivers/phy/broadcom/phy-bcm63xx-usbh.c
368
static struct phy *bcm63xx_usbh_phy_xlate(struct device *dev,
drivers/phy/broadcom/phy-bcm63xx-usbh.c
383
struct phy *phy;
drivers/phy/broadcom/phy-bcm63xx-usbh.c
414
phy = devm_phy_create(dev, NULL, &bcm63xx_usbh_phy_ops);
drivers/phy/broadcom/phy-bcm63xx-usbh.c
415
if (IS_ERR(phy)) {
drivers/phy/broadcom/phy-bcm63xx-usbh.c
417
return PTR_ERR(phy);
drivers/phy/broadcom/phy-bcm63xx-usbh.c
421
phy_set_drvdata(phy, usbh);
drivers/phy/broadcom/phy-brcm-sata.c
63
struct phy *phy;
drivers/phy/broadcom/phy-brcm-sata.c
667
static int brcm_sata_phy_init(struct phy *phy)
drivers/phy/broadcom/phy-brcm-sata.c
670
struct brcm_sata_port *port = phy_get_drvdata(phy);
drivers/phy/broadcom/phy-brcm-sata.c
707
static int brcm_sata_phy_calibrate(struct phy *phy)
drivers/phy/broadcom/phy-brcm-sata.c
709
struct brcm_sata_port *port = phy_get_drvdata(phy);
drivers/phy/broadcom/phy-brcm-sata.c
799
if (priv->phys[id].phy) {
drivers/phy/broadcom/phy-brcm-sata.c
807
port->phy = devm_phy_create(dev, child, &phy_ops);
drivers/phy/broadcom/phy-brcm-sata.c
820
if (IS_ERR(port->phy)) {
drivers/phy/broadcom/phy-brcm-sata.c
822
return PTR_ERR(port->phy);
drivers/phy/broadcom/phy-brcm-sata.c
825
phy_set_drvdata(port->phy, port);
drivers/phy/broadcom/phy-brcm-usb.c
111
static int brcm_usb_phy_init(struct phy *gphy)
drivers/phy/broadcom/phy-brcm-usb.c
113
struct brcm_usb_phy *phy = phy_get_drvdata(gphy);
drivers/phy/broadcom/phy-brcm-usb.c
115
container_of(phy, struct brcm_usb_phy_data, phys[phy->id]);
drivers/phy/broadcom/phy-brcm-usb.c
132
if (phy->id == BRCM_USB_PHY_2_0)
drivers/phy/broadcom/phy-brcm-usb.c
134
else if (phy->id == BRCM_USB_PHY_3_0)
drivers/phy/broadcom/phy-brcm-usb.c
136
phy->inited = true;
drivers/phy/broadcom/phy-brcm-usb.c
137
dev_dbg(&gphy->dev, "INIT, id: %d, total: %d\n", phy->id,
drivers/phy/broadcom/phy-brcm-usb.c
143
static int brcm_usb_phy_exit(struct phy *gphy)
drivers/phy/broadcom/phy-brcm-usb.c
145
struct brcm_usb_phy *phy = phy_get_drvdata(gphy);
drivers/phy/broadcom/phy-brcm-usb.c
147
container_of(phy, struct brcm_usb_phy_data, phys[phy->id]);
drivers/phy/broadcom/phy-brcm-usb.c
153
if (phy->id == BRCM_USB_PHY_2_0)
drivers/phy/broadcom/phy-brcm-usb.c
155
if (phy->id == BRCM_USB_PHY_3_0)
drivers/phy/broadcom/phy-brcm-usb.c
167
phy->inited = false;
drivers/phy/broadcom/phy-brcm-usb.c
177
static struct phy *brcm_usb_phy_xlate(struct device *dev,
drivers/phy/broadcom/phy-brcm-usb.c
189
if (data->phys[BRCM_USB_PHY_2_0].phy)
drivers/phy/broadcom/phy-brcm-usb.c
190
return data->phys[BRCM_USB_PHY_2_0].phy;
drivers/phy/broadcom/phy-brcm-usb.c
195
if (data->phys[BRCM_USB_PHY_3_0].phy)
drivers/phy/broadcom/phy-brcm-usb.c
196
return data->phys[BRCM_USB_PHY_3_0].phy;
drivers/phy/broadcom/phy-brcm-usb.c
406
struct phy *gphy = NULL;
drivers/phy/broadcom/phy-brcm-usb.c
426
priv->phys[BRCM_USB_PHY_2_0].phy = gphy;
drivers/phy/broadcom/phy-brcm-usb.c
437
priv->phys[BRCM_USB_PHY_3_0].phy = gphy;
drivers/phy/broadcom/phy-brcm-usb.c
57
struct phy *phy;
drivers/phy/cadence/cdns-dphy-rx.c
169
static int cdns_dphy_rx_configure(struct phy *phy,
drivers/phy/cadence/cdns-dphy-rx.c
172
struct cdns_dphy_rx *dphy = phy_get_drvdata(phy);
drivers/phy/cadence/cdns-dphy-rx.c
216
static int cdns_dphy_rx_validate(struct phy *phy, enum phy_mode mode,
drivers/phy/cadence/cdns-dphy-rx.c
255
dphy->phy = devm_phy_create(dev, NULL, &cdns_dphy_rx_ops);
drivers/phy/cadence/cdns-dphy-rx.c
256
if (IS_ERR(dphy->phy)) {
drivers/phy/cadence/cdns-dphy-rx.c
257
dev_err(dev, "Failed to create PHY: %ld\n", PTR_ERR(dphy->phy));
drivers/phy/cadence/cdns-dphy-rx.c
258
return PTR_ERR(dphy->phy);
drivers/phy/cadence/cdns-dphy-rx.c
261
phy_set_drvdata(dphy->phy, dphy);
drivers/phy/cadence/cdns-dphy-rx.c
58
struct phy *phy;
drivers/phy/cadence/cdns-dphy-rx.c
80
static int cdns_dphy_rx_power_on(struct phy *phy)
drivers/phy/cadence/cdns-dphy-rx.c
82
struct cdns_dphy_rx *dphy = phy_get_drvdata(phy);
drivers/phy/cadence/cdns-dphy-rx.c
93
static int cdns_dphy_rx_power_off(struct phy *phy)
drivers/phy/cadence/cdns-dphy-rx.c
95
struct cdns_dphy_rx *dphy = phy_get_drvdata(phy);
drivers/phy/cadence/cdns-dphy.c
106
struct phy *phy;
drivers/phy/cadence/cdns-dphy.c
306
static int cdns_dphy_config_from_opts(struct phy *phy,
drivers/phy/cadence/cdns-dphy.c
310
struct cdns_dphy *dphy = phy_get_drvdata(phy);
drivers/phy/cadence/cdns-dphy.c
345
static int cdns_dphy_validate(struct phy *phy, enum phy_mode mode, int submode,
drivers/phy/cadence/cdns-dphy.c
353
return cdns_dphy_config_from_opts(phy, &opts->mipi_dphy, &cfg);
drivers/phy/cadence/cdns-dphy.c
356
static int cdns_dphy_configure(struct phy *phy, union phy_configure_opts *opts)
drivers/phy/cadence/cdns-dphy.c
358
struct cdns_dphy *dphy = phy_get_drvdata(phy);
drivers/phy/cadence/cdns-dphy.c
361
ret = cdns_dphy_config_from_opts(phy, &opts->mipi_dphy, &dphy->cfg);
drivers/phy/cadence/cdns-dphy.c
368
static int cdns_dphy_power_on(struct phy *phy)
drivers/phy/cadence/cdns-dphy.c
370
struct cdns_dphy *dphy = phy_get_drvdata(phy);
drivers/phy/cadence/cdns-dphy.c
386
dev_err(&dphy->phy->dev, "Failed to setup PSM with error %d\n", ret);
drivers/phy/cadence/cdns-dphy.c
407
dev_err(&dphy->phy->dev, "Failed to get band control value with error %d\n", ret);
drivers/phy/cadence/cdns-dphy.c
422
dev_err(&dphy->phy->dev, "Failed to lock PLL with error %d\n", ret);
drivers/phy/cadence/cdns-dphy.c
428
dev_err(&dphy->phy->dev, "O_CMN_READY signal failed to assert with error %d\n",
drivers/phy/cadence/cdns-dphy.c
444
static int cdns_dphy_power_off(struct phy *phy)
drivers/phy/cadence/cdns-dphy.c
446
struct cdns_dphy *dphy = phy_get_drvdata(phy);
drivers/phy/cadence/cdns-dphy.c
501
dphy->phy = devm_phy_create(&pdev->dev, NULL, &cdns_dphy_ops);
drivers/phy/cadence/cdns-dphy.c
502
if (IS_ERR(dphy->phy)) {
drivers/phy/cadence/cdns-dphy.c
506
return PTR_ERR(dphy->phy);
drivers/phy/cadence/cdns-dphy.c
509
phy_set_drvdata(dphy->phy, dphy);
drivers/phy/cadence/phy-cadence-salvo.c
135
struct phy *phy;
drivers/phy/cadence/phy-cadence-salvo.c
246
static int cdns_salvo_phy_init(struct phy *phy)
drivers/phy/cadence/phy-cadence-salvo.c
248
struct cdns_salvo_phy *salvo_phy = phy_get_drvdata(phy);
drivers/phy/cadence/phy-cadence-salvo.c
288
static int cdns_salvo_phy_power_on(struct phy *phy)
drivers/phy/cadence/phy-cadence-salvo.c
290
struct cdns_salvo_phy *salvo_phy = phy_get_drvdata(phy);
drivers/phy/cadence/phy-cadence-salvo.c
295
static int cdns_salvo_phy_power_off(struct phy *phy)
drivers/phy/cadence/phy-cadence-salvo.c
297
struct cdns_salvo_phy *salvo_phy = phy_get_drvdata(phy);
drivers/phy/cadence/phy-cadence-salvo.c
304
static int cdns_salvo_set_mode(struct phy *phy, enum phy_mode mode, int submode)
drivers/phy/cadence/phy-cadence-salvo.c
306
struct cdns_salvo_phy *salvo_phy = phy_get_drvdata(phy);
drivers/phy/cadence/phy-cadence-salvo.c
361
salvo_phy->phy = devm_phy_create(dev, NULL, &cdns_salvo_phy_ops);
drivers/phy/cadence/phy-cadence-salvo.c
362
if (IS_ERR(salvo_phy->phy))
drivers/phy/cadence/phy-cadence-salvo.c
363
return PTR_ERR(salvo_phy->phy);
drivers/phy/cadence/phy-cadence-salvo.c
365
phy_set_drvdata(salvo_phy->phy, salvo_phy);
drivers/phy/cadence/phy-cadence-sierra.c
1446
struct phy *gphy;
drivers/phy/cadence/phy-cadence-sierra.c
1483
sp->phys[node].phy = gphy;
drivers/phy/cadence/phy-cadence-sierra.c
1527
struct cdns_sierra_phy *phy = platform_get_drvdata(pdev);
drivers/phy/cadence/phy-cadence-sierra.c
1530
reset_control_assert(phy->phy_rst);
drivers/phy/cadence/phy-cadence-sierra.c
1531
reset_control_assert(phy->apb_rst);
drivers/phy/cadence/phy-cadence-sierra.c
1534
cdns_sierra_phy_disable_clocks(phy);
drivers/phy/cadence/phy-cadence-sierra.c
1539
for (i = 0; i < phy->nsubnodes; i++) {
drivers/phy/cadence/phy-cadence-sierra.c
1540
reset_control_assert(phy->phys[i].lnk_rst);
drivers/phy/cadence/phy-cadence-sierra.c
1541
reset_control_put(phy->phys[i].lnk_rst);
drivers/phy/cadence/phy-cadence-sierra.c
1544
cdns_sierra_clk_unregister(phy);
drivers/phy/cadence/phy-cadence-sierra.c
347
struct phy *phy;
drivers/phy/cadence/phy-cadence-sierra.c
541
static int cdns_sierra_phy_init(struct phy *gphy)
drivers/phy/cadence/phy-cadence-sierra.c
544
struct cdns_sierra_phy *phy = dev_get_drvdata(gphy->dev.parent);
drivers/phy/cadence/phy-cadence-sierra.c
545
const struct cdns_sierra_data *init_data = phy->init_data;
drivers/phy/cadence/phy-cadence-sierra.c
557
if (phy->autoconf || phy->already_configured || phy->nsubnodes > 1)
drivers/phy/cadence/phy-cadence-sierra.c
560
clk_set_rate(phy->input_clks[CMN_REFCLK_DIG_DIV], 25000000);
drivers/phy/cadence/phy-cadence-sierra.c
561
clk_set_rate(phy->input_clks[CMN_REFCLK1_DIG_DIV], 25000000);
drivers/phy/cadence/phy-cadence-sierra.c
568
regmap = phy->regmap_phy_pcs_common_cdb;
drivers/phy/cadence/phy-cadence-sierra.c
579
regmap = phy->regmap_phy_pma_lane_cdb[i + ins->mlane];
drivers/phy/cadence/phy-cadence-sierra.c
590
regmap = phy->regmap_common_cdb;
drivers/phy/cadence/phy-cadence-sierra.c
601
regmap = phy->regmap_lane_cdb[i + ins->mlane];
drivers/phy/cadence/phy-cadence-sierra.c
610
static int cdns_sierra_phy_on(struct phy *gphy)
drivers/phy/cadence/phy-cadence-sierra.c
662
static int cdns_sierra_phy_off(struct phy *gphy)
drivers/phy/cadence/phy-cadence-sierra.c
669
static int cdns_sierra_phy_reset(struct phy *gphy)
drivers/phy/cadence/phy-cadence-sierra.c
686
static int cdns_sierra_noop_phy_on(struct phy *gphy)
drivers/phy/cadence/phy-cadence-torrent.c
1605
static int cdns_torrent_dp_configure(struct phy *phy,
drivers/phy/cadence/phy-cadence-torrent.c
1608
struct cdns_torrent_inst *inst = phy_get_drvdata(phy);
drivers/phy/cadence/phy-cadence-torrent.c
1609
struct cdns_torrent_phy *cdns_phy = dev_get_drvdata(phy->dev.parent);
drivers/phy/cadence/phy-cadence-torrent.c
1617
dev_err(&phy->dev, "invalid params for phy configure\n");
drivers/phy/cadence/phy-cadence-torrent.c
1624
dev_err(&phy->dev, "cdns_torrent_dp_set_lanes failed\n");
drivers/phy/cadence/phy-cadence-torrent.c
1632
dev_err(&phy->dev, "cdns_torrent_dp_set_rate failed\n");
drivers/phy/cadence/phy-cadence-torrent.c
1643
static int cdns_torrent_phy_on(struct phy *phy)
drivers/phy/cadence/phy-cadence-torrent.c
1645
struct cdns_torrent_inst *inst = phy_get_drvdata(phy);
drivers/phy/cadence/phy-cadence-torrent.c
1646
struct cdns_torrent_phy *cdns_phy = dev_get_drvdata(phy->dev.parent);
drivers/phy/cadence/phy-cadence-torrent.c
1691
static int cdns_torrent_phy_off(struct phy *phy)
drivers/phy/cadence/phy-cadence-torrent.c
1693
struct cdns_torrent_inst *inst = phy_get_drvdata(phy);
drivers/phy/cadence/phy-cadence-torrent.c
1694
struct cdns_torrent_phy *cdns_phy = dev_get_drvdata(phy->dev.parent);
drivers/phy/cadence/phy-cadence-torrent.c
1764
struct phy *phy)
drivers/phy/cadence/phy-cadence-torrent.c
1768
ret = cdns_torrent_phy_on(phy);
drivers/phy/cadence/phy-cadence-torrent.c
1781
static int cdns_torrent_dp_init(struct phy *phy)
drivers/phy/cadence/phy-cadence-torrent.c
1783
struct cdns_torrent_inst *inst = phy_get_drvdata(phy);
drivers/phy/cadence/phy-cadence-torrent.c
1784
struct cdns_torrent_phy *cdns_phy = dev_get_drvdata(phy->dev.parent);
drivers/phy/cadence/phy-cadence-torrent.c
1804
return cdns_torrent_dp_start(cdns_phy, inst, phy);
drivers/phy/cadence/phy-cadence-torrent.c
1809
struct phy *phy)
drivers/phy/cadence/phy-cadence-torrent.c
1818
return cdns_torrent_dp_start(cdns_phy, inst, phy);
drivers/phy/cadence/phy-cadence-torrent.c
2317
static int cdns_torrent_phy_init(struct phy *phy)
drivers/phy/cadence/phy-cadence-torrent.c
2319
struct cdns_torrent_phy *cdns_phy = dev_get_drvdata(phy->dev.parent);
drivers/phy/cadence/phy-cadence-torrent.c
2324
struct cdns_torrent_inst *inst = phy_get_drvdata(phy);
drivers/phy/cadence/phy-cadence-torrent.c
2339
return cdns_torrent_dp_multilink_init(cdns_phy, inst, phy);
drivers/phy/cadence/phy-cadence-torrent.c
2461
return cdns_torrent_dp_init(phy);
drivers/phy/cadence/phy-cadence-torrent.c
2978
struct phy *gphy;
drivers/phy/cadence/phy-cadence-torrent.c
3121
cdns_phy->phys[node].phy = gphy;
drivers/phy/cadence/phy-cadence-torrent.c
347
struct phy *phy;
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
142
static int phy_write(struct phy *phy, u32 value, unsigned int reg)
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
144
struct mixel_dphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
149
dev_err(&phy->dev, "Failed to write DPHY reg %d: %d\n", reg,
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
186
static int mixel_dphy_config_from_opts(struct phy *phy,
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
190
struct mixel_dphy_priv *priv = dev_get_drvdata(phy->dev.parent);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
205
dev_err(&phy->dev, "Invalid %d/%d for %ld/%ld\n",
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
230
dev_err(&phy->dev, "Invalid CM/CN/CO values: %u/%u/%u\n",
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
232
dev_err(&phy->dev, "for hs_clk/ref_clk=%ld/%ld ~ %d/%d\n",
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
238
dev_dbg(&phy->dev, "hs_clk/ref_clk=%ld/%ld ~ %d/%d\n",
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
248
dev_dbg(&phy->dev, "LP clock %lu, period: %u ps\n",
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
253
dev_err(&phy->dev,
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
270
dev_err(&phy->dev,
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
311
dev_dbg(&phy->dev, "phy_config: %u %u %u %u %u %u %u\n",
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
320
static void mixel_phy_set_hs_timings(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
322
struct mixel_dphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
324
phy_write(phy, priv->cfg.m_prg_hs_prepare, DPHY_M_PRG_HS_PREPARE);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
325
phy_write(phy, priv->cfg.mc_prg_hs_prepare, DPHY_MC_PRG_HS_PREPARE);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
326
phy_write(phy, priv->cfg.m_prg_hs_zero, DPHY_M_PRG_HS_ZERO);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
327
phy_write(phy, priv->cfg.mc_prg_hs_zero, DPHY_MC_PRG_HS_ZERO);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
328
phy_write(phy, priv->cfg.m_prg_hs_trail, DPHY_M_PRG_HS_TRAIL);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
329
phy_write(phy, priv->cfg.mc_prg_hs_trail, DPHY_MC_PRG_HS_TRAIL);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
330
phy_write(phy, priv->cfg.rxhs_settle, priv->devdata->reg_rxhs_settle);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
333
static int mixel_dphy_set_pll_params(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
335
struct mixel_dphy_priv *priv = dev_get_drvdata(phy->dev.parent);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
340
dev_err(&phy->dev, "Invalid CM/CN/CO values! (%u/%u/%u)\n",
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
344
dev_dbg(&phy->dev, "Using CM:%u CN:%u CO:%u\n",
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
346
phy_write(phy, CM(priv->cfg.cm), DPHY_CM);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
347
phy_write(phy, CN(priv->cfg.cn), DPHY_CN);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
348
phy_write(phy, CO(priv->cfg.co), DPHY_CO);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
353
mixel_dphy_configure_mipi_dphy(struct phy *phy, union phy_configure_opts *opts)
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
355
struct mixel_dphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
359
ret = mixel_dphy_config_from_opts(phy, &opts->mipi_dphy, &cfg);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
366
phy_write(phy, 0x00, DPHY_LOCK_BYP);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
367
phy_write(phy, 0x01, priv->devdata->reg_tx_rcal);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
368
phy_write(phy, 0x00, priv->devdata->reg_auto_pd_en);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
369
phy_write(phy, 0x02, priv->devdata->reg_rxlprp);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
370
phy_write(phy, 0x02, priv->devdata->reg_rxcdrp);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
371
phy_write(phy, 0x25, DPHY_TST);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
373
mixel_phy_set_hs_timings(phy);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
374
ret = mixel_dphy_set_pll_params(phy);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
382
mixel_dphy_configure_lvds_phy(struct phy *phy, union phy_configure_opts *opts)
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
384
struct mixel_dphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
403
dev_err(&phy->dev, "Failed to configure MODE8: %d\n", ret);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
425
dev_err(&phy->dev, "VCO frequency %lu is out of range\n", fvco);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
433
phy_write(phy, __ffs(co), DPHY_CO);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
441
static int mixel_dphy_configure(struct phy *phy, union phy_configure_opts *opts)
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
444
dev_err(&phy->dev, "No configuration options\n");
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
448
if (phy->attrs.mode == PHY_MODE_MIPI_DPHY)
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
449
return mixel_dphy_configure_mipi_dphy(phy, opts);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
450
else if (phy->attrs.mode == PHY_MODE_LVDS)
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
451
return mixel_dphy_configure_lvds_phy(phy, opts);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
453
dev_err(&phy->dev,
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
454
"Failed to configure PHY with invalid PHY mode: %d\n", phy->attrs.mode);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
460
mixel_dphy_validate_lvds_phy(struct phy *phy, union phy_configure_opts *opts)
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
465
dev_err(&phy->dev, "Invalid bits per LVDS data lane: %u\n",
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
471
dev_err(&phy->dev, "Invalid LVDS data lanes: %u\n", lvds_cfg->lanes);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
477
dev_err(&phy->dev,
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
486
static int mixel_dphy_validate(struct phy *phy, enum phy_mode mode, int submode,
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
492
return mixel_dphy_config_from_opts(phy, &opts->mipi_dphy,
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
495
return mixel_dphy_validate_lvds_phy(phy, opts);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
498
dev_err(&phy->dev,
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
503
static int mixel_dphy_init(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
505
phy_write(phy, PWR_OFF, DPHY_PD_PLL);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
506
phy_write(phy, PWR_OFF, DPHY_PD_DPHY);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
511
static int mixel_dphy_exit(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
513
phy_write(phy, 0, DPHY_CM);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
514
phy_write(phy, 0, DPHY_CN);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
515
phy_write(phy, 0, DPHY_CO);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
520
static int mixel_dphy_power_on_mipi_dphy(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
522
struct mixel_dphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
526
phy_write(phy, PWR_ON, DPHY_PD_PLL);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
531
dev_err(&phy->dev, "Could not get DPHY lock (%d)!\n", ret);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
534
phy_write(phy, PWR_ON, DPHY_PD_DPHY);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
539
static int mixel_dphy_power_on_lvds_phy(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
541
struct mixel_dphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
547
phy_write(phy, PWR_ON, DPHY_PD_DPHY);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
548
phy_write(phy, PWR_ON, DPHY_PD_PLL);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
558
dev_err(&phy->dev, "Could not get LVDS PHY lock (%d)!\n", ret);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
565
static int mixel_dphy_power_on(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
567
struct mixel_dphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
574
if (phy->attrs.mode == PHY_MODE_MIPI_DPHY) {
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
575
ret = mixel_dphy_power_on_mipi_dphy(phy);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
576
} else if (phy->attrs.mode == PHY_MODE_LVDS) {
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
577
ret = mixel_dphy_power_on_lvds_phy(phy);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
579
dev_err(&phy->dev,
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
581
phy->attrs.mode);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
594
static int mixel_dphy_power_off(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
596
struct mixel_dphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
598
phy_write(phy, PWR_OFF, DPHY_PD_PLL);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
599
phy_write(phy, PWR_OFF, DPHY_PD_DPHY);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
601
if (phy->attrs.mode == PHY_MODE_LVDS)
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
609
static int mixel_dphy_set_mode(struct phy *phy, enum phy_mode mode, int submode)
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
611
struct mixel_dphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
615
dev_err(&phy->dev, "Failed to set PHY mode for combo PHY\n");
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
620
dev_err(&phy->dev, "Failed to set PHY mode to MIPI DPHY\n");
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
631
dev_err(&phy->dev,
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
666
struct phy *phy;
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
726
phy = devm_phy_create(dev, np, &mixel_dphy_phy_ops);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
727
if (IS_ERR(phy)) {
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
728
dev_err(dev, "Failed to create phy %ld\n", PTR_ERR(phy));
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
729
return PTR_ERR(phy);
drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c
731
phy_set_drvdata(phy, priv);
drivers/phy/freescale/phy-fsl-imx8m-pcie.c
160
static int imx8_pcie_phy_power_off(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8m-pcie.c
162
struct imx8_pcie_phy *imx8_phy = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8m-pcie.c
170
static int imx8_pcie_phy_init(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8m-pcie.c
172
struct imx8_pcie_phy *imx8_phy = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8m-pcie.c
177
static int imx8_pcie_phy_exit(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8m-pcie.c
179
struct imx8_pcie_phy *imx8_phy = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8m-pcie.c
270
imx8_phy->phy = devm_phy_create(dev, NULL, &imx8_pcie_phy_ops);
drivers/phy/freescale/phy-fsl-imx8m-pcie.c
271
if (IS_ERR(imx8_phy->phy))
drivers/phy/freescale/phy-fsl-imx8m-pcie.c
272
return PTR_ERR(imx8_phy->phy);
drivers/phy/freescale/phy-fsl-imx8m-pcie.c
274
phy_set_drvdata(imx8_phy->phy, imx8_phy);
drivers/phy/freescale/phy-fsl-imx8m-pcie.c
62
struct phy *phy;
drivers/phy/freescale/phy-fsl-imx8m-pcie.c
73
static int imx8_pcie_phy_power_on(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8m-pcie.c
77
struct imx8_pcie_phy *imx8_phy = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8mq-usb.c
115
struct phy *phy;
drivers/phy/freescale/phy-fsl-imx8mq-usb.c
418
struct device *dev = imx_phy->phy->dev.parent;
drivers/phy/freescale/phy-fsl-imx8mq-usb.c
545
static int imx8mq_usb_phy_init(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8mq-usb.c
547
struct imx8mq_usb_phy *imx_phy = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8mq-usb.c
571
static int imx8mp_usb_phy_init(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8mq-usb.c
573
struct imx8mq_usb_phy *imx_phy = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8mq-usb.c
618
static int imx8mq_phy_power_on(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8mq-usb.c
620
struct imx8mq_usb_phy *imx_phy = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8mq-usb.c
646
static int imx8mq_phy_power_off(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8mq-usb.c
648
struct imx8mq_usb_phy *imx_phy = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8mq-usb.c
720
imx_phy->phy = devm_phy_create(dev, NULL, phy_ops);
drivers/phy/freescale/phy-fsl-imx8mq-usb.c
721
if (IS_ERR(imx_phy->phy))
drivers/phy/freescale/phy-fsl-imx8mq-usb.c
722
return PTR_ERR(imx_phy->phy);
drivers/phy/freescale/phy-fsl-imx8mq-usb.c
728
phy_set_drvdata(imx_phy->phy, imx_phy);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
116
static int imx_hsio_init(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
119
struct imx_hsio_lane *lane = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
189
static int imx_hsio_exit(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
191
struct imx_hsio_lane *lane = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
198
static void imx_hsio_pcie_phy_resets(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
200
struct imx_hsio_lane *lane = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
217
regmap_set_bits(priv->phy, lane->phy_off + HSIO_CTRL0,
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
219
regmap_set_bits(priv->phy, lane->phy_off + HSIO_CTRL0,
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
222
regmap_set_bits(priv->phy, lane->phy_off + HSIO_CTRL0,
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
224
regmap_set_bits(priv->phy, lane->phy_off + HSIO_CTRL0,
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
229
static void imx_hsio_sata_phy_resets(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
231
struct imx_hsio_lane *lane = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
248
static void imx_hsio_configure_clk_pad(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
251
struct imx_hsio_lane *lane = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
271
static void imx_hsio_pre_set(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
273
struct imx_hsio_lane *lane = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
285
imx_hsio_configure_clk_pad(phy);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
288
static int imx_hsio_pcie_power_on(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
292
struct imx_hsio_lane *lane = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
295
imx_hsio_pcie_phy_resets(phy);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
317
static int imx_hsio_sata_power_on(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
321
struct imx_hsio_lane *lane = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
324
regmap_set_bits(priv->phy, lane->phy_off + HSIO_CTRL0, HSIO_APB_RSTN_0);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
330
imx_hsio_sata_phy_resets(phy);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
345
static int imx_hsio_power_on(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
349
struct imx_hsio_lane *lane = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
354
imx_hsio_pre_set(phy);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
359
ret = imx_hsio_pcie_power_on(phy);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
361
ret = imx_hsio_sata_power_on(phy);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
375
ret = regmap_read_poll_timeout(priv->phy, lane->phy_off + HSIO_PHY_STS0,
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
388
static int imx_hsio_power_off(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
390
struct imx_hsio_lane *lane = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
424
regmap_clear_bits(priv->phy,
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
427
regmap_clear_bits(priv->phy,
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
436
regmap_clear_bits(priv->phy,
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
439
regmap_clear_bits(priv->phy,
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
449
static int imx_hsio_set_mode(struct phy *phy, enum phy_mode mode,
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
453
struct imx_hsio_lane *lane = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
461
regmap_update_bits(priv->phy, lane->phy_off + HSIO_CTRL0,
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
481
static int imx_hsio_set_speed(struct phy *phy, int speed)
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
483
struct imx_hsio_lane *lane = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
517
static struct phy *imx_hsio_xlate(struct device *dev,
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
531
return priv->lane[idx].phy;
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
565
priv->phy = devm_regmap_init_mmio(dev, off, &regmap_config);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
566
if (IS_ERR(priv->phy))
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
567
return dev_err_probe(dev, PTR_ERR(priv->phy),
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
584
struct phy *phy;
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
586
phy = devm_phy_create(&pdev->dev, NULL, &imx_hsio_ops);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
587
if (IS_ERR(phy))
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
588
return PTR_ERR(phy);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
591
lane->phy = phy;
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
593
phy_set_drvdata(phy, lane);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
81
struct phy *phy;
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
92
struct regmap *phy;
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
133
dev_err(&phy->dev, "failed to get PHY lock: %d\n", ret);
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
141
static int mixel_lvds_phy_power_off(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
143
struct mixel_lvds_phy_priv *priv = dev_get_drvdata(phy->dev.parent);
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
144
struct mixel_lvds_phy *lvds_phy = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
166
static int mixel_lvds_phy_configure(struct phy *phy,
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
169
struct mixel_lvds_phy_priv *priv = dev_get_drvdata(phy->dev.parent);
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
175
dev_err(&phy->dev, "failed to set PHY reference clock rate(%lu): %d\n",
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
182
static int mixel_lvds_phy_check_slave(struct phy *slave_phy)
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
221
static int mixel_lvds_phy_validate(struct phy *phy, enum phy_mode mode,
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
224
struct mixel_lvds_phy_priv *priv = dev_get_drvdata(phy->dev.parent);
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
225
struct mixel_lvds_phy *lvds_phy = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
230
dev_err(&phy->dev, "invalid PHY mode(%d)\n", mode);
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
236
dev_err(&phy->dev, "invalid bits per data lane(%u)\n",
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
242
dev_err(&phy->dev, "invalid data lanes(%u)\n", cfg->lanes);
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
248
dev_err(&phy->dev, "invalid differential clock rate(%lu)\n",
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
258
ret = mixel_lvds_phy_check_slave(phy);
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
260
dev_err(&phy->dev, "failed to check slave PHY: %d\n", ret);
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
294
static struct phy *mixel_lvds_phy_xlate(struct device *dev,
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
314
return priv->phys[phy_id]->phy;
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
323
struct phy *phy;
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
363
phy = devm_phy_create(dev, NULL, &mixel_lvds_phy_ops);
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
364
if (IS_ERR(phy)) {
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
365
ret = PTR_ERR(phy);
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
371
lvds_phy->phy = phy;
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
375
phy_set_drvdata(phy, lvds_phy);
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
54
struct phy *phy;
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
66
static int mixel_lvds_phy_init(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
68
struct mixel_lvds_phy_priv *priv = dev_get_drvdata(phy->dev.parent);
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
78
static int mixel_lvds_phy_power_on(struct phy *phy)
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
80
struct mixel_lvds_phy_priv *priv = dev_get_drvdata(phy->dev.parent);
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
81
struct mixel_lvds_phy *lvds_phy = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c
94
dev_err(&phy->dev,
drivers/phy/freescale/phy-fsl-lynx-28g.c
1000
static int lynx_28g_init(struct phy *phy)
drivers/phy/freescale/phy-fsl-lynx-28g.c
1002
struct lynx_28g_lane *lane = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-lynx-28g.c
1012
lynx_28g_power_off(phy);
drivers/phy/freescale/phy-fsl-lynx-28g.c
1072
if (!lane->phy)
drivers/phy/freescale/phy-fsl-lynx-28g.c
1075
mutex_lock(&lane->phy->mutex);
drivers/phy/freescale/phy-fsl-lynx-28g.c
1078
mutex_unlock(&lane->phy->mutex);
drivers/phy/freescale/phy-fsl-lynx-28g.c
1091
mutex_unlock(&lane->phy->mutex);
drivers/phy/freescale/phy-fsl-lynx-28g.c
1119
static struct phy *lynx_28g_xlate(struct device *dev,
drivers/phy/freescale/phy-fsl-lynx-28g.c
1135
return priv->lane[idx].phy;
drivers/phy/freescale/phy-fsl-lynx-28g.c
1142
struct phy *phy;
drivers/phy/freescale/phy-fsl-lynx-28g.c
1144
phy = devm_phy_create(priv->dev, dn, &lynx_28g_ops);
drivers/phy/freescale/phy-fsl-lynx-28g.c
1145
if (IS_ERR(phy))
drivers/phy/freescale/phy-fsl-lynx-28g.c
1146
return PTR_ERR(phy);
drivers/phy/freescale/phy-fsl-lynx-28g.c
1149
lane->phy = phy;
drivers/phy/freescale/phy-fsl-lynx-28g.c
1151
phy_set_drvdata(phy, lane);
drivers/phy/freescale/phy-fsl-lynx-28g.c
429
struct phy *phy;
drivers/phy/freescale/phy-fsl-lynx-28g.c
603
static int lynx_28g_power_off(struct phy *phy)
drivers/phy/freescale/phy-fsl-lynx-28g.c
605
struct lynx_28g_lane *lane = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-lynx-28g.c
629
static int lynx_28g_power_on(struct phy *phy)
drivers/phy/freescale/phy-fsl-lynx-28g.c
631
struct lynx_28g_lane *lane = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-lynx-28g.c
725
dev_dbg(&lane->phy->dev, "PCCR@0x%x: 0x%x -> 0x%x\n",
drivers/phy/freescale/phy-fsl-lynx-28g.c
939
static int lynx_28g_set_mode(struct phy *phy, enum phy_mode mode, int submode)
drivers/phy/freescale/phy-fsl-lynx-28g.c
941
struct lynx_28g_lane *lane = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-lynx-28g.c
964
lynx_28g_power_off(phy);
drivers/phy/freescale/phy-fsl-lynx-28g.c
978
lynx_28g_power_on(phy);
drivers/phy/freescale/phy-fsl-lynx-28g.c
983
static int lynx_28g_validate(struct phy *phy, enum phy_mode mode, int submode,
drivers/phy/freescale/phy-fsl-lynx-28g.c
986
struct lynx_28g_lane *lane = phy_get_drvdata(phy);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
329
fsl_samsung_hdmi_phy_configure_pll_lock_det(struct fsl_samsung_hdmi_phy *phy,
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
347
writeb(FIELD_PREP(REG12_CK_DIV_MASK, div), phy->regs + PHY_REG(12));
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
365
phy->regs + PHY_REG(13));
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
369
phy->regs + PHY_REG(14));
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
453
static int fsl_samsung_hdmi_phy_configure(struct fsl_samsung_hdmi_phy *phy,
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
459
phy->cur_cfg = cfg;
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
462
writeb(REG33_FIX_DA, phy->regs + PHY_REG(33));
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
466
writeb(common_phy_cfg[i].val, phy->regs + common_phy_cfg[i].reg);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
470
writeb(cfg->pll_div_regs[i], phy->regs + PHY_REG(1) + i * 4);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
474
cfg->pll_div_regs[2] >> 4), phy->regs + PHY_REG(21));
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
476
ret = fsl_samsung_hdmi_phy_configure_pll_lock_det(phy, cfg);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
478
dev_err(phy->dev, "pixclock too large\n");
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
482
writeb(REG33_FIX_DA | REG33_MODE_SET_DONE, phy->regs + PHY_REG(33));
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
484
ret = readb_poll_timeout(phy->regs + PHY_REG(34), val,
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
487
dev_err(phy->dev, "PLL failed to lock\n");
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
495
struct fsl_samsung_hdmi_phy *phy = to_fsl_samsung_hdmi_phy(hw);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
497
if (!phy->cur_cfg)
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
500
return phy->cur_cfg->pixclk;
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
534
const struct phy_config *fsl_samsung_hdmi_phy_find_settings(struct fsl_samsung_hdmi_phy *phy,
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
549
dev_dbg(phy->dev, "fractional divider match = %u\n", fract_div_phy->pixclk);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
557
dev_dbg(phy->dev, "integer divider match = %u\n", calculated_phy_pll_cfg.pixclk);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
564
dev_dbg(phy->dev, "integer divider = %u\n", calculated_phy_pll_cfg.pixclk);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
568
dev_dbg(phy->dev, "fractional divider = %u\n", phy->cur_cfg->pixclk);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
576
struct fsl_samsung_hdmi_phy *phy = to_fsl_samsung_hdmi_phy(hw);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
577
const struct phy_config *target_settings = fsl_samsung_hdmi_phy_find_settings(phy,
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
583
dev_dbg(phy->dev, "round_rate, closest rate = %u\n", target_settings->pixclk);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
592
struct fsl_samsung_hdmi_phy *phy = to_fsl_samsung_hdmi_phy(hw);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
593
const struct phy_config *target_settings = fsl_samsung_hdmi_phy_find_settings(phy, rate);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
598
dev_dbg(phy->dev, "set_rate, closest rate = %u\n", target_settings->pixclk);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
600
return fsl_samsung_hdmi_phy_configure(phy, target_settings);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
609
static int phy_clk_register(struct fsl_samsung_hdmi_phy *phy)
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
611
struct device *dev = phy->dev;
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
618
parent_name = __clk_get_name(phy->refclk);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
626
phy->hw.init = &init;
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
628
phyclk = devm_clk_register(dev, &phy->hw);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
643
struct fsl_samsung_hdmi_phy *phy;
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
646
phy = devm_kzalloc(&pdev->dev, sizeof(*phy), GFP_KERNEL);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
647
if (!phy)
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
650
platform_set_drvdata(pdev, phy);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
651
phy->dev = &pdev->dev;
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
653
phy->regs = devm_platform_ioremap_resource(pdev, 0);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
654
if (IS_ERR(phy->regs))
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
655
return PTR_ERR(phy->regs);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
657
phy->apbclk = devm_clk_get_enabled(phy->dev, "apb");
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
658
if (IS_ERR(phy->apbclk))
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
659
return dev_err_probe(phy->dev, PTR_ERR(phy->apbclk),
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
662
phy->refclk = devm_clk_get(phy->dev, "ref");
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
663
if (IS_ERR(phy->refclk))
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
664
return dev_err_probe(phy->dev, PTR_ERR(phy->refclk),
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
667
pm_runtime_get_noresume(phy->dev);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
668
pm_runtime_set_active(phy->dev);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
669
pm_runtime_enable(phy->dev);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
671
ret = phy_clk_register(phy);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
677
pm_runtime_put(phy->dev);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
692
struct fsl_samsung_hdmi_phy *phy = dev_get_drvdata(dev);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
694
clk_disable_unprepare(phy->apbclk);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
701
struct fsl_samsung_hdmi_phy *phy = dev_get_drvdata(dev);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
704
ret = clk_prepare_enable(phy->apbclk);
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
706
dev_err(phy->dev, "failed to enable apbclk\n");
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
710
if (phy->cur_cfg)
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
711
ret = fsl_samsung_hdmi_phy_configure(phy, phy->cur_cfg);
drivers/phy/hisilicon/phy-hi3660-usb3.c
141
static int hi3660_phy_exit(struct phy *phy)
drivers/phy/hisilicon/phy-hi3660-usb3.c
143
struct hi3660_priv *priv = phy_get_drvdata(phy);
drivers/phy/hisilicon/phy-hi3660-usb3.c
175
struct phy *phy;
drivers/phy/hisilicon/phy-hi3660-usb3.c
208
phy = devm_phy_create(dev, NULL, &hi3660_phy_ops);
drivers/phy/hisilicon/phy-hi3660-usb3.c
209
if (IS_ERR(phy))
drivers/phy/hisilicon/phy-hi3660-usb3.c
210
return PTR_ERR(phy);
drivers/phy/hisilicon/phy-hi3660-usb3.c
212
phy_set_drvdata(phy, priv);
drivers/phy/hisilicon/phy-hi3660-usb3.c
66
static int hi3660_phy_init(struct phy *phy)
drivers/phy/hisilicon/phy-hi3660-usb3.c
68
struct hi3660_priv *priv = phy_get_drvdata(phy);
drivers/phy/hisilicon/phy-hi3670-pcie.c
173
static inline void hi3670_apb_phy_writel(struct hi3670_pcie_phy *phy, u32 val,
drivers/phy/hisilicon/phy-hi3670-pcie.c
176
writel(val, phy->base + APB_PHY_START_ADDR + reg);
drivers/phy/hisilicon/phy-hi3670-pcie.c
179
static inline u32 hi3670_apb_phy_readl(struct hi3670_pcie_phy *phy, u32 reg)
drivers/phy/hisilicon/phy-hi3670-pcie.c
181
return readl(phy->base + APB_PHY_START_ADDR + reg);
drivers/phy/hisilicon/phy-hi3670-pcie.c
184
static inline void hi3670_apb_phy_updatel(struct hi3670_pcie_phy *phy,
drivers/phy/hisilicon/phy-hi3670-pcie.c
189
regval = hi3670_apb_phy_readl(phy, reg);
drivers/phy/hisilicon/phy-hi3670-pcie.c
192
hi3670_apb_phy_writel(phy, regval, reg);
drivers/phy/hisilicon/phy-hi3670-pcie.c
195
static inline void kirin_apb_natural_phy_writel(struct hi3670_pcie_phy *phy,
drivers/phy/hisilicon/phy-hi3670-pcie.c
198
writel(val, phy->base + reg);
drivers/phy/hisilicon/phy-hi3670-pcie.c
201
static inline u32 kirin_apb_natural_phy_readl(struct hi3670_pcie_phy *phy,
drivers/phy/hisilicon/phy-hi3670-pcie.c
204
return readl(phy->base + reg);
drivers/phy/hisilicon/phy-hi3670-pcie.c
207
static void hi3670_pcie_phy_oe_enable(struct hi3670_pcie_phy *phy, bool enable)
drivers/phy/hisilicon/phy-hi3670-pcie.c
211
regmap_read(phy->sysctrl, SCTRL_PCIE_OE_OFFSET, &val);
drivers/phy/hisilicon/phy-hi3670-pcie.c
217
regmap_write(phy->sysctrl, SCTRL_PCIE_OE_OFFSET, val);
drivers/phy/hisilicon/phy-hi3670-pcie.c
220
static void hi3670_pcie_get_eyeparam(struct hi3670_pcie_phy *phy)
drivers/phy/hisilicon/phy-hi3670-pcie.c
222
struct device *dev = phy->dev;
drivers/phy/hisilicon/phy-hi3670-pcie.c
229
phy->eye_param, NUM_EYEPARAM);
drivers/phy/hisilicon/phy-hi3670-pcie.c
235
phy->eye_param[i] = EYEPARAM_NOCFG;
drivers/phy/hisilicon/phy-hi3670-pcie.c
238
static void hi3670_pcie_set_eyeparam(struct hi3670_pcie_phy *phy)
drivers/phy/hisilicon/phy-hi3670-pcie.c
242
val = kirin_apb_natural_phy_readl(phy, RAWLANEN_DIG_PCS_XF_TX_OVRD_IN_1);
drivers/phy/hisilicon/phy-hi3670-pcie.c
244
if (phy->eye_param[1] != EYEPARAM_NOCFG) {
drivers/phy/hisilicon/phy-hi3670-pcie.c
246
val |= FIELD_PREP(EYE_PARM1_MASK, phy->eye_param[1]);
drivers/phy/hisilicon/phy-hi3670-pcie.c
249
kirin_apb_natural_phy_writel(phy, val,
drivers/phy/hisilicon/phy-hi3670-pcie.c
252
val = kirin_apb_natural_phy_readl(phy, LANEN_DIG_ASIC_TX_OVRD_IN_2);
drivers/phy/hisilicon/phy-hi3670-pcie.c
254
if (phy->eye_param[2] != EYEPARAM_NOCFG) {
drivers/phy/hisilicon/phy-hi3670-pcie.c
255
val |= FIELD_PREP(EYE_PARM2_MASK, phy->eye_param[2]);
drivers/phy/hisilicon/phy-hi3670-pcie.c
259
if (phy->eye_param[3] != EYEPARAM_NOCFG) {
drivers/phy/hisilicon/phy-hi3670-pcie.c
260
val |= FIELD_PREP(EYE_PARM3_MASK, phy->eye_param[3]);
drivers/phy/hisilicon/phy-hi3670-pcie.c
264
kirin_apb_natural_phy_writel(phy, val, LANEN_DIG_ASIC_TX_OVRD_IN_2);
drivers/phy/hisilicon/phy-hi3670-pcie.c
266
val = kirin_apb_natural_phy_readl(phy, SUP_DIG_LVL_OVRD_IN);
drivers/phy/hisilicon/phy-hi3670-pcie.c
267
if (phy->eye_param[0] != EYEPARAM_NOCFG) {
drivers/phy/hisilicon/phy-hi3670-pcie.c
269
val |= FIELD_PREP(EYE_PARM0_MASK, phy->eye_param[0]);
drivers/phy/hisilicon/phy-hi3670-pcie.c
272
kirin_apb_natural_phy_writel(phy, val, SUP_DIG_LVL_OVRD_IN);
drivers/phy/hisilicon/phy-hi3670-pcie.c
274
val = kirin_apb_natural_phy_readl(phy, LANEN_DIG_ASIC_TX_OVRD_IN_1);
drivers/phy/hisilicon/phy-hi3670-pcie.c
275
if (phy->eye_param[4] != EYEPARAM_NOCFG) {
drivers/phy/hisilicon/phy-hi3670-pcie.c
277
val |= FIELD_PREP(EYE_PARM4_MASK, phy->eye_param[4]);
drivers/phy/hisilicon/phy-hi3670-pcie.c
280
kirin_apb_natural_phy_writel(phy, val, LANEN_DIG_ASIC_TX_OVRD_IN_1);
drivers/phy/hisilicon/phy-hi3670-pcie.c
283
static void hi3670_pcie_natural_cfg(struct hi3670_pcie_phy *phy)
drivers/phy/hisilicon/phy-hi3670-pcie.c
288
regmap_write(phy->apb, SOC_PCIECTRL_CTRL20_ADDR,
drivers/phy/hisilicon/phy-hi3670-pcie.c
291
regmap_read(phy->apb, SOC_PCIECTRL_CTRL7_ADDR, &val);
drivers/phy/hisilicon/phy-hi3670-pcie.c
293
regmap_write(phy->apb, SOC_PCIECTRL_CTRL7_ADDR, val);
drivers/phy/hisilicon/phy-hi3670-pcie.c
296
regmap_read(phy->apb, SOC_PCIECTRL_CTRL12_ADDR, &val);
drivers/phy/hisilicon/phy-hi3670-pcie.c
299
regmap_write(phy->apb, SOC_PCIECTRL_CTRL12_ADDR, val);
drivers/phy/hisilicon/phy-hi3670-pcie.c
302
hi3670_apb_phy_updatel(phy, PCIEPHY_RESET_BIT,
drivers/phy/hisilicon/phy-hi3670-pcie.c
307
hi3670_apb_phy_updatel(phy, PCIE_TXDETECT_RX_FAIL, PCIE_TXDETECT_RX_FAIL,
drivers/phy/hisilicon/phy-hi3670-pcie.c
311
static void hi3670_pcie_pll_init(struct hi3670_pcie_phy *phy)
drivers/phy/hisilicon/phy-hi3670-pcie.c
313
hi3670_apb_phy_updatel(phy, PCIE_PHY_CHOOSE_FNPLL, PCIE_PHY_CHOOSE_FNPLL,
drivers/phy/hisilicon/phy-hi3670-pcie.c
316
hi3670_apb_phy_updatel(phy,
drivers/phy/hisilicon/phy-hi3670-pcie.c
321
hi3670_apb_phy_updatel(phy,
drivers/phy/hisilicon/phy-hi3670-pcie.c
325
hi3670_apb_phy_updatel(phy,
drivers/phy/hisilicon/phy-hi3670-pcie.c
335
hi3670_apb_phy_writel(phy, PCIE_PHY_MMC1PLL,
drivers/phy/hisilicon/phy-hi3670-pcie.c
339
static int hi3670_pcie_pll_ctrl(struct hi3670_pcie_phy *phy, bool enable)
drivers/phy/hisilicon/phy-hi3670-pcie.c
341
struct device *dev = phy->dev;
drivers/phy/hisilicon/phy-hi3670-pcie.c
347
hi3670_apb_phy_updatel(phy, 0, PCIE_PHY_MMC1PLL_DISABLE,
drivers/phy/hisilicon/phy-hi3670-pcie.c
351
val = hi3670_apb_phy_readl(phy, SOC_PCIEPHY_MMC1PLL_STAT0);
drivers/phy/hisilicon/phy-hi3670-pcie.c
359
val = hi3670_apb_phy_readl(phy, SOC_PCIEPHY_MMC1PLL_STAT0);
drivers/phy/hisilicon/phy-hi3670-pcie.c
362
hi3670_apb_phy_updatel(phy, 0, PCIE_PHY_PCIEPL_BP,
drivers/phy/hisilicon/phy-hi3670-pcie.c
366
hi3670_apb_phy_updatel(phy,
drivers/phy/hisilicon/phy-hi3670-pcie.c
371
hi3670_apb_phy_updatel(phy, PCIE_PHY_PCIEPL_BP,
drivers/phy/hisilicon/phy-hi3670-pcie.c
379
static void hi3670_pcie_hp_debounce_gt(struct hi3670_pcie_phy *phy, bool open)
drivers/phy/hisilicon/phy-hi3670-pcie.c
383
regmap_write(phy->crgctrl, CRGPERIPH_PEREN12,
drivers/phy/hisilicon/phy-hi3670-pcie.c
387
regmap_write(phy->crgctrl, CRGPERIPH_PERDIS12,
drivers/phy/hisilicon/phy-hi3670-pcie.c
391
static void hi3670_pcie_phyref_gt(struct hi3670_pcie_phy *phy, bool open)
drivers/phy/hisilicon/phy-hi3670-pcie.c
395
regmap_read(phy->crgctrl, CRGPERIPH_PCIECTRL0, &val);
drivers/phy/hisilicon/phy-hi3670-pcie.c
402
regmap_write(phy->crgctrl, CRGPERIPH_PCIECTRL0, val);
drivers/phy/hisilicon/phy-hi3670-pcie.c
405
regmap_write(phy->crgctrl, CRGPERIPH_PERDIS12, IO_PHYREF_SOFT_GT_MODE);
drivers/phy/hisilicon/phy-hi3670-pcie.c
408
static void hi3670_pcie_oe_ctrl(struct hi3670_pcie_phy *phy, bool en_flag)
drivers/phy/hisilicon/phy-hi3670-pcie.c
412
regmap_read(phy->crgctrl, CRGPERIPH_PCIECTRL0, &val);
drivers/phy/hisilicon/phy-hi3670-pcie.c
431
regmap_write(phy->crgctrl, CRGPERIPH_PCIECTRL0, val);
drivers/phy/hisilicon/phy-hi3670-pcie.c
434
static void hi3670_pcie_ioref_gt(struct hi3670_pcie_phy *phy, bool open)
drivers/phy/hisilicon/phy-hi3670-pcie.c
439
regmap_write(phy->apb, SOC_PCIECTRL_CTRL21_ADDR,
drivers/phy/hisilicon/phy-hi3670-pcie.c
442
hi3670_pcie_oe_ctrl(phy, true);
drivers/phy/hisilicon/phy-hi3670-pcie.c
445
regmap_read(phy->crgctrl, CRGPERIPH_PCIECTRL0, &val);
drivers/phy/hisilicon/phy-hi3670-pcie.c
447
regmap_write(phy->crgctrl, CRGPERIPH_PCIECTRL0, val);
drivers/phy/hisilicon/phy-hi3670-pcie.c
450
regmap_write(phy->crgctrl, CRGPERIPH_PERDIS12,
drivers/phy/hisilicon/phy-hi3670-pcie.c
455
regmap_read(phy->crgctrl, CRGPERIPH_PCIECTRL0, &val);
drivers/phy/hisilicon/phy-hi3670-pcie.c
457
regmap_write(phy->crgctrl, CRGPERIPH_PCIECTRL0, val);
drivers/phy/hisilicon/phy-hi3670-pcie.c
460
regmap_write(phy->crgctrl, CRGPERIPH_PERDIS12,
drivers/phy/hisilicon/phy-hi3670-pcie.c
463
hi3670_pcie_oe_ctrl(phy, false);
drivers/phy/hisilicon/phy-hi3670-pcie.c
467
static int hi3670_pcie_allclk_ctrl(struct hi3670_pcie_phy *phy, bool clk_on)
drivers/phy/hisilicon/phy-hi3670-pcie.c
469
struct device *dev = phy->dev;
drivers/phy/hisilicon/phy-hi3670-pcie.c
476
hi3670_apb_phy_updatel(phy, 0, PCIE_CLK_SOURCE,
drivers/phy/hisilicon/phy-hi3670-pcie.c
479
hi3670_pcie_pll_init(phy);
drivers/phy/hisilicon/phy-hi3670-pcie.c
481
ret = hi3670_pcie_pll_ctrl(phy, true);
drivers/phy/hisilicon/phy-hi3670-pcie.c
486
hi3670_pcie_hp_debounce_gt(phy, true);
drivers/phy/hisilicon/phy-hi3670-pcie.c
487
hi3670_pcie_phyref_gt(phy, true);
drivers/phy/hisilicon/phy-hi3670-pcie.c
488
hi3670_pcie_ioref_gt(phy, true);
drivers/phy/hisilicon/phy-hi3670-pcie.c
490
ret = clk_set_rate(phy->aclk, AXI_CLK_FREQ);
drivers/phy/hisilicon/phy-hi3670-pcie.c
499
hi3670_pcie_ioref_gt(phy, false);
drivers/phy/hisilicon/phy-hi3670-pcie.c
500
hi3670_pcie_phyref_gt(phy, false);
drivers/phy/hisilicon/phy-hi3670-pcie.c
501
hi3670_pcie_hp_debounce_gt(phy, false);
drivers/phy/hisilicon/phy-hi3670-pcie.c
503
hi3670_pcie_pll_ctrl(phy, false);
drivers/phy/hisilicon/phy-hi3670-pcie.c
508
static bool is_pipe_clk_stable(struct hi3670_pcie_phy *phy)
drivers/phy/hisilicon/phy-hi3670-pcie.c
510
struct device *dev = phy->dev;
drivers/phy/hisilicon/phy-hi3670-pcie.c
515
val = hi3670_apb_phy_readl(phy, SOC_PCIEPHY_STATE0_ADDR);
drivers/phy/hisilicon/phy-hi3670-pcie.c
523
val = hi3670_apb_phy_readl(phy, SOC_PCIEPHY_STATE0_ADDR);
drivers/phy/hisilicon/phy-hi3670-pcie.c
529
static int hi3670_pcie_noc_power(struct hi3670_pcie_phy *phy, bool enable)
drivers/phy/hisilicon/phy-hi3670-pcie.c
531
struct device *dev = phy->dev;
drivers/phy/hisilicon/phy-hi3670-pcie.c
542
regmap_write(phy->pmctrl, NOC_POWER_IDLEREQ_1, val);
drivers/phy/hisilicon/phy-hi3670-pcie.c
545
regmap_read(phy->pmctrl, NOC_POWER_IDLE_1, &val);
drivers/phy/hisilicon/phy-hi3670-pcie.c
553
regmap_read(phy->pmctrl, NOC_POWER_IDLE_1, &val);
drivers/phy/hisilicon/phy-hi3670-pcie.c
559
static int hi3670_pcie_get_resources_from_pcie(struct hi3670_pcie_phy *phy)
drivers/phy/hisilicon/phy-hi3670-pcie.c
562
struct device *dev = phy->dev;
drivers/phy/hisilicon/phy-hi3670-pcie.c
586
phy->apb = dev_get_regmap(pcie_dev, "kirin_pcie_apb");
drivers/phy/hisilicon/phy-hi3670-pcie.c
587
if (!phy->apb) {
drivers/phy/hisilicon/phy-hi3670-pcie.c
595
static int kirin_pcie_clk_ctrl(struct hi3670_pcie_phy *phy, bool enable)
drivers/phy/hisilicon/phy-hi3670-pcie.c
602
ret = clk_set_rate(phy->phy_ref_clk, REF_CLK_FREQ);
drivers/phy/hisilicon/phy-hi3670-pcie.c
606
ret = clk_prepare_enable(phy->phy_ref_clk);
drivers/phy/hisilicon/phy-hi3670-pcie.c
610
ret = clk_prepare_enable(phy->apb_sys_clk);
drivers/phy/hisilicon/phy-hi3670-pcie.c
614
ret = clk_prepare_enable(phy->apb_phy_clk);
drivers/phy/hisilicon/phy-hi3670-pcie.c
618
ret = clk_prepare_enable(phy->aclk);
drivers/phy/hisilicon/phy-hi3670-pcie.c
622
ret = clk_prepare_enable(phy->aux_clk);
drivers/phy/hisilicon/phy-hi3670-pcie.c
629
clk_disable_unprepare(phy->aux_clk);
drivers/phy/hisilicon/phy-hi3670-pcie.c
631
clk_disable_unprepare(phy->aclk);
drivers/phy/hisilicon/phy-hi3670-pcie.c
633
clk_disable_unprepare(phy->apb_phy_clk);
drivers/phy/hisilicon/phy-hi3670-pcie.c
635
clk_disable_unprepare(phy->apb_sys_clk);
drivers/phy/hisilicon/phy-hi3670-pcie.c
637
clk_disable_unprepare(phy->phy_ref_clk);
drivers/phy/hisilicon/phy-hi3670-pcie.c
642
static int hi3670_pcie_phy_init(struct phy *generic_phy)
drivers/phy/hisilicon/phy-hi3670-pcie.c
644
struct hi3670_pcie_phy *phy = phy_get_drvdata(generic_phy);
drivers/phy/hisilicon/phy-hi3670-pcie.c
658
ret = hi3670_pcie_get_resources_from_pcie(phy);
drivers/phy/hisilicon/phy-hi3670-pcie.c
665
static int hi3670_pcie_phy_power_on(struct phy *generic_phy)
drivers/phy/hisilicon/phy-hi3670-pcie.c
667
struct hi3670_pcie_phy *phy = phy_get_drvdata(generic_phy);
drivers/phy/hisilicon/phy-hi3670-pcie.c
671
regmap_write(phy->sysctrl, SCTRL_PCIE_CMOS_OFFSET, SCTRL_PCIE_CMOS_BIT);
drivers/phy/hisilicon/phy-hi3670-pcie.c
674
hi3670_pcie_phy_oe_enable(phy, true);
drivers/phy/hisilicon/phy-hi3670-pcie.c
676
ret = kirin_pcie_clk_ctrl(phy, true);
drivers/phy/hisilicon/phy-hi3670-pcie.c
681
regmap_write(phy->sysctrl, SCTRL_PCIE_ISO_OFFSET, SCTRL_PCIE_ISO_BIT);
drivers/phy/hisilicon/phy-hi3670-pcie.c
682
regmap_write(phy->crgctrl, CRGCTRL_PCIE_ASSERT_OFFSET,
drivers/phy/hisilicon/phy-hi3670-pcie.c
684
regmap_write(phy->sysctrl, SCTRL_PCIE_HPCLK_OFFSET,
drivers/phy/hisilicon/phy-hi3670-pcie.c
687
hi3670_pcie_natural_cfg(phy);
drivers/phy/hisilicon/phy-hi3670-pcie.c
689
ret = hi3670_pcie_allclk_ctrl(phy, true);
drivers/phy/hisilicon/phy-hi3670-pcie.c
694
hi3670_apb_phy_updatel(phy, 0, PCIE_PULL_DOWN_PHY_TEST_POWERDOWN,
drivers/phy/hisilicon/phy-hi3670-pcie.c
698
regmap_read(phy->apb, SOC_PCIECTRL_CTRL12_ADDR, &val);
drivers/phy/hisilicon/phy-hi3670-pcie.c
700
regmap_write(phy->apb, SOC_PCIECTRL_CTRL12_ADDR, val);
drivers/phy/hisilicon/phy-hi3670-pcie.c
703
ret = is_pipe_clk_stable(phy);
drivers/phy/hisilicon/phy-hi3670-pcie.c
707
hi3670_pcie_set_eyeparam(phy);
drivers/phy/hisilicon/phy-hi3670-pcie.c
709
ret = hi3670_pcie_noc_power(phy, false);
drivers/phy/hisilicon/phy-hi3670-pcie.c
716
kirin_pcie_clk_ctrl(phy, false);
drivers/phy/hisilicon/phy-hi3670-pcie.c
720
static int hi3670_pcie_phy_power_off(struct phy *generic_phy)
drivers/phy/hisilicon/phy-hi3670-pcie.c
722
struct hi3670_pcie_phy *phy = phy_get_drvdata(generic_phy);
drivers/phy/hisilicon/phy-hi3670-pcie.c
724
hi3670_pcie_phy_oe_enable(phy, false);
drivers/phy/hisilicon/phy-hi3670-pcie.c
726
hi3670_pcie_allclk_ctrl(phy, false);
drivers/phy/hisilicon/phy-hi3670-pcie.c
729
regmap_write(phy->sysctrl, SCTRL_PCIE_CMOS_OFFSET, 0);
drivers/phy/hisilicon/phy-hi3670-pcie.c
750
static int hi3670_pcie_phy_get_resources(struct hi3670_pcie_phy *phy,
drivers/phy/hisilicon/phy-hi3670-pcie.c
756
phy->crgctrl = syscon_regmap_lookup_by_compatible("hisilicon,hi3670-crgctrl");
drivers/phy/hisilicon/phy-hi3670-pcie.c
757
if (IS_ERR(phy->crgctrl))
drivers/phy/hisilicon/phy-hi3670-pcie.c
758
return PTR_ERR(phy->crgctrl);
drivers/phy/hisilicon/phy-hi3670-pcie.c
760
phy->sysctrl = syscon_regmap_lookup_by_compatible("hisilicon,hi3670-sctrl");
drivers/phy/hisilicon/phy-hi3670-pcie.c
761
if (IS_ERR(phy->sysctrl))
drivers/phy/hisilicon/phy-hi3670-pcie.c
762
return PTR_ERR(phy->sysctrl);
drivers/phy/hisilicon/phy-hi3670-pcie.c
764
phy->pmctrl = syscon_regmap_lookup_by_compatible("hisilicon,hi3670-pmctrl");
drivers/phy/hisilicon/phy-hi3670-pcie.c
765
if (IS_ERR(phy->pmctrl))
drivers/phy/hisilicon/phy-hi3670-pcie.c
766
return PTR_ERR(phy->pmctrl);
drivers/phy/hisilicon/phy-hi3670-pcie.c
769
phy->phy_ref_clk = devm_clk_get(dev, "phy_ref");
drivers/phy/hisilicon/phy-hi3670-pcie.c
770
if (IS_ERR(phy->phy_ref_clk))
drivers/phy/hisilicon/phy-hi3670-pcie.c
771
return PTR_ERR(phy->phy_ref_clk);
drivers/phy/hisilicon/phy-hi3670-pcie.c
773
phy->aux_clk = devm_clk_get(dev, "aux");
drivers/phy/hisilicon/phy-hi3670-pcie.c
774
if (IS_ERR(phy->aux_clk))
drivers/phy/hisilicon/phy-hi3670-pcie.c
775
return PTR_ERR(phy->aux_clk);
drivers/phy/hisilicon/phy-hi3670-pcie.c
777
phy->apb_phy_clk = devm_clk_get(dev, "apb_phy");
drivers/phy/hisilicon/phy-hi3670-pcie.c
778
if (IS_ERR(phy->apb_phy_clk))
drivers/phy/hisilicon/phy-hi3670-pcie.c
779
return PTR_ERR(phy->apb_phy_clk);
drivers/phy/hisilicon/phy-hi3670-pcie.c
781
phy->apb_sys_clk = devm_clk_get(dev, "apb_sys");
drivers/phy/hisilicon/phy-hi3670-pcie.c
782
if (IS_ERR(phy->apb_sys_clk))
drivers/phy/hisilicon/phy-hi3670-pcie.c
783
return PTR_ERR(phy->apb_sys_clk);
drivers/phy/hisilicon/phy-hi3670-pcie.c
785
phy->aclk = devm_clk_get(dev, "aclk");
drivers/phy/hisilicon/phy-hi3670-pcie.c
786
if (IS_ERR(phy->aclk))
drivers/phy/hisilicon/phy-hi3670-pcie.c
787
return PTR_ERR(phy->aclk);
drivers/phy/hisilicon/phy-hi3670-pcie.c
790
phy->base = devm_platform_ioremap_resource(pdev, 0);
drivers/phy/hisilicon/phy-hi3670-pcie.c
791
if (IS_ERR(phy->base))
drivers/phy/hisilicon/phy-hi3670-pcie.c
792
return PTR_ERR(phy->base);
drivers/phy/hisilicon/phy-hi3670-pcie.c
794
hi3670_pcie_get_eyeparam(phy);
drivers/phy/hisilicon/phy-hi3670-pcie.c
803
struct hi3670_pcie_phy *phy;
drivers/phy/hisilicon/phy-hi3670-pcie.c
804
struct phy *generic_phy;
drivers/phy/hisilicon/phy-hi3670-pcie.c
807
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
drivers/phy/hisilicon/phy-hi3670-pcie.c
808
if (!phy)
drivers/phy/hisilicon/phy-hi3670-pcie.c
811
phy->dev = dev;
drivers/phy/hisilicon/phy-hi3670-pcie.c
813
ret = hi3670_pcie_phy_get_resources(phy, pdev);
drivers/phy/hisilicon/phy-hi3670-pcie.c
823
phy_set_drvdata(generic_phy, phy);
drivers/phy/hisilicon/phy-hi3670-usb3.c
466
static int hi3670_phy_init(struct phy *phy)
drivers/phy/hisilicon/phy-hi3670-usb3.c
468
struct hi3670_priv *priv = phy_get_drvdata(phy);
drivers/phy/hisilicon/phy-hi3670-usb3.c
553
static int hi3670_phy_exit(struct phy *phy)
drivers/phy/hisilicon/phy-hi3670-usb3.c
555
struct hi3670_priv *priv = phy_get_drvdata(phy);
drivers/phy/hisilicon/phy-hi3670-usb3.c
592
struct phy *phy;
drivers/phy/hisilicon/phy-hi3670-usb3.c
636
phy = devm_phy_create(dev, NULL, &hi3670_phy_ops);
drivers/phy/hisilicon/phy-hi3670-usb3.c
637
if (IS_ERR(phy))
drivers/phy/hisilicon/phy-hi3670-usb3.c
638
return PTR_ERR(phy);
drivers/phy/hisilicon/phy-hi3670-usb3.c
640
phy_set_drvdata(phy, priv);
drivers/phy/hisilicon/phy-hi6220-usb.c
100
struct hi6220_priv *priv = phy_get_drvdata(phy);
drivers/phy/hisilicon/phy-hi6220-usb.c
105
static int hi6220_phy_exit(struct phy *phy)
drivers/phy/hisilicon/phy-hi6220-usb.c
107
struct hi6220_priv *priv = phy_get_drvdata(phy);
drivers/phy/hisilicon/phy-hi6220-usb.c
122
struct phy *phy;
drivers/phy/hisilicon/phy-hi6220-usb.c
139
phy = devm_phy_create(dev, NULL, &hi6220_phy_ops);
drivers/phy/hisilicon/phy-hi6220-usb.c
140
if (IS_ERR(phy))
drivers/phy/hisilicon/phy-hi6220-usb.c
141
return PTR_ERR(phy);
drivers/phy/hisilicon/phy-hi6220-usb.c
143
phy_set_drvdata(phy, priv);
drivers/phy/hisilicon/phy-hi6220-usb.c
98
static int hi6220_phy_start(struct phy *phy)
drivers/phy/hisilicon/phy-hisi-inno-usb2.c
117
static int hisi_inno_phy_exit(struct phy *phy)
drivers/phy/hisilicon/phy-hisi-inno-usb2.c
119
struct hisi_inno_phy_port *port = phy_get_drvdata(phy);
drivers/phy/hisilicon/phy-hisi-inno-usb2.c
166
struct phy *phy;
drivers/phy/hisilicon/phy-hisi-inno-usb2.c
175
phy = devm_phy_create(dev, child, &hisi_inno_phy_ops);
drivers/phy/hisilicon/phy-hisi-inno-usb2.c
176
if (IS_ERR(phy))
drivers/phy/hisilicon/phy-hisi-inno-usb2.c
177
return PTR_ERR(phy);
drivers/phy/hisilicon/phy-hisi-inno-usb2.c
179
phy_set_bus_width(phy, 8);
drivers/phy/hisilicon/phy-hisi-inno-usb2.c
180
phy_set_drvdata(phy, &priv->ports[i]);
drivers/phy/hisilicon/phy-hisi-inno-usb2.c
94
static int hisi_inno_phy_init(struct phy *phy)
drivers/phy/hisilicon/phy-hisi-inno-usb2.c
96
struct hisi_inno_phy_port *port = phy_get_drvdata(phy);
drivers/phy/hisilicon/phy-histb-combphy.c
106
static int histb_combphy_init(struct phy *phy)
drivers/phy/hisilicon/phy-histb-combphy.c
108
struct histb_combphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/hisilicon/phy-histb-combphy.c
143
static int histb_combphy_exit(struct phy *phy)
drivers/phy/hisilicon/phy-histb-combphy.c
145
struct histb_combphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/hisilicon/phy-histb-combphy.c
165
static struct phy *histb_combphy_xlate(struct device *dev,
drivers/phy/hisilicon/phy-histb-combphy.c
189
return priv->phy;
drivers/phy/hisilicon/phy-histb-combphy.c
256
priv->phy = devm_phy_create(dev, NULL, &histb_combphy_ops);
drivers/phy/hisilicon/phy-histb-combphy.c
257
if (IS_ERR(priv->phy)) {
drivers/phy/hisilicon/phy-histb-combphy.c
259
return PTR_ERR(priv->phy);
drivers/phy/hisilicon/phy-histb-combphy.c
263
phy_set_drvdata(priv->phy, priv);
drivers/phy/hisilicon/phy-histb-combphy.c
49
struct phy *phy;
drivers/phy/hisilicon/phy-hix5hd2-sata.c
139
struct phy *phy;
drivers/phy/hisilicon/phy-hix5hd2-sata.c
159
phy = devm_phy_create(dev, NULL, &hix5hd2_sata_phy_ops);
drivers/phy/hisilicon/phy-hix5hd2-sata.c
160
if (IS_ERR(phy)) {
drivers/phy/hisilicon/phy-hix5hd2-sata.c
162
return PTR_ERR(phy);
drivers/phy/hisilicon/phy-hix5hd2-sata.c
165
phy_set_drvdata(phy, priv);
drivers/phy/hisilicon/phy-hix5hd2-sata.c
62
static int hix5hd2_sata_phy_init(struct phy *phy)
drivers/phy/hisilicon/phy-hix5hd2-sata.c
64
struct hix5hd2_priv *priv = phy_get_drvdata(phy);
drivers/phy/hisilicon/phy-hix5hd2-sata.c
69
ret = of_property_read_u32_array(phy->dev.of_node,
drivers/phy/hisilicon/phy-hix5hd2-sata.c
73
dev_err(&phy->dev, "Fail read hisilicon,power-reg\n");
drivers/phy/ingenic/phy-ingenic-usb.c
101
struct ingenic_usb_phy *priv = phy_get_drvdata(phy);
drivers/phy/ingenic/phy-ingenic-usb.c
107
dev_err(&phy->dev, "Unable to start clock: %d\n", err);
drivers/phy/ingenic/phy-ingenic-usb.c
111
priv->soc_info->usb_phy_init(phy);
drivers/phy/ingenic/phy-ingenic-usb.c
122
static int ingenic_usb_phy_exit(struct phy *phy)
drivers/phy/ingenic/phy-ingenic-usb.c
124
struct ingenic_usb_phy *priv = phy_get_drvdata(phy);
drivers/phy/ingenic/phy-ingenic-usb.c
132
static int ingenic_usb_phy_power_on(struct phy *phy)
drivers/phy/ingenic/phy-ingenic-usb.c
134
struct ingenic_usb_phy *priv = phy_get_drvdata(phy);
drivers/phy/ingenic/phy-ingenic-usb.c
139
dev_err(&phy->dev, "Unable to enable VCC: %d\n", err);
drivers/phy/ingenic/phy-ingenic-usb.c
146
static int ingenic_usb_phy_power_off(struct phy *phy)
drivers/phy/ingenic/phy-ingenic-usb.c
148
struct ingenic_usb_phy *priv = phy_get_drvdata(phy);
drivers/phy/ingenic/phy-ingenic-usb.c
155
static int ingenic_usb_phy_set_mode(struct phy *phy,
drivers/phy/ingenic/phy-ingenic-usb.c
158
struct ingenic_usb_phy *priv = phy_get_drvdata(phy);
drivers/phy/ingenic/phy-ingenic-usb.c
205
static void jz4770_usb_phy_init(struct phy *phy)
drivers/phy/ingenic/phy-ingenic-usb.c
207
struct ingenic_usb_phy *priv = phy_get_drvdata(phy);
drivers/phy/ingenic/phy-ingenic-usb.c
221
static void jz4775_usb_phy_init(struct phy *phy)
drivers/phy/ingenic/phy-ingenic-usb.c
223
struct ingenic_usb_phy *priv = phy_get_drvdata(phy);
drivers/phy/ingenic/phy-ingenic-usb.c
235
static void jz4780_usb_phy_init(struct phy *phy)
drivers/phy/ingenic/phy-ingenic-usb.c
237
struct ingenic_usb_phy *priv = phy_get_drvdata(phy);
drivers/phy/ingenic/phy-ingenic-usb.c
248
static void x1000_usb_phy_init(struct phy *phy)
drivers/phy/ingenic/phy-ingenic-usb.c
250
struct ingenic_usb_phy *priv = phy_get_drvdata(phy);
drivers/phy/ingenic/phy-ingenic-usb.c
263
static void x1830_usb_phy_init(struct phy *phy)
drivers/phy/ingenic/phy-ingenic-usb.c
265
struct ingenic_usb_phy *priv = phy_get_drvdata(phy);
drivers/phy/ingenic/phy-ingenic-usb.c
280
static void x2000_usb_phy_init(struct phy *phy)
drivers/phy/ingenic/phy-ingenic-usb.c
282
struct ingenic_usb_phy *priv = phy_get_drvdata(phy);
drivers/phy/ingenic/phy-ingenic-usb.c
351
priv->phy = devm_phy_create(dev, NULL, &ingenic_usb_phy_ops);
drivers/phy/ingenic/phy-ingenic-usb.c
352
if (IS_ERR(priv->phy))
drivers/phy/ingenic/phy-ingenic-usb.c
353
return PTR_ERR(priv->phy);
drivers/phy/ingenic/phy-ingenic-usb.c
355
phy_set_drvdata(priv->phy, priv);
drivers/phy/ingenic/phy-ingenic-usb.c
87
void (*usb_phy_init)(struct phy *phy);
drivers/phy/ingenic/phy-ingenic-usb.c
93
struct phy *phy;
drivers/phy/ingenic/phy-ingenic-usb.c
99
static int ingenic_usb_phy_init(struct phy *phy)
drivers/phy/intel/phy-intel-keembay-emmc.c
100
dev_warn(&phy->dev, "Unsupported rate: %d MHz\n", mhz);
drivers/phy/intel/phy-intel-keembay-emmc.c
112
dev_err(&phy->dev, "CALIO power down bar failed: %d\n", ret);
drivers/phy/intel/phy-intel-keembay-emmc.c
127
dev_err(&phy->dev, "caldone failed, ret=%d\n", ret);
drivers/phy/intel/phy-intel-keembay-emmc.c
135
dev_err(&phy->dev, "set the frequency of dll failed:%d\n", ret);
drivers/phy/intel/phy-intel-keembay-emmc.c
143
dev_err(&phy->dev, "turn on the dll failed: %d\n", ret);
drivers/phy/intel/phy-intel-keembay-emmc.c
177
dev_err(&phy->dev, "dllrdy failed, ret=%d\n", ret);
drivers/phy/intel/phy-intel-keembay-emmc.c
182
static int keembay_emmc_phy_init(struct phy *phy)
drivers/phy/intel/phy-intel-keembay-emmc.c
184
struct keembay_emmc_phy *priv = phy_get_drvdata(phy);
drivers/phy/intel/phy-intel-keembay-emmc.c
198
priv->emmcclk = clk_get_optional(&phy->dev, "emmcclk");
drivers/phy/intel/phy-intel-keembay-emmc.c
203
static int keembay_emmc_phy_exit(struct phy *phy)
drivers/phy/intel/phy-intel-keembay-emmc.c
205
struct keembay_emmc_phy *priv = phy_get_drvdata(phy);
drivers/phy/intel/phy-intel-keembay-emmc.c
212
static int keembay_emmc_phy_power_on(struct phy *phy)
drivers/phy/intel/phy-intel-keembay-emmc.c
214
struct keembay_emmc_phy *priv = phy_get_drvdata(phy);
drivers/phy/intel/phy-intel-keembay-emmc.c
221
dev_err(&phy->dev, "ERROR: delay chain txclk set: %d\n", ret);
drivers/phy/intel/phy-intel-keembay-emmc.c
229
dev_err(&phy->dev, "ERROR: output tap delay set: %d\n", ret);
drivers/phy/intel/phy-intel-keembay-emmc.c
237
dev_err(&phy->dev, "ERROR: output tap delay select: %d\n", ret);
drivers/phy/intel/phy-intel-keembay-emmc.c
242
return keembay_emmc_phy_power(phy, true);
drivers/phy/intel/phy-intel-keembay-emmc.c
245
static int keembay_emmc_phy_power_off(struct phy *phy)
drivers/phy/intel/phy-intel-keembay-emmc.c
248
return keembay_emmc_phy_power(phy, false);
drivers/phy/intel/phy-intel-keembay-emmc.c
264
struct phy *generic_phy;
drivers/phy/intel/phy-intel-keembay-emmc.c
53
static int keembay_emmc_phy_power(struct phy *phy, bool on_off)
drivers/phy/intel/phy-intel-keembay-emmc.c
55
struct keembay_emmc_phy *priv = phy_get_drvdata(phy);
drivers/phy/intel/phy-intel-keembay-emmc.c
69
dev_err(&phy->dev, "CALIO power down bar failed: %d\n", ret);
drivers/phy/intel/phy-intel-keembay-emmc.c
76
dev_err(&phy->dev, "turn off the dll failed: %d\n", ret);
drivers/phy/intel/phy-intel-keembay-usb.c
150
static int keembay_usb_phy_init(struct phy *phy)
drivers/phy/intel/phy-intel-keembay-usb.c
152
struct keembay_usb_phy *priv = phy_get_drvdata(phy);
drivers/phy/intel/phy-intel-keembay-usb.c
237
struct phy *generic_phy;
drivers/phy/intel/phy-intel-lgm-combo.c
329
static int intel_cbphy_init(struct phy *phy)
drivers/phy/intel/phy-intel-lgm-combo.c
331
struct intel_cbphy_iphy *iphy = phy_get_drvdata(phy);
drivers/phy/intel/phy-intel-lgm-combo.c
354
static int intel_cbphy_exit(struct phy *phy)
drivers/phy/intel/phy-intel-lgm-combo.c
356
struct intel_cbphy_iphy *iphy = phy_get_drvdata(phy);
drivers/phy/intel/phy-intel-lgm-combo.c
376
static int intel_cbphy_calibrate(struct phy *phy)
drivers/phy/intel/phy-intel-lgm-combo.c
378
struct intel_cbphy_iphy *iphy = phy_get_drvdata(phy);
drivers/phy/intel/phy-intel-lgm-combo.c
510
static struct phy *intel_cbphy_xlate(struct device *dev,
drivers/phy/intel/phy-intel-lgm-combo.c
532
return cbphy->iphy[iphy_id].phy;
drivers/phy/intel/phy-intel-lgm-combo.c
551
iphy->phy = devm_phy_create(dev, NULL, &intel_cbphy_ops);
drivers/phy/intel/phy-intel-lgm-combo.c
552
if (IS_ERR(iphy->phy)) {
drivers/phy/intel/phy-intel-lgm-combo.c
556
return PTR_ERR(iphy->phy);
drivers/phy/intel/phy-intel-lgm-combo.c
559
phy_set_drvdata(iphy->phy, iphy);
drivers/phy/intel/phy-intel-lgm-combo.c
80
struct phy *phy;
drivers/phy/intel/phy-intel-lgm-emmc.c
106
dev_err(&phy->dev, "caldone failed, ret=%d\n", ret);
drivers/phy/intel/phy-intel-lgm-emmc.c
114
dev_err(&phy->dev, "set the frequency of dll failed:%d\n", ret);
drivers/phy/intel/phy-intel-lgm-emmc.c
122
dev_err(&phy->dev, "turn on the dll failed: %d\n", ret);
drivers/phy/intel/phy-intel-lgm-emmc.c
145
dev_err(&phy->dev, "dllrdy failed. ret=%d\n", ret);
drivers/phy/intel/phy-intel-lgm-emmc.c
152
static int intel_emmc_phy_init(struct phy *phy)
drivers/phy/intel/phy-intel-lgm-emmc.c
154
struct intel_emmc_phy *priv = phy_get_drvdata(phy);
drivers/phy/intel/phy-intel-lgm-emmc.c
169
priv->emmcclk = clk_get_optional(&phy->dev, "emmcclk");
drivers/phy/intel/phy-intel-lgm-emmc.c
171
dev_err(&phy->dev, "ERROR: getting emmcclk\n");
drivers/phy/intel/phy-intel-lgm-emmc.c
178
static int intel_emmc_phy_exit(struct phy *phy)
drivers/phy/intel/phy-intel-lgm-emmc.c
180
struct intel_emmc_phy *priv = phy_get_drvdata(phy);
drivers/phy/intel/phy-intel-lgm-emmc.c
187
static int intel_emmc_phy_power_on(struct phy *phy)
drivers/phy/intel/phy-intel-lgm-emmc.c
189
struct intel_emmc_phy *priv = phy_get_drvdata(phy);
drivers/phy/intel/phy-intel-lgm-emmc.c
196
dev_err(&phy->dev, "ERROR set drive-impednce-50ohm: %d\n", ret);
drivers/phy/intel/phy-intel-lgm-emmc.c
204
dev_err(&phy->dev, "ERROR Set output tap delay : %d\n", ret);
drivers/phy/intel/phy-intel-lgm-emmc.c
212
dev_err(&phy->dev, "ERROR: output tap dly select: %d\n", ret);
drivers/phy/intel/phy-intel-lgm-emmc.c
217
return intel_emmc_phy_power(phy, true);
drivers/phy/intel/phy-intel-lgm-emmc.c
220
static int intel_emmc_phy_power_off(struct phy *phy)
drivers/phy/intel/phy-intel-lgm-emmc.c
223
return intel_emmc_phy_power(phy, false);
drivers/phy/intel/phy-intel-lgm-emmc.c
239
struct phy *generic_phy;
drivers/phy/intel/phy-intel-lgm-emmc.c
51
static int intel_emmc_phy_power(struct phy *phy, bool on_off)
drivers/phy/intel/phy-intel-lgm-emmc.c
53
struct intel_emmc_phy *priv = phy_get_drvdata(phy);
drivers/phy/intel/phy-intel-lgm-emmc.c
67
dev_err(&phy->dev, "CALIO power down bar failed: %d\n", ret);
drivers/phy/intel/phy-intel-lgm-emmc.c
78
dev_warn(&phy->dev, "Unsupported rate: %lu\n", rate);
drivers/phy/intel/phy-intel-lgm-emmc.c
91
dev_err(&phy->dev, "CALIO power down bar failed: %d\n", ret);
drivers/phy/lantiq/phy-lantiq-rcu-usb2.c
117
static int ltq_rcu_usb2_phy_power_on(struct phy *phy)
drivers/phy/lantiq/phy-lantiq-rcu-usb2.c
119
struct ltq_rcu_usb2_priv *priv = phy_get_drvdata(phy);
drivers/phy/lantiq/phy-lantiq-rcu-usb2.c
140
static int ltq_rcu_usb2_phy_power_off(struct phy *phy)
drivers/phy/lantiq/phy-lantiq-rcu-usb2.c
142
struct ltq_rcu_usb2_priv *priv = phy_get_drvdata(phy);
drivers/phy/lantiq/phy-lantiq-rcu-usb2.c
228
priv->phy = devm_phy_create(dev, dev->of_node, &ltq_rcu_usb2_phy_ops);
drivers/phy/lantiq/phy-lantiq-rcu-usb2.c
229
if (IS_ERR(priv->phy)) {
drivers/phy/lantiq/phy-lantiq-rcu-usb2.c
231
return PTR_ERR(priv->phy);
drivers/phy/lantiq/phy-lantiq-rcu-usb2.c
234
phy_set_drvdata(priv->phy, priv);
drivers/phy/lantiq/phy-lantiq-rcu-usb2.c
40
struct phy *phy;
drivers/phy/lantiq/phy-lantiq-rcu-usb2.c
92
static int ltq_rcu_usb2_phy_init(struct phy *phy)
drivers/phy/lantiq/phy-lantiq-rcu-usb2.c
94
struct ltq_rcu_usb2_priv *priv = phy_get_drvdata(phy);
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
100
struct ltq_vrx200_pcie_phy_priv *priv = phy_get_drvdata(phy);
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
141
static void pcie_phy_36mhz_mode_setup(struct phy *phy)
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
143
struct ltq_vrx200_pcie_phy_priv *priv = phy_get_drvdata(phy);
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
181
static int ltq_vrx200_pcie_phy_wait_for_pll(struct phy *phy)
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
183
struct ltq_vrx200_pcie_phy_priv *priv = phy_get_drvdata(phy);
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
199
static void ltq_vrx200_pcie_phy_apply_workarounds(struct phy *phy)
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
201
struct ltq_vrx200_pcie_phy_priv *priv = phy_get_drvdata(phy);
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
247
static int ltq_vrx200_pcie_phy_init(struct phy *phy)
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
249
struct ltq_vrx200_pcie_phy_priv *priv = phy_get_drvdata(phy);
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
289
static int ltq_vrx200_pcie_phy_exit(struct phy *phy)
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
291
struct ltq_vrx200_pcie_phy_priv *priv = phy_get_drvdata(phy);
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
305
static int ltq_vrx200_pcie_phy_power_on(struct phy *phy)
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
307
struct ltq_vrx200_pcie_phy_priv *priv = phy_get_drvdata(phy);
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
316
ltq_vrx200_pcie_phy_common_setup(phy);
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
318
pcie_phy_36mhz_mode_setup(phy);
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
326
ret = ltq_vrx200_pcie_phy_wait_for_pll(phy);
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
330
ltq_vrx200_pcie_phy_apply_workarounds(phy);
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
342
static int ltq_vrx200_pcie_phy_power_off(struct phy *phy)
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
344
struct ltq_vrx200_pcie_phy_priv *priv = phy_get_drvdata(phy);
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
360
static struct phy *ltq_vrx200_pcie_phy_xlate(struct device *dev,
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
391
return priv->phy;
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
459
priv->phy = devm_phy_create(dev, dev->of_node,
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
461
if (IS_ERR(priv->phy)) {
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
463
return PTR_ERR(priv->phy);
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
466
phy_set_drvdata(priv->phy, priv);
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
85
struct phy *phy;
drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c
98
static void ltq_vrx200_pcie_phy_common_setup(struct phy *phy)
drivers/phy/marvell/phy-armada375-usb2.c
105
struct phy *phy;
drivers/phy/marvell/phy-armada375-usb2.c
118
phy = devm_phy_create(dev, NULL, &armada375_usb_phy_ops);
drivers/phy/marvell/phy-armada375-usb2.c
119
if (IS_ERR(phy)) {
drivers/phy/marvell/phy-armada375-usb2.c
121
return PTR_ERR(phy);
drivers/phy/marvell/phy-armada375-usb2.c
124
cluster_phy->phy = phy;
drivers/phy/marvell/phy-armada375-usb2.c
128
phy_set_drvdata(phy, cluster_phy);
drivers/phy/marvell/phy-armada375-usb2.c
25
struct phy *phy;
drivers/phy/marvell/phy-armada375-usb2.c
31
static int armada375_usb_phy_init(struct phy *phy)
drivers/phy/marvell/phy-armada375-usb2.c
36
cluster_phy = phy_get_drvdata(phy);
drivers/phy/marvell/phy-armada375-usb2.c
63
static struct phy *armada375_usb_phy_xlate(struct device *dev,
drivers/phy/marvell/phy-armada375-usb2.c
99
return cluster_phy->phy;
drivers/phy/marvell/phy-armada38x-comphy.c
118
static int a38x_comphy_set_mode(struct phy *phy, enum phy_mode mode, int sub)
drivers/phy/marvell/phy-armada38x-comphy.c
120
struct a38x_comphy_lane *lane = phy_get_drvdata(phy);
drivers/phy/marvell/phy-armada38x-comphy.c
162
static struct phy *a38x_comphy_xlate(struct device *dev,
drivers/phy/marvell/phy-armada38x-comphy.c
166
struct phy *phy;
drivers/phy/marvell/phy-armada38x-comphy.c
172
phy = of_phy_simple_xlate(dev, args);
drivers/phy/marvell/phy-armada38x-comphy.c
173
if (IS_ERR(phy))
drivers/phy/marvell/phy-armada38x-comphy.c
174
return phy;
drivers/phy/marvell/phy-armada38x-comphy.c
176
lane = phy_get_drvdata(phy);
drivers/phy/marvell/phy-armada38x-comphy.c
189
phy = ERR_PTR(-EINVAL);
drivers/phy/marvell/phy-armada38x-comphy.c
192
return phy;
drivers/phy/marvell/phy-armada38x-comphy.c
223
struct phy *phy;
drivers/phy/marvell/phy-armada38x-comphy.c
239
phy = devm_phy_create(&pdev->dev, child, &a38x_comphy_ops);
drivers/phy/marvell/phy-armada38x-comphy.c
240
if (IS_ERR(phy)) {
drivers/phy/marvell/phy-armada38x-comphy.c
242
return PTR_ERR(phy);
drivers/phy/marvell/phy-armada38x-comphy.c
249
phy_set_drvdata(phy, &priv->lane[val]);
drivers/phy/marvell/phy-berlin-sata.c
134
static int phy_berlin_sata_power_off(struct phy *phy)
drivers/phy/marvell/phy-berlin-sata.c
136
struct phy_berlin_desc *desc = phy_get_drvdata(phy);
drivers/phy/marvell/phy-berlin-sata.c
137
struct phy_berlin_priv *priv = dev_get_drvdata(phy->dev.parent);
drivers/phy/marvell/phy-berlin-sata.c
157
static struct phy *phy_berlin_sata_phy_xlate(struct device *dev,
drivers/phy/marvell/phy-berlin-sata.c
174
return priv->phys[i]->phy;
drivers/phy/marvell/phy-berlin-sata.c
192
struct phy *phy;
drivers/phy/marvell/phy-berlin-sata.c
254
phy = devm_phy_create(dev, NULL, &phy_berlin_sata_ops);
drivers/phy/marvell/phy-berlin-sata.c
255
if (IS_ERR(phy)) {
drivers/phy/marvell/phy-berlin-sata.c
257
ret = PTR_ERR(phy);
drivers/phy/marvell/phy-berlin-sata.c
261
phy_desc->phy = phy;
drivers/phy/marvell/phy-berlin-sata.c
264
phy_set_drvdata(phy, phy_desc);
drivers/phy/marvell/phy-berlin-sata.c
269
phy_berlin_sata_power_off(phy);
drivers/phy/marvell/phy-berlin-sata.c
52
struct phy *phy;
drivers/phy/marvell/phy-berlin-sata.c
81
static int phy_berlin_sata_power_on(struct phy *phy)
drivers/phy/marvell/phy-berlin-sata.c
83
struct phy_berlin_desc *desc = phy_get_drvdata(phy);
drivers/phy/marvell/phy-berlin-sata.c
84
struct phy_berlin_priv *priv = dev_get_drvdata(phy->dev.parent);
drivers/phy/marvell/phy-berlin-usb.c
115
static int phy_berlin_usb_power_on(struct phy *phy)
drivers/phy/marvell/phy-berlin-usb.c
117
struct phy_berlin_usb_priv *priv = phy_get_drvdata(phy);
drivers/phy/marvell/phy-berlin-usb.c
167
struct phy *phy;
drivers/phy/marvell/phy-berlin-usb.c
184
phy = devm_phy_create(&pdev->dev, NULL, &phy_berlin_usb_ops);
drivers/phy/marvell/phy-berlin-usb.c
185
if (IS_ERR(phy)) {
drivers/phy/marvell/phy-berlin-usb.c
187
return PTR_ERR(phy);
drivers/phy/marvell/phy-berlin-usb.c
190
phy_set_drvdata(phy, priv);
drivers/phy/marvell/phy-mmp3-hsic.c
17
static int mmp3_hsic_phy_init(struct phy *phy)
drivers/phy/marvell/phy-mmp3-hsic.c
19
void __iomem *base = (void __iomem *)phy_get_drvdata(phy);
drivers/phy/marvell/phy-mmp3-hsic.c
46
struct phy *phy;
drivers/phy/marvell/phy-mmp3-hsic.c
52
phy = devm_phy_create(dev, NULL, &mmp3_hsic_phy_ops);
drivers/phy/marvell/phy-mmp3-hsic.c
53
if (IS_ERR(phy)) {
drivers/phy/marvell/phy-mmp3-hsic.c
55
return PTR_ERR(phy);
drivers/phy/marvell/phy-mmp3-hsic.c
58
phy_set_drvdata(phy, (void *)base);
drivers/phy/marvell/phy-mmp3-usb.c
110
struct phy *phy;
drivers/phy/marvell/phy-mmp3-usb.c
141
static int mmp3_usb_phy_init(struct phy *phy)
drivers/phy/marvell/phy-mmp3-usb.c
143
struct mmp3_usb_phy *mmp3_usb_phy = phy_get_drvdata(phy);
drivers/phy/marvell/phy-mmp3-usb.c
159
dev_err(&phy->dev, "unsupported silicon revision\n");
drivers/phy/marvell/phy-mmp3-usb.c
196
static int mmp3_usb_phy_calibrate(struct phy *phy)
drivers/phy/marvell/phy-mmp3-usb.c
198
struct mmp3_usb_phy *mmp3_usb_phy = phy_get_drvdata(phy);
drivers/phy/marvell/phy-mmp3-usb.c
227
dev_err(&phy->dev, "PLL_READY not set after 100mS.\n");
drivers/phy/marvell/phy-mmp3-usb.c
263
mmp3_usb_phy->phy = devm_phy_create(dev, NULL, &mmp3_usb_phy_ops);
drivers/phy/marvell/phy-mmp3-usb.c
264
if (IS_ERR(mmp3_usb_phy->phy)) {
drivers/phy/marvell/phy-mmp3-usb.c
266
return PTR_ERR(mmp3_usb_phy->phy);
drivers/phy/marvell/phy-mmp3-usb.c
269
phy_set_drvdata(mmp3_usb_phy->phy, mmp3_usb_phy);
drivers/phy/marvell/phy-mvebu-a3700-comphy.c
1135
static int mvebu_a3700_comphy_set_mode(struct phy *phy, enum phy_mode mode,
drivers/phy/marvell/phy-mvebu-a3700-comphy.c
1138
struct mvebu_a3700_comphy_lane *lane = phy_get_drvdata(phy);
drivers/phy/marvell/phy-mvebu-a3700-comphy.c
1146
if (phy->power_count &&
drivers/phy/marvell/phy-mvebu-a3700-comphy.c
1157
static int mvebu_a3700_comphy_power_on(struct phy *phy)
drivers/phy/marvell/phy-mvebu-a3700-comphy.c
1159
struct mvebu_a3700_comphy_lane *lane = phy_get_drvdata(phy);
drivers/phy/marvell/phy-mvebu-a3700-comphy.c
1186
static int mvebu_a3700_comphy_power_off(struct phy *phy)
drivers/phy/marvell/phy-mvebu-a3700-comphy.c
1188
struct mvebu_a3700_comphy_lane *lane = phy_get_drvdata(phy);
drivers/phy/marvell/phy-mvebu-a3700-comphy.c
1216
static struct phy *mvebu_a3700_comphy_xlate(struct device *dev,
drivers/phy/marvell/phy-mvebu-a3700-comphy.c
1221
struct phy *phy;
drivers/phy/marvell/phy-mvebu-a3700-comphy.c
1223
phy = of_phy_simple_xlate(dev, args);
drivers/phy/marvell/phy-mvebu-a3700-comphy.c
1224
if (IS_ERR(phy))
drivers/phy/marvell/phy-mvebu-a3700-comphy.c
1225
return phy;
drivers/phy/marvell/phy-mvebu-a3700-comphy.c
1227
lane = phy_get_drvdata(phy);
drivers/phy/marvell/phy-mvebu-a3700-comphy.c
1238
return phy;
drivers/phy/marvell/phy-mvebu-a3700-comphy.c
1307
struct phy *phy;
drivers/phy/marvell/phy-mvebu-a3700-comphy.c
1329
phy = devm_phy_create(&pdev->dev, child,
drivers/phy/marvell/phy-mvebu-a3700-comphy.c
1331
if (IS_ERR(phy)) {
drivers/phy/marvell/phy-mvebu-a3700-comphy.c
1333
return PTR_ERR(phy);
drivers/phy/marvell/phy-mvebu-a3700-comphy.c
1343
phy_set_drvdata(phy, lane);
drivers/phy/marvell/phy-mvebu-a3700-comphy.c
1349
mvebu_a3700_comphy_power_off(phy);
drivers/phy/marvell/phy-mvebu-a3700-utmi.c
164
static int mvebu_a3700_utmi_phy_power_off(struct phy *phy)
drivers/phy/marvell/phy-mvebu-a3700-utmi.c
166
struct mvebu_a3700_utmi *utmi = phy_get_drvdata(phy);
drivers/phy/marvell/phy-mvebu-a3700-utmi.c
242
utmi->phy = devm_phy_create(dev, NULL, utmi->caps->ops);
drivers/phy/marvell/phy-mvebu-a3700-utmi.c
243
if (IS_ERR(utmi->phy)) {
drivers/phy/marvell/phy-mvebu-a3700-utmi.c
245
return PTR_ERR(utmi->phy);
drivers/phy/marvell/phy-mvebu-a3700-utmi.c
248
phy_set_drvdata(utmi->phy, utmi);
drivers/phy/marvell/phy-mvebu-a3700-utmi.c
251
utmi->caps->ops->power_off(utmi->phy);
drivers/phy/marvell/phy-mvebu-a3700-utmi.c
83
struct phy *phy;
drivers/phy/marvell/phy-mvebu-a3700-utmi.c
86
static int mvebu_a3700_utmi_phy_power_on(struct phy *phy)
drivers/phy/marvell/phy-mvebu-a3700-utmi.c
88
struct mvebu_a3700_utmi *utmi = phy_get_drvdata(phy);
drivers/phy/marvell/phy-mvebu-a3700-utmi.c
89
struct device *dev = &phy->dev;
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
1038
struct phy *phy;
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
1060
phy = devm_phy_create(&pdev->dev, child, &mvebu_comphy_ops);
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
1061
if (IS_ERR(phy)) {
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
1063
ret = PTR_ERR(phy);
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
1072
phy_set_drvdata(phy, lane);
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
494
static int mvebu_comphy_set_mode_sgmii(struct phy *phy)
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
496
struct mvebu_comphy_lane *lane = phy_get_drvdata(phy);
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
527
static int mvebu_comphy_set_mode_rxaui(struct phy *phy)
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
529
struct mvebu_comphy_lane *lane = phy_get_drvdata(phy);
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
580
static int mvebu_comphy_set_mode_10gbaser(struct phy *phy)
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
582
struct mvebu_comphy_lane *lane = phy_get_drvdata(phy);
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
722
static int mvebu_comphy_power_on_legacy(struct phy *phy)
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
724
struct mvebu_comphy_lane *lane = phy_get_drvdata(phy);
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
746
ret = mvebu_comphy_set_mode_sgmii(phy);
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
749
ret = mvebu_comphy_set_mode_rxaui(phy);
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
752
ret = mvebu_comphy_set_mode_10gbaser(phy);
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
766
static int mvebu_comphy_power_on(struct phy *phy)
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
768
struct mvebu_comphy_lane *lane = phy_get_drvdata(phy);
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
850
return mvebu_comphy_power_on_legacy(phy);
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
853
static int mvebu_comphy_set_mode(struct phy *phy,
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
856
struct mvebu_comphy_lane *lane = phy_get_drvdata(phy);
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
874
static int mvebu_comphy_power_off_legacy(struct phy *phy)
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
876
struct mvebu_comphy_lane *lane = phy_get_drvdata(phy);
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
897
static int mvebu_comphy_power_off(struct phy *phy)
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
899
struct mvebu_comphy_lane *lane = phy_get_drvdata(phy);
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
909
return mvebu_comphy_power_off_legacy(phy);
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
919
static struct phy *mvebu_comphy_xlate(struct device *dev,
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
923
struct phy *phy;
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
928
phy = of_phy_simple_xlate(dev, args);
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
929
if (IS_ERR(phy))
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
930
return phy;
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
932
lane = phy_get_drvdata(phy);
drivers/phy/marvell/phy-mvebu-cp110-comphy.c
935
return phy;
drivers/phy/marvell/phy-mvebu-cp110-utmi.c
175
static int mvebu_cp110_utmi_phy_power_off(struct phy *phy)
drivers/phy/marvell/phy-mvebu-cp110-utmi.c
177
struct mvebu_cp110_utmi_port *port = phy_get_drvdata(phy);
drivers/phy/marvell/phy-mvebu-cp110-utmi.c
200
static int mvebu_cp110_utmi_phy_power_on(struct phy *phy)
drivers/phy/marvell/phy-mvebu-cp110-utmi.c
202
struct mvebu_cp110_utmi_port *port = phy_get_drvdata(phy);
drivers/phy/marvell/phy-mvebu-cp110-utmi.c
204
struct device *dev = &phy->dev;
drivers/phy/marvell/phy-mvebu-cp110-utmi.c
209
ret = mvebu_cp110_utmi_phy_power_off(phy);
drivers/phy/marvell/phy-mvebu-cp110-utmi.c
323
struct phy *phy;
drivers/phy/marvell/phy-mvebu-cp110-utmi.c
368
phy = devm_phy_create(dev, child, utmi->ops);
drivers/phy/marvell/phy-mvebu-cp110-utmi.c
369
if (IS_ERR(phy)) {
drivers/phy/marvell/phy-mvebu-cp110-utmi.c
372
return PTR_ERR(phy);
drivers/phy/marvell/phy-mvebu-cp110-utmi.c
377
phy_set_drvdata(phy, port);
drivers/phy/marvell/phy-mvebu-cp110-utmi.c
380
mvebu_cp110_utmi_phy_power_off(phy);
drivers/phy/marvell/phy-mvebu-sata.c
100
if (IS_ERR(phy))
drivers/phy/marvell/phy-mvebu-sata.c
101
return PTR_ERR(phy);
drivers/phy/marvell/phy-mvebu-sata.c
103
phy_set_drvdata(phy, priv);
drivers/phy/marvell/phy-mvebu-sata.c
111
phy_mvebu_sata_power_off(phy);
drivers/phy/marvell/phy-mvebu-sata.c
29
static int phy_mvebu_sata_power_on(struct phy *phy)
drivers/phy/marvell/phy-mvebu-sata.c
31
struct priv *priv = phy_get_drvdata(phy);
drivers/phy/marvell/phy-mvebu-sata.c
52
static int phy_mvebu_sata_power_off(struct phy *phy)
drivers/phy/marvell/phy-mvebu-sata.c
54
struct priv *priv = phy_get_drvdata(phy);
drivers/phy/marvell/phy-mvebu-sata.c
85
struct phy *phy;
drivers/phy/marvell/phy-mvebu-sata.c
99
phy = devm_phy_create(&pdev->dev, NULL, &phy_mvebu_sata_ops);
drivers/phy/marvell/phy-pxa-28nm-hsic.c
127
static int mv_hsic_phy_power_off(struct phy *phy)
drivers/phy/marvell/phy-pxa-28nm-hsic.c
129
struct mv_hsic_phy *mv_phy = phy_get_drvdata(phy);
drivers/phy/marvell/phy-pxa-28nm-hsic.c
138
static int mv_hsic_phy_exit(struct phy *phy)
drivers/phy/marvell/phy-pxa-28nm-hsic.c
140
struct mv_hsic_phy *mv_phy = phy_get_drvdata(phy);
drivers/phy/marvell/phy-pxa-28nm-hsic.c
182
mv_phy->phy = devm_phy_create(&pdev->dev, pdev->dev.of_node, &hsic_ops);
drivers/phy/marvell/phy-pxa-28nm-hsic.c
183
if (IS_ERR(mv_phy->phy))
drivers/phy/marvell/phy-pxa-28nm-hsic.c
184
return PTR_ERR(mv_phy->phy);
drivers/phy/marvell/phy-pxa-28nm-hsic.c
186
phy_set_drvdata(mv_phy->phy, mv_phy);
drivers/phy/marvell/phy-pxa-28nm-hsic.c
42
struct phy *phy;
drivers/phy/marvell/phy-pxa-28nm-hsic.c
56
static int mv_hsic_phy_init(struct phy *phy)
drivers/phy/marvell/phy-pxa-28nm-hsic.c
58
struct mv_hsic_phy *mv_phy = phy_get_drvdata(phy);
drivers/phy/marvell/phy-pxa-28nm-hsic.c
87
static int mv_hsic_phy_power_on(struct phy *phy)
drivers/phy/marvell/phy-pxa-28nm-hsic.c
89
struct mv_hsic_phy *mv_phy = phy_get_drvdata(phy);
drivers/phy/marvell/phy-pxa-28nm-usb2.c
135
struct phy *phy;
drivers/phy/marvell/phy-pxa-28nm-usb2.c
149
static int mv_usb2_phy_28nm_init(struct phy *phy)
drivers/phy/marvell/phy-pxa-28nm-usb2.c
151
struct mv_usb2_phy *mv_phy = phy_get_drvdata(phy);
drivers/phy/marvell/phy-pxa-28nm-usb2.c
234
static int mv_usb2_phy_28nm_power_on(struct phy *phy)
drivers/phy/marvell/phy-pxa-28nm-usb2.c
236
struct mv_usb2_phy *mv_phy = phy_get_drvdata(phy);
drivers/phy/marvell/phy-pxa-28nm-usb2.c
247
static int mv_usb2_phy_28nm_power_off(struct phy *phy)
drivers/phy/marvell/phy-pxa-28nm-usb2.c
249
struct mv_usb2_phy *mv_phy = phy_get_drvdata(phy);
drivers/phy/marvell/phy-pxa-28nm-usb2.c
260
static int mv_usb2_phy_28nm_exit(struct phy *phy)
drivers/phy/marvell/phy-pxa-28nm-usb2.c
262
struct mv_usb2_phy *mv_phy = phy_get_drvdata(phy);
drivers/phy/marvell/phy-pxa-28nm-usb2.c
313
mv_phy->phy = devm_phy_create(&pdev->dev, pdev->dev.of_node, &usb_ops);
drivers/phy/marvell/phy-pxa-28nm-usb2.c
314
if (IS_ERR(mv_phy->phy))
drivers/phy/marvell/phy-pxa-28nm-usb2.c
315
return PTR_ERR(mv_phy->phy);
drivers/phy/marvell/phy-pxa-28nm-usb2.c
317
phy_set_drvdata(mv_phy->phy, mv_phy);
drivers/phy/marvell/phy-pxa-usb.c
116
struct phy *phy;
drivers/phy/marvell/phy-pxa-usb.c
159
static int pxa_usb_phy_init(struct phy *phy)
drivers/phy/marvell/phy-pxa-usb.c
161
struct pxa_usb_phy *pxa_usb_phy = phy_get_drvdata(phy);
drivers/phy/marvell/phy-pxa-usb.c
165
dev_info(&phy->dev, "initializing Marvell PXA USB PHY");
drivers/phy/marvell/phy-pxa-usb.c
230
dev_warn(&phy->dev, "calibrate timeout, UTMI_PLL %x\n",
drivers/phy/marvell/phy-pxa-usb.c
246
static int pxa_usb_phy_exit(struct phy *phy)
drivers/phy/marvell/phy-pxa-usb.c
248
struct pxa_usb_phy *pxa_usb_phy = phy_get_drvdata(phy);
drivers/phy/marvell/phy-pxa-usb.c
251
dev_info(&phy->dev, "deinitializing Marvell PXA USB PHY");
drivers/phy/marvell/phy-pxa-usb.c
309
pxa_usb_phy->phy = devm_phy_create(dev, NULL, &pxa_usb_phy_ops);
drivers/phy/marvell/phy-pxa-usb.c
310
if (IS_ERR(pxa_usb_phy->phy)) {
drivers/phy/marvell/phy-pxa-usb.c
312
return PTR_ERR(pxa_usb_phy->phy);
drivers/phy/marvell/phy-pxa-usb.c
315
phy_set_drvdata(pxa_usb_phy->phy, pxa_usb_phy);
drivers/phy/marvell/phy-pxa-usb.c
323
phy_create_lookup(pxa_usb_phy->phy, "usb", "mv-udc");
drivers/phy/marvell/phy-pxa-usb.c
324
phy_create_lookup(pxa_usb_phy->phy, "usb", "pxa-u2oehci");
drivers/phy/marvell/phy-pxa-usb.c
325
phy_create_lookup(pxa_usb_phy->phy, "usb", "mv-otg");
drivers/phy/mediatek/phy-mtk-dp.c
109
static int mtk_dp_phy_configure(struct phy *phy, union phy_configure_opts *opts)
drivers/phy/mediatek/phy-mtk-dp.c
111
struct mtk_dp_phy *dp_phy = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-dp.c
117
dev_err(&phy->dev,
drivers/phy/mediatek/phy-mtk-dp.c
143
static int mtk_dp_phy_reset(struct phy *phy)
drivers/phy/mediatek/phy-mtk-dp.c
145
struct mtk_dp_phy *dp_phy = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-dp.c
167
struct phy *phy;
drivers/phy/mediatek/phy-mtk-dp.c
180
phy = devm_phy_create(dev, NULL, &mtk_dp_phy_dev_ops);
drivers/phy/mediatek/phy-mtk-dp.c
181
if (IS_ERR(phy))
drivers/phy/mediatek/phy-mtk-dp.c
182
return dev_err_probe(dev, PTR_ERR(phy),
drivers/phy/mediatek/phy-mtk-dp.c
185
phy_set_drvdata(phy, dp_phy);
drivers/phy/mediatek/phy-mtk-dp.c
187
phy_create_lookup(phy, "dp", dev_name(dev));
drivers/phy/mediatek/phy-mtk-dp.c
85
static int mtk_dp_phy_init(struct phy *phy)
drivers/phy/mediatek/phy-mtk-dp.c
87
struct mtk_dp_phy *dp_phy = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-hdmi-mt8195.c
467
static int mtk_hdmi_phy_configure(struct phy *phy, union phy_configure_opts *opts)
drivers/phy/mediatek/phy-mtk-hdmi-mt8195.c
470
struct mtk_hdmi_phy *hdmi_phy = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-hdmi.c
10
static int mtk_hdmi_phy_power_off(struct phy *phy);
drivers/phy/mediatek/phy-mtk-hdmi.c
11
static int mtk_hdmi_phy_configure(struct phy *phy, union phy_configure_opts *opts);
drivers/phy/mediatek/phy-mtk-hdmi.c
111
struct phy *phy;
drivers/phy/mediatek/phy-mtk-hdmi.c
161
phy = devm_phy_create(dev, NULL, mtk_hdmi_phy_dev_get_ops(hdmi_phy));
drivers/phy/mediatek/phy-mtk-hdmi.c
162
if (IS_ERR(phy))
drivers/phy/mediatek/phy-mtk-hdmi.c
163
return dev_err_probe(dev, PTR_ERR(phy), "Cannot create HDMI PHY\n");
drivers/phy/mediatek/phy-mtk-hdmi.c
165
phy_set_drvdata(phy, hdmi_phy);
drivers/phy/mediatek/phy-mtk-hdmi.c
25
static int mtk_hdmi_phy_power_on(struct phy *phy)
drivers/phy/mediatek/phy-mtk-hdmi.c
27
struct mtk_hdmi_phy *hdmi_phy = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-hdmi.c
38
static int mtk_hdmi_phy_power_off(struct phy *phy)
drivers/phy/mediatek/phy-mtk-hdmi.c
40
struct mtk_hdmi_phy *hdmi_phy = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-hdmi.c
48
static int mtk_hdmi_phy_configure(struct phy *phy, union phy_configure_opts *opts)
drivers/phy/mediatek/phy-mtk-hdmi.c
50
struct mtk_hdmi_phy *hdmi_phy = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-hdmi.c
53
return hdmi_phy->conf->hdmi_phy_configure(phy, opts);
drivers/phy/mediatek/phy-mtk-hdmi.c
9
static int mtk_hdmi_phy_power_on(struct phy *phy);
drivers/phy/mediatek/phy-mtk-hdmi.h
29
int (*hdmi_phy_configure)(struct phy *phy, union phy_configure_opts *opts);
drivers/phy/mediatek/phy-mtk-mipi-csi-0-5.c
152
static int mtk_mipi_phy_power_off(struct phy *phy)
drivers/phy/mediatek/phy-mtk-mipi-csi-0-5.c
154
struct mtk_mipi_cdphy_port *port = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-mipi-csi-0-5.c
167
static struct phy *mtk_mipi_cdphy_xlate(struct device *dev,
drivers/phy/mediatek/phy-mtk-mipi-csi-0-5.c
201
return priv->phy;
drivers/phy/mediatek/phy-mtk-mipi-csi-0-5.c
215
struct phy *phy;
drivers/phy/mediatek/phy-mtk-mipi-csi-0-5.c
258
phy = devm_phy_create(dev, NULL, &mtk_cdphy_ops);
drivers/phy/mediatek/phy-mtk-mipi-csi-0-5.c
259
if (IS_ERR(phy)) {
drivers/phy/mediatek/phy-mtk-mipi-csi-0-5.c
260
dev_err(dev, "Failed to create PHY: %ld\n", PTR_ERR(phy));
drivers/phy/mediatek/phy-mtk-mipi-csi-0-5.c
261
return PTR_ERR(phy);
drivers/phy/mediatek/phy-mtk-mipi-csi-0-5.c
264
port->phy = phy;
drivers/phy/mediatek/phy-mtk-mipi-csi-0-5.c
265
phy_set_drvdata(phy, port);
drivers/phy/mediatek/phy-mtk-mipi-csi-0-5.c
27
struct phy *phy;
drivers/phy/mediatek/phy-mtk-mipi-csi-0-5.c
73
static int mtk_mipi_phy_power_on(struct phy *phy)
drivers/phy/mediatek/phy-mtk-mipi-csi-0-5.c
75
struct mtk_mipi_cdphy_port *port = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-mipi-dsi-mt8173.c
256
static void mtk_mipi_tx_power_on_signal(struct phy *phy)
drivers/phy/mediatek/phy-mtk-mipi-dsi-mt8173.c
258
struct mtk_mipi_tx *mipi_tx = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-mipi-dsi-mt8173.c
269
static void mtk_mipi_tx_power_off_signal(struct phy *phy)
drivers/phy/mediatek/phy-mtk-mipi-dsi-mt8173.c
271
struct mtk_mipi_tx *mipi_tx = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-mipi-dsi-mt8183.c
134
static void mtk_mipi_tx_power_on_signal(struct phy *phy)
drivers/phy/mediatek/phy-mtk-mipi-dsi-mt8183.c
136
struct mtk_mipi_tx *mipi_tx = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-mipi-dsi-mt8183.c
159
static void mtk_mipi_tx_power_off_signal(struct phy *phy)
drivers/phy/mediatek/phy-mtk-mipi-dsi-mt8183.c
161
struct mtk_mipi_tx *mipi_tx = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-mipi-dsi.c
116
struct phy *phy;
drivers/phy/mediatek/phy-mtk-mipi-dsi.c
165
phy = devm_phy_create(dev, NULL, &mtk_mipi_tx_ops);
drivers/phy/mediatek/phy-mtk-mipi-dsi.c
166
if (IS_ERR(phy))
drivers/phy/mediatek/phy-mtk-mipi-dsi.c
167
return dev_err_probe(dev, PTR_ERR(phy), "Failed to create MIPI D-PHY\n");
drivers/phy/mediatek/phy-mtk-mipi-dsi.c
169
phy_set_drvdata(phy, mipi_tx);
drivers/phy/mediatek/phy-mtk-mipi-dsi.c
33
static int mtk_mipi_tx_power_on(struct phy *phy)
drivers/phy/mediatek/phy-mtk-mipi-dsi.c
35
struct mtk_mipi_tx *mipi_tx = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-mipi-dsi.c
44
mipi_tx->driver_data->mipi_tx_enable_signal(phy);
drivers/phy/mediatek/phy-mtk-mipi-dsi.c
48
static int mtk_mipi_tx_power_off(struct phy *phy)
drivers/phy/mediatek/phy-mtk-mipi-dsi.c
50
struct mtk_mipi_tx *mipi_tx = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-mipi-dsi.c
53
mipi_tx->driver_data->mipi_tx_disable_signal(phy);
drivers/phy/mediatek/phy-mtk-mipi-dsi.h
22
void (*mipi_tx_enable_signal)(struct phy *phy);
drivers/phy/mediatek/phy-mtk-mipi-dsi.h
23
void (*mipi_tx_disable_signal)(struct phy *phy);
drivers/phy/mediatek/phy-mtk-pcie.c
110
static int mtk_pcie_phy_init(struct phy *phy)
drivers/phy/mediatek/phy-mtk-pcie.c
112
struct mtk_pcie_phy *pcie_phy = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-pcie.c
214
pcie_phy->phy = devm_phy_create(dev, dev->of_node, &mtk_pcie_phy_ops);
drivers/phy/mediatek/phy-mtk-pcie.c
215
if (IS_ERR(pcie_phy->phy))
drivers/phy/mediatek/phy-mtk-pcie.c
216
return dev_err_probe(dev, PTR_ERR(pcie_phy->phy),
drivers/phy/mediatek/phy-mtk-pcie.c
234
phy_set_drvdata(pcie_phy->phy, pcie_phy);
drivers/phy/mediatek/phy-mtk-pcie.c
71
struct phy *phy;
drivers/phy/mediatek/phy-mtk-tphy.c
1127
struct device *dev = &instance->phy->dev;
drivers/phy/mediatek/phy-mtk-tphy.c
1214
dev_info(&instance->phy->dev, "type_sw - reg %#x, index %d\n",
drivers/phy/mediatek/phy-mtk-tphy.c
1255
struct device *dev = &instance->phy->dev;
drivers/phy/mediatek/phy-mtk-tphy.c
1329
struct device *dev = &instance->phy->dev;
drivers/phy/mediatek/phy-mtk-tphy.c
1364
static int mtk_phy_init(struct phy *phy)
drivers/phy/mediatek/phy-mtk-tphy.c
1366
struct mtk_phy_instance *instance = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-tphy.c
1367
struct mtk_tphy *tphy = dev_get_drvdata(phy->dev.parent);
drivers/phy/mediatek/phy-mtk-tphy.c
1402
static int mtk_phy_power_on(struct phy *phy)
drivers/phy/mediatek/phy-mtk-tphy.c
1404
struct mtk_phy_instance *instance = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-tphy.c
1405
struct mtk_tphy *tphy = dev_get_drvdata(phy->dev.parent);
drivers/phy/mediatek/phy-mtk-tphy.c
1417
static int mtk_phy_power_off(struct phy *phy)
drivers/phy/mediatek/phy-mtk-tphy.c
1419
struct mtk_phy_instance *instance = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-tphy.c
1420
struct mtk_tphy *tphy = dev_get_drvdata(phy->dev.parent);
drivers/phy/mediatek/phy-mtk-tphy.c
1430
static int mtk_phy_exit(struct phy *phy)
drivers/phy/mediatek/phy-mtk-tphy.c
1432
struct mtk_phy_instance *instance = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-tphy.c
1433
struct mtk_tphy *tphy = dev_get_drvdata(phy->dev.parent);
drivers/phy/mediatek/phy-mtk-tphy.c
1442
static int mtk_phy_set_mode(struct phy *phy, enum phy_mode mode, int submode)
drivers/phy/mediatek/phy-mtk-tphy.c
1444
struct mtk_phy_instance *instance = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-tphy.c
1445
struct mtk_tphy *tphy = dev_get_drvdata(phy->dev.parent);
drivers/phy/mediatek/phy-mtk-tphy.c
1453
static struct phy *mtk_phy_xlate(struct device *dev,
drivers/phy/mediatek/phy-mtk-tphy.c
1468
if (phy_np == tphy->phys[index]->phy->dev.of_node) {
drivers/phy/mediatek/phy-mtk-tphy.c
1509
return instance->phy;
drivers/phy/mediatek/phy-mtk-tphy.c
1618
struct phy *phy;
drivers/phy/mediatek/phy-mtk-tphy.c
1627
phy = devm_phy_create(dev, child_np, &mtk_tphy_ops);
drivers/phy/mediatek/phy-mtk-tphy.c
1628
if (IS_ERR(phy)) {
drivers/phy/mediatek/phy-mtk-tphy.c
1630
return PTR_ERR(phy);
drivers/phy/mediatek/phy-mtk-tphy.c
1633
subdev = &phy->dev;
drivers/phy/mediatek/phy-mtk-tphy.c
1645
instance->phy = phy;
drivers/phy/mediatek/phy-mtk-tphy.c
1647
phy_set_drvdata(phy, instance);
drivers/phy/mediatek/phy-mtk-tphy.c
313
struct phy *phy;
drivers/phy/mediatek/phy-mtk-tphy.c
511
debugfs_create_file_aux_num(u2_phy_files[i], 0644, inst->phy->debugfs,
drivers/phy/mediatek/phy-mtk-tphy.c
621
debugfs_create_file_aux_num(u3_phy_files[i], 0644, inst->phy->debugfs,
drivers/phy/mediatek/phy-mtk-tphy.c
659
debugfs_create_file("type", 0444, inst->phy->debugfs, inst, &phy_type_fops);
drivers/phy/mediatek/phy-mtk-ufs.c
119
static int ufs_mtk_phy_power_on(struct phy *generic_phy)
drivers/phy/mediatek/phy-mtk-ufs.c
121
struct ufs_mtk_phy *phy = get_ufs_mtk_phy(generic_phy);
drivers/phy/mediatek/phy-mtk-ufs.c
124
ret = clk_bulk_prepare_enable(UFSPHY_CLKS_CNT, phy->clks);
drivers/phy/mediatek/phy-mtk-ufs.c
128
ufs_mtk_phy_set_active(phy);
drivers/phy/mediatek/phy-mtk-ufs.c
133
static int ufs_mtk_phy_power_off(struct phy *generic_phy)
drivers/phy/mediatek/phy-mtk-ufs.c
135
struct ufs_mtk_phy *phy = get_ufs_mtk_phy(generic_phy);
drivers/phy/mediatek/phy-mtk-ufs.c
137
ufs_mtk_phy_set_deep_hibern(phy);
drivers/phy/mediatek/phy-mtk-ufs.c
139
clk_bulk_disable_unprepare(UFSPHY_CLKS_CNT, phy->clks);
drivers/phy/mediatek/phy-mtk-ufs.c
153
struct phy *generic_phy;
drivers/phy/mediatek/phy-mtk-ufs.c
155
struct ufs_mtk_phy *phy;
drivers/phy/mediatek/phy-mtk-ufs.c
158
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
drivers/phy/mediatek/phy-mtk-ufs.c
159
if (!phy)
drivers/phy/mediatek/phy-mtk-ufs.c
162
phy->mmio = devm_platform_ioremap_resource(pdev, 0);
drivers/phy/mediatek/phy-mtk-ufs.c
163
if (IS_ERR(phy->mmio))
drivers/phy/mediatek/phy-mtk-ufs.c
164
return PTR_ERR(phy->mmio);
drivers/phy/mediatek/phy-mtk-ufs.c
166
phy->dev = dev;
drivers/phy/mediatek/phy-mtk-ufs.c
168
ret = ufs_mtk_phy_clk_init(phy);
drivers/phy/mediatek/phy-mtk-ufs.c
176
phy_set_drvdata(generic_phy, phy);
drivers/phy/mediatek/phy-mtk-ufs.c
45
static struct ufs_mtk_phy *get_ufs_mtk_phy(struct phy *generic_phy)
drivers/phy/mediatek/phy-mtk-ufs.c
50
static int ufs_mtk_phy_clk_init(struct ufs_mtk_phy *phy)
drivers/phy/mediatek/phy-mtk-ufs.c
52
struct device *dev = phy->dev;
drivers/phy/mediatek/phy-mtk-ufs.c
53
struct clk_bulk_data *clks = phy->clks;
drivers/phy/mediatek/phy-mtk-ufs.c
60
static void ufs_mtk_phy_set_active(struct ufs_mtk_phy *phy)
drivers/phy/mediatek/phy-mtk-ufs.c
62
void __iomem *mmio = phy->mmio;
drivers/phy/mediatek/phy-mtk-ufs.c
91
static void ufs_mtk_phy_set_deep_hibern(struct ufs_mtk_phy *phy)
drivers/phy/mediatek/phy-mtk-ufs.c
93
void __iomem *mmio = phy->mmio;
drivers/phy/mediatek/phy-mtk-xfi-tphy.c
287
static int mtk_xfi_tphy_set_mode(struct phy *phy, enum phy_mode mode, int
drivers/phy/mediatek/phy-mtk-xfi-tphy.c
290
struct mtk_xfi_tphy *xfi_tphy = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-xfi-tphy.c
319
static int mtk_xfi_tphy_reset(struct phy *phy)
drivers/phy/mediatek/phy-mtk-xfi-tphy.c
321
struct mtk_xfi_tphy *xfi_tphy = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-xfi-tphy.c
341
static int mtk_xfi_tphy_power_on(struct phy *phy)
drivers/phy/mediatek/phy-mtk-xfi-tphy.c
343
struct mtk_xfi_tphy *xfi_tphy = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-xfi-tphy.c
358
static int mtk_xfi_tphy_power_off(struct phy *phy)
drivers/phy/mediatek/phy-mtk-xfi-tphy.c
360
struct mtk_xfi_tphy *xfi_tphy = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-xfi-tphy.c
396
struct phy *phy;
drivers/phy/mediatek/phy-mtk-xfi-tphy.c
423
phy = devm_phy_create(&pdev->dev, NULL, &mtk_xfi_tphy_ops);
drivers/phy/mediatek/phy-mtk-xfi-tphy.c
424
if (IS_ERR(phy))
drivers/phy/mediatek/phy-mtk-xfi-tphy.c
425
return PTR_ERR(phy);
drivers/phy/mediatek/phy-mtk-xfi-tphy.c
427
phy_set_drvdata(phy, xfi_tphy);
drivers/phy/mediatek/phy-mtk-xsphy.c
247
struct device *dev = &inst->phy->dev;
drivers/phy/mediatek/phy-mtk-xsphy.c
344
dev_info(&instance->phy->dev, "type_sw - reg %#x, index %d\n",
drivers/phy/mediatek/phy-mtk-xsphy.c
380
static int mtk_phy_init(struct phy *phy)
drivers/phy/mediatek/phy-mtk-xsphy.c
382
struct xsphy_instance *inst = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-xsphy.c
383
struct mtk_xsphy *xsphy = dev_get_drvdata(phy->dev.parent);
drivers/phy/mediatek/phy-mtk-xsphy.c
413
static int mtk_phy_power_on(struct phy *phy)
drivers/phy/mediatek/phy-mtk-xsphy.c
415
struct xsphy_instance *inst = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-xsphy.c
416
struct mtk_xsphy *xsphy = dev_get_drvdata(phy->dev.parent);
drivers/phy/mediatek/phy-mtk-xsphy.c
426
static int mtk_phy_power_off(struct phy *phy)
drivers/phy/mediatek/phy-mtk-xsphy.c
428
struct xsphy_instance *inst = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-xsphy.c
429
struct mtk_xsphy *xsphy = dev_get_drvdata(phy->dev.parent);
drivers/phy/mediatek/phy-mtk-xsphy.c
437
static int mtk_phy_exit(struct phy *phy)
drivers/phy/mediatek/phy-mtk-xsphy.c
439
struct xsphy_instance *inst = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-xsphy.c
445
static int mtk_phy_set_mode(struct phy *phy, enum phy_mode mode, int submode)
drivers/phy/mediatek/phy-mtk-xsphy.c
447
struct xsphy_instance *inst = phy_get_drvdata(phy);
drivers/phy/mediatek/phy-mtk-xsphy.c
448
struct mtk_xsphy *xsphy = dev_get_drvdata(phy->dev.parent);
drivers/phy/mediatek/phy-mtk-xsphy.c
456
static struct phy *mtk_phy_xlate(struct device *dev,
drivers/phy/mediatek/phy-mtk-xsphy.c
470
if (phy_np == xsphy->phys[index]->phy->dev.of_node) {
drivers/phy/mediatek/phy-mtk-xsphy.c
492
return inst->phy;
drivers/phy/mediatek/phy-mtk-xsphy.c
554
struct phy *phy;
drivers/phy/mediatek/phy-mtk-xsphy.c
563
phy = devm_phy_create(dev, child_np, &mtk_xsphy_ops);
drivers/phy/mediatek/phy-mtk-xsphy.c
564
if (IS_ERR(phy)) {
drivers/phy/mediatek/phy-mtk-xsphy.c
566
return PTR_ERR(phy);
drivers/phy/mediatek/phy-mtk-xsphy.c
576
inst->port_base = devm_ioremap_resource(&phy->dev, &res);
drivers/phy/mediatek/phy-mtk-xsphy.c
582
inst->phy = phy;
drivers/phy/mediatek/phy-mtk-xsphy.c
584
phy_set_drvdata(phy, inst);
drivers/phy/mediatek/phy-mtk-xsphy.c
587
inst->ref_clk = devm_clk_get(&phy->dev, "ref");
drivers/phy/mediatek/phy-mtk-xsphy.c
94
struct phy *phy;
drivers/phy/microchip/lan966x_serdes.c
130
struct phy *phys[SERDES_MAX];
drivers/phy/microchip/lan966x_serdes.c
446
static int serdes_set_speed(struct phy *phy, int speed)
drivers/phy/microchip/lan966x_serdes.c
448
struct serdes_macro *macro = phy_get_drvdata(phy);
drivers/phy/microchip/lan966x_serdes.c
459
static int serdes_set_mode(struct phy *phy, enum phy_mode mode, int submode)
drivers/phy/microchip/lan966x_serdes.c
461
struct serdes_macro *macro = phy_get_drvdata(phy);
drivers/phy/microchip/lan966x_serdes.c
520
static struct phy *serdes_simple_xlate(struct device *dev,
drivers/phy/microchip/lan966x_serdes.c
545
static int serdes_phy_create(struct serdes_ctrl *ctrl, u8 idx, struct phy **phy)
drivers/phy/microchip/lan966x_serdes.c
549
*phy = devm_phy_create(ctrl->dev, NULL, &serdes_ops);
drivers/phy/microchip/lan966x_serdes.c
550
if (IS_ERR(*phy))
drivers/phy/microchip/lan966x_serdes.c
551
return PTR_ERR(*phy);
drivers/phy/microchip/lan966x_serdes.c
561
phy_set_drvdata(*phy, macro);
drivers/phy/microchip/sparx5_serdes.c
2280
static int sparx5_serdes_power_on(struct phy *phy)
drivers/phy/microchip/sparx5_serdes.c
2282
struct sparx5_serdes_macro *macro = phy_get_drvdata(phy);
drivers/phy/microchip/sparx5_serdes.c
2287
static int sparx5_serdes_power_off(struct phy *phy)
drivers/phy/microchip/sparx5_serdes.c
2289
struct sparx5_serdes_macro *macro = phy_get_drvdata(phy);
drivers/phy/microchip/sparx5_serdes.c
2294
static int sparx5_serdes_set_mode(struct phy *phy, enum phy_mode mode, int submode)
drivers/phy/microchip/sparx5_serdes.c
2307
macro = phy_get_drvdata(phy);
drivers/phy/microchip/sparx5_serdes.c
2316
static int sparx5_serdes_set_media(struct phy *phy, enum phy_media media)
drivers/phy/microchip/sparx5_serdes.c
2318
struct sparx5_serdes_macro *macro = phy_get_drvdata(phy);
drivers/phy/microchip/sparx5_serdes.c
2328
static int sparx5_serdes_set_speed(struct phy *phy, int speed)
drivers/phy/microchip/sparx5_serdes.c
2330
struct sparx5_serdes_macro *macro = phy_get_drvdata(phy);
drivers/phy/microchip/sparx5_serdes.c
2346
static int sparx5_serdes_reset(struct phy *phy)
drivers/phy/microchip/sparx5_serdes.c
2348
struct sparx5_serdes_macro *macro = phy_get_drvdata(phy);
drivers/phy/microchip/sparx5_serdes.c
2356
dev_err(&phy->dev, "SerDes %u, reset error: %d\n",
drivers/phy/microchip/sparx5_serdes.c
2362
static int sparx5_serdes_validate(struct phy *phy, enum phy_mode mode,
drivers/phy/microchip/sparx5_serdes.c
2366
struct sparx5_serdes_macro *macro = phy_get_drvdata(phy);
drivers/phy/microchip/sparx5_serdes.c
2436
int idx, struct phy **phy)
drivers/phy/microchip/sparx5_serdes.c
2440
*phy = devm_phy_create(priv->dev, NULL, &sparx5_serdes_ops);
drivers/phy/microchip/sparx5_serdes.c
2441
if (IS_ERR(*phy))
drivers/phy/microchip/sparx5_serdes.c
2442
return PTR_ERR(*phy);
drivers/phy/microchip/sparx5_serdes.c
2454
phy_set_drvdata(*phy, macro);
drivers/phy/microchip/sparx5_serdes.c
2457
sparx5_serdes_power_off(*phy);
drivers/phy/microchip/sparx5_serdes.c
2625
static struct phy *sparx5_serdes_xlate(struct device *dev,
drivers/phy/microchip/sparx5_serdes.h
76
struct phy *phys[SPX5_SERDES_MAX];
drivers/phy/motorola/phy-cpcap-usb.c
116
struct usb_phy phy;
drivers/phy/motorola/phy-cpcap-usb.c
611
struct phy *generic_phy;
drivers/phy/motorola/phy-cpcap-usb.c
629
ddata->phy.dev = ddata->dev;
drivers/phy/motorola/phy-cpcap-usb.c
630
ddata->phy.label = "cpcap_usb_phy";
drivers/phy/motorola/phy-cpcap-usb.c
631
ddata->phy.otg = otg;
drivers/phy/motorola/phy-cpcap-usb.c
632
ddata->phy.type = USB_PHY_TYPE_USB2;
drivers/phy/motorola/phy-cpcap-usb.c
635
otg->usb_phy = &ddata->phy;
drivers/phy/motorola/phy-cpcap-usb.c
676
usb_add_phy_dev(&ddata->phy);
drivers/phy/motorola/phy-cpcap-usb.c
700
usb_remove_phy(&ddata->phy);
drivers/phy/motorola/phy-mapphone-mdm6600.c
108
static int phy_mdm6600_init(struct phy *x)
drivers/phy/motorola/phy-mapphone-mdm6600.c
121
static int phy_mdm6600_power_on(struct phy *x)
drivers/phy/motorola/phy-mapphone-mdm6600.c
138
static int phy_mdm6600_power_off(struct phy *x)
drivers/phy/motorola/phy-mapphone-mdm6600.c
92
struct phy *generic_phy;
drivers/phy/mscc/phy-ocelot-serdes.c
24
struct phy *phys[SERDES_MAX];
drivers/phy/mscc/phy-ocelot-serdes.c
398
static int serdes_set_mode(struct phy *phy, enum phy_mode mode, int submode)
drivers/phy/mscc/phy-ocelot-serdes.c
400
struct serdes_macro *macro = phy_get_drvdata(phy);
drivers/phy/mscc/phy-ocelot-serdes.c
443
static struct phy *serdes_simple_xlate(struct device *dev,
drivers/phy/mscc/phy-ocelot-serdes.c
472
static int serdes_phy_create(struct serdes_ctrl *ctrl, u8 idx, struct phy **phy)
drivers/phy/mscc/phy-ocelot-serdes.c
476
*phy = devm_phy_create(ctrl->dev, NULL, &serdes_ops);
drivers/phy/mscc/phy-ocelot-serdes.c
477
if (IS_ERR(*phy))
drivers/phy/mscc/phy-ocelot-serdes.c
478
return PTR_ERR(*phy);
drivers/phy/mscc/phy-ocelot-serdes.c
488
phy_set_drvdata(*phy, macro);
drivers/phy/nuvoton/phy-ma35d1-usb2.c
113
phy = devm_phy_create(&pdev->dev, NULL, &ma35_usb_phy_ops);
drivers/phy/nuvoton/phy-ma35d1-usb2.c
114
if (IS_ERR(phy))
drivers/phy/nuvoton/phy-ma35d1-usb2.c
115
return dev_err_probe(&pdev->dev, PTR_ERR(phy), "Failed to create PHY\n");
drivers/phy/nuvoton/phy-ma35d1-usb2.c
117
phy_set_drvdata(phy, p_phy);
drivers/phy/nuvoton/phy-ma35d1-usb2.c
30
static int ma35_usb_phy_power_on(struct phy *phy)
drivers/phy/nuvoton/phy-ma35d1-usb2.c
32
struct ma35_usb_phy *p_phy = phy_get_drvdata(phy);
drivers/phy/nuvoton/phy-ma35d1-usb2.c
76
static int ma35_usb_phy_power_off(struct phy *phy)
drivers/phy/nuvoton/phy-ma35d1-usb2.c
78
struct ma35_usb_phy *p_phy = phy_get_drvdata(phy);
drivers/phy/nuvoton/phy-ma35d1-usb2.c
94
struct phy *phy;
drivers/phy/phy-airoha-pcie.c
1110
static int airoha_pcie_phy_init(struct phy *phy)
drivers/phy/phy-airoha-pcie.c
1112
struct airoha_pcie_phy *pcie_phy = phy_get_drvdata(phy);
drivers/phy/phy-airoha-pcie.c
1193
static int airoha_pcie_phy_exit(struct phy *phy)
drivers/phy/phy-airoha-pcie.c
1195
struct airoha_pcie_phy *pcie_phy = phy_get_drvdata(phy);
drivers/phy/phy-airoha-pcie.c
1240
pcie_phy->phy = devm_phy_create(dev, dev->of_node, &airoha_pcie_phy_ops);
drivers/phy/phy-airoha-pcie.c
1241
if (IS_ERR(pcie_phy->phy))
drivers/phy/phy-airoha-pcie.c
1242
return dev_err_probe(dev, PTR_ERR(pcie_phy->phy),
drivers/phy/phy-airoha-pcie.c
1263
phy_set_drvdata(pcie_phy->phy, pcie_phy);
drivers/phy/phy-airoha-pcie.c
43
struct phy *phy;
drivers/phy/phy-can-transceiver.c
139
static struct phy *can_transceiver_phy_xlate(struct device *dev,
drivers/phy/phy-can-transceiver.c
166
struct phy *phy;
drivers/phy/phy-can-transceiver.c
200
phy = devm_phy_create(dev, dev->of_node, &can_transceiver_phy_ops);
drivers/phy/phy-can-transceiver.c
201
if (IS_ERR(phy)) {
drivers/phy/phy-can-transceiver.c
203
return PTR_ERR(phy);
drivers/phy/phy-can-transceiver.c
206
phy->attrs.max_link_rate = max_bitrate;
drivers/phy/phy-can-transceiver.c
208
can_transceiver_phy->generic_phy = phy;
drivers/phy/phy-can-transceiver.c
25
struct phy *generic_phy;
drivers/phy/phy-can-transceiver.c
39
static int can_transceiver_phy_power_on(struct phy *phy)
drivers/phy/phy-can-transceiver.c
41
struct can_transceiver_phy *can_transceiver_phy = phy_get_drvdata(phy);
drivers/phy/phy-can-transceiver.c
48
dev_err(&phy->dev, "Failed to select CAN mux: %d\n", ret);
drivers/phy/phy-can-transceiver.c
60
static int can_transceiver_phy_power_off(struct phy *phy)
drivers/phy/phy-can-transceiver.c
62
struct can_transceiver_phy *can_transceiver_phy = phy_get_drvdata(phy);
drivers/phy/phy-core.c
1002
struct phy *phy;
drivers/phy/phy-core.c
1007
phy = kzalloc_obj(*phy);
drivers/phy/phy-core.c
1008
if (!phy)
drivers/phy/phy-core.c
1018
device_initialize(&phy->dev);
drivers/phy/phy-core.c
1019
lockdep_register_key(&phy->lockdep_key);
drivers/phy/phy-core.c
1020
mutex_init_with_key(&phy->mutex, &phy->lockdep_key);
drivers/phy/phy-core.c
1022
phy->dev.class = &phy_class;
drivers/phy/phy-core.c
1023
phy->dev.parent = dev;
drivers/phy/phy-core.c
1024
phy->dev.of_node = node ?: dev->of_node;
drivers/phy/phy-core.c
1025
phy->id = id;
drivers/phy/phy-core.c
1026
phy->ops = ops;
drivers/phy/phy-core.c
1028
ret = dev_set_name(&phy->dev, "phy-%s.%d", dev_name(dev), id);
drivers/phy/phy-core.c
103
void phy_remove_lookup(struct phy *phy, const char *con_id, const char *dev_id)
drivers/phy/phy-core.c
1033
phy->pwr = regulator_get_optional(&phy->dev, "phy");
drivers/phy/phy-core.c
1034
if (IS_ERR(phy->pwr)) {
drivers/phy/phy-core.c
1035
ret = PTR_ERR(phy->pwr);
drivers/phy/phy-core.c
1039
phy->pwr = NULL;
drivers/phy/phy-core.c
1042
ret = device_add(&phy->dev);
drivers/phy/phy-core.c
1047
pm_runtime_enable(&phy->dev);
drivers/phy/phy-core.c
1048
pm_runtime_no_callbacks(&phy->dev);
drivers/phy/phy-core.c
1051
phy->debugfs = debugfs_create_dir(dev_name(&phy->dev), phy_debugfs_root);
drivers/phy/phy-core.c
1053
return phy;
drivers/phy/phy-core.c
1056
put_device(&phy->dev); /* calls phy_release() which frees resources */
drivers/phy/phy-core.c
1060
kfree(phy);
drivers/phy/phy-core.c
107
if (!phy || !dev_id || !con_id)
drivers/phy/phy-core.c
1076
struct phy *devm_phy_create(struct device *dev, struct device_node *node,
drivers/phy/phy-core.c
1079
struct phy **ptr, *phy;
drivers/phy/phy-core.c
1085
phy = phy_create(dev, node, ops);
drivers/phy/phy-core.c
1086
if (!IS_ERR(phy)) {
drivers/phy/phy-core.c
1087
*ptr = phy;
drivers/phy/phy-core.c
1093
return phy;
drivers/phy/phy-core.c
1103
void phy_destroy(struct phy *phy)
drivers/phy/phy-core.c
1105
pm_runtime_disable(&phy->dev);
drivers/phy/phy-core.c
1106
device_unregister(&phy->dev);
drivers/phy/phy-core.c
1118
void devm_phy_destroy(struct device *dev, struct phy *phy)
drivers/phy/phy-core.c
112
if (pl->phy == phy && !strcmp(pl->dev_id, dev_id) &&
drivers/phy/phy-core.c
1122
r = devres_release(dev, devm_phy_consume, devm_phy_match, phy);
drivers/phy/phy-core.c
1147
struct phy * (*of_xlate)(struct device *dev,
drivers/phy/phy-core.c
1210
struct phy * (*of_xlate)(struct device *dev,
drivers/phy/phy-core.c
122
static struct phy *phy_find(struct device *dev, const char *con_id)
drivers/phy/phy-core.c
1279
struct phy *phy;
drivers/phy/phy-core.c
1281
phy = to_phy(dev);
drivers/phy/phy-core.c
1283
debugfs_remove_recursive(phy->debugfs);
drivers/phy/phy-core.c
1284
regulator_put(phy->pwr);
drivers/phy/phy-core.c
1285
mutex_destroy(&phy->mutex);
drivers/phy/phy-core.c
1286
lockdep_unregister_key(&phy->lockdep_key);
drivers/phy/phy-core.c
1287
ida_free(&phy_ida, phy->id);
drivers/phy/phy-core.c
1288
kfree(phy);
drivers/phy/phy-core.c
135
return pl ? pl->phy : ERR_PTR(-ENODEV);
drivers/phy/phy-core.c
154
int phy_pm_runtime_get(struct phy *phy)
drivers/phy/phy-core.c
158
if (!phy)
drivers/phy/phy-core.c
161
if (!pm_runtime_enabled(&phy->dev))
drivers/phy/phy-core.c
164
ret = pm_runtime_get(&phy->dev);
drivers/phy/phy-core.c
166
pm_runtime_put_noidle(&phy->dev);
drivers/phy/phy-core.c
172
int phy_pm_runtime_get_sync(struct phy *phy)
drivers/phy/phy-core.c
176
if (!phy)
drivers/phy/phy-core.c
179
if (!pm_runtime_enabled(&phy->dev))
drivers/phy/phy-core.c
182
ret = pm_runtime_get_sync(&phy->dev);
drivers/phy/phy-core.c
184
pm_runtime_put_sync(&phy->dev);
drivers/phy/phy-core.c
190
void phy_pm_runtime_put(struct phy *phy)
drivers/phy/phy-core.c
192
if (!phy)
drivers/phy/phy-core.c
195
if (!pm_runtime_enabled(&phy->dev))
drivers/phy/phy-core.c
198
pm_runtime_put(&phy->dev);
drivers/phy/phy-core.c
202
int phy_pm_runtime_put_sync(struct phy *phy)
drivers/phy/phy-core.c
204
if (!phy)
drivers/phy/phy-core.c
207
if (!pm_runtime_enabled(&phy->dev))
drivers/phy/phy-core.c
210
return pm_runtime_put_sync(&phy->dev);
drivers/phy/phy-core.c
225
int phy_init(struct phy *phy)
drivers/phy/phy-core.c
229
if (!phy)
drivers/phy/phy-core.c
232
ret = phy_pm_runtime_get_sync(phy);
drivers/phy/phy-core.c
237
mutex_lock(&phy->mutex);
drivers/phy/phy-core.c
238
if (phy->power_count > phy->init_count)
drivers/phy/phy-core.c
239
dev_warn(&phy->dev, "phy_power_on was called before phy_init\n");
drivers/phy/phy-core.c
241
if (phy->init_count == 0 && phy->ops->init) {
drivers/phy/phy-core.c
242
ret = phy->ops->init(phy);
drivers/phy/phy-core.c
244
dev_err(&phy->dev, "phy init failed --> %d\n", ret);
drivers/phy/phy-core.c
248
++phy->init_count;
drivers/phy/phy-core.c
251
mutex_unlock(&phy->mutex);
drivers/phy/phy-core.c
252
phy_pm_runtime_put(phy);
drivers/phy/phy-core.c
265
int phy_exit(struct phy *phy)
drivers/phy/phy-core.c
269
if (!phy)
drivers/phy/phy-core.c
272
ret = phy_pm_runtime_get_sync(phy);
drivers/phy/phy-core.c
277
mutex_lock(&phy->mutex);
drivers/phy/phy-core.c
278
if (phy->init_count == 1 && phy->ops->exit) {
drivers/phy/phy-core.c
279
ret = phy->ops->exit(phy);
drivers/phy/phy-core.c
281
dev_err(&phy->dev, "phy exit failed --> %d\n", ret);
drivers/phy/phy-core.c
285
--phy->init_count;
drivers/phy/phy-core.c
288
mutex_unlock(&phy->mutex);
drivers/phy/phy-core.c
289
phy_pm_runtime_put(phy);
drivers/phy/phy-core.c
302
int phy_power_on(struct phy *phy)
drivers/phy/phy-core.c
306
if (!phy)
drivers/phy/phy-core.c
309
if (phy->pwr) {
drivers/phy/phy-core.c
310
ret = regulator_enable(phy->pwr);
drivers/phy/phy-core.c
315
ret = phy_pm_runtime_get_sync(phy);
drivers/phy/phy-core.c
321
mutex_lock(&phy->mutex);
drivers/phy/phy-core.c
322
if (phy->power_count == 0 && phy->ops->power_on) {
drivers/phy/phy-core.c
323
ret = phy->ops->power_on(phy);
drivers/phy/phy-core.c
325
dev_err(&phy->dev, "phy poweron failed --> %d\n", ret);
drivers/phy/phy-core.c
329
++phy->power_count;
drivers/phy/phy-core.c
330
mutex_unlock(&phy->mutex);
drivers/phy/phy-core.c
334
mutex_unlock(&phy->mutex);
drivers/phy/phy-core.c
335
phy_pm_runtime_put_sync(phy);
drivers/phy/phy-core.c
337
if (phy->pwr)
drivers/phy/phy-core.c
338
regulator_disable(phy->pwr);
drivers/phy/phy-core.c
352
int phy_power_off(struct phy *phy)
drivers/phy/phy-core.c
356
if (!phy)
drivers/phy/phy-core.c
359
mutex_lock(&phy->mutex);
drivers/phy/phy-core.c
360
if (phy->power_count == 1 && phy->ops->power_off) {
drivers/phy/phy-core.c
361
ret = phy->ops->power_off(phy);
drivers/phy/phy-core.c
363
dev_err(&phy->dev, "phy poweroff failed --> %d\n", ret);
drivers/phy/phy-core.c
364
mutex_unlock(&phy->mutex);
drivers/phy/phy-core.c
368
--phy->power_count;
drivers/phy/phy-core.c
369
mutex_unlock(&phy->mutex);
drivers/phy/phy-core.c
37
struct phy *phy = *(struct phy **)res;
drivers/phy/phy-core.c
370
phy_pm_runtime_put(phy);
drivers/phy/phy-core.c
372
if (phy->pwr)
drivers/phy/phy-core.c
373
regulator_disable(phy->pwr);
drivers/phy/phy-core.c
379
int phy_set_mode_ext(struct phy *phy, enum phy_mode mode, int submode)
drivers/phy/phy-core.c
383
if (!phy)
drivers/phy/phy-core.c
386
mutex_lock(&phy->mutex);
drivers/phy/phy-core.c
387
if (phy->ops->set_mode)
drivers/phy/phy-core.c
388
ret = phy->ops->set_mode(phy, mode, submode);
drivers/phy/phy-core.c
39
phy_put(dev, phy);
drivers/phy/phy-core.c
390
phy->attrs.mode = mode;
drivers/phy/phy-core.c
391
mutex_unlock(&phy->mutex);
drivers/phy/phy-core.c
397
int phy_set_media(struct phy *phy, enum phy_media media)
drivers/phy/phy-core.c
401
if (!phy || !phy->ops->set_media)
drivers/phy/phy-core.c
404
mutex_lock(&phy->mutex);
drivers/phy/phy-core.c
405
ret = phy->ops->set_media(phy, media);
drivers/phy/phy-core.c
406
mutex_unlock(&phy->mutex);
drivers/phy/phy-core.c
412
int phy_set_speed(struct phy *phy, int speed)
drivers/phy/phy-core.c
416
if (!phy || !phy->ops->set_speed)
drivers/phy/phy-core.c
419
mutex_lock(&phy->mutex);
drivers/phy/phy-core.c
420
ret = phy->ops->set_speed(phy, speed);
drivers/phy/phy-core.c
421
mutex_unlock(&phy->mutex);
drivers/phy/phy-core.c
427
int phy_reset(struct phy *phy)
drivers/phy/phy-core.c
431
if (!phy || !phy->ops->reset)
drivers/phy/phy-core.c
434
ret = phy_pm_runtime_get_sync(phy);
drivers/phy/phy-core.c
438
mutex_lock(&phy->mutex);
drivers/phy/phy-core.c
439
ret = phy->ops->reset(phy);
drivers/phy/phy-core.c
440
mutex_unlock(&phy->mutex);
drivers/phy/phy-core.c
442
phy_pm_runtime_put(phy);
drivers/phy/phy-core.c
458
int phy_calibrate(struct phy *phy)
drivers/phy/phy-core.c
462
if (!phy || !phy->ops->calibrate)
drivers/phy/phy-core.c
465
mutex_lock(&phy->mutex);
drivers/phy/phy-core.c
466
ret = phy->ops->calibrate(phy);
drivers/phy/phy-core.c
467
mutex_unlock(&phy->mutex);
drivers/phy/phy-core.c
481
int phy_notify_connect(struct phy *phy, int port)
drivers/phy/phy-core.c
485
if (!phy || !phy->ops->connect)
drivers/phy/phy-core.c
488
mutex_lock(&phy->mutex);
drivers/phy/phy-core.c
489
ret = phy->ops->connect(phy, port);
drivers/phy/phy-core.c
490
mutex_unlock(&phy->mutex);
drivers/phy/phy-core.c
505
int phy_notify_disconnect(struct phy *phy, int port)
drivers/phy/phy-core.c
509
if (!phy || !phy->ops->disconnect)
drivers/phy/phy-core.c
51
struct phy *phy = *(struct phy **)res;
drivers/phy/phy-core.c
512
mutex_lock(&phy->mutex);
drivers/phy/phy-core.c
513
ret = phy->ops->disconnect(phy, port);
drivers/phy/phy-core.c
514
mutex_unlock(&phy->mutex);
drivers/phy/phy-core.c
53
phy_destroy(phy);
drivers/phy/phy-core.c
530
int phy_notify_state(struct phy *phy, union phy_notify state)
drivers/phy/phy-core.c
534
if (!phy || !phy->ops->notify_phystate)
drivers/phy/phy-core.c
537
mutex_lock(&phy->mutex);
drivers/phy/phy-core.c
538
ret = phy->ops->notify_phystate(phy, state);
drivers/phy/phy-core.c
539
mutex_unlock(&phy->mutex);
drivers/phy/phy-core.c
556
int phy_configure(struct phy *phy, union phy_configure_opts *opts)
drivers/phy/phy-core.c
560
if (!phy)
drivers/phy/phy-core.c
563
if (!phy->ops->configure)
drivers/phy/phy-core.c
566
mutex_lock(&phy->mutex);
drivers/phy/phy-core.c
567
ret = phy->ops->configure(phy, opts);
drivers/phy/phy-core.c
568
mutex_unlock(&phy->mutex);
drivers/phy/phy-core.c
58
struct phy **phy = res;
drivers/phy/phy-core.c
590
int phy_validate(struct phy *phy, enum phy_mode mode, int submode,
drivers/phy/phy-core.c
595
if (!phy)
drivers/phy/phy-core.c
598
if (!phy->ops->validate)
drivers/phy/phy-core.c
60
return *phy == match_data;
drivers/phy/phy-core.c
601
mutex_lock(&phy->mutex);
drivers/phy/phy-core.c
602
ret = phy->ops->validate(phy, mode, submode, opts);
drivers/phy/phy-core.c
603
mutex_unlock(&phy->mutex);
drivers/phy/phy-core.c
620
static struct phy *_of_phy_get(struct device_node *np, int index)
drivers/phy/phy-core.c
624
struct phy *phy = NULL;
drivers/phy/phy-core.c
634
phy = ERR_PTR(-ENODEV);
drivers/phy/phy-core.c
641
phy = ERR_PTR(-EPROBE_DEFER);
drivers/phy/phy-core.c
647
phy = ERR_PTR(-ENODEV);
drivers/phy/phy-core.c
651
phy = phy_provider->of_xlate(phy_provider->dev, &args);
drivers/phy/phy-core.c
661
return phy;
drivers/phy/phy-core.c
673
struct phy *of_phy_get(struct device_node *np, const char *con_id)
drivers/phy/phy-core.c
675
struct phy *phy = NULL;
drivers/phy/phy-core.c
681
phy = _of_phy_get(np, index);
drivers/phy/phy-core.c
682
if (IS_ERR(phy))
drivers/phy/phy-core.c
683
return phy;
drivers/phy/phy-core.c
685
if (!try_module_get(phy->ops->owner))
drivers/phy/phy-core.c
688
get_device(&phy->dev);
drivers/phy/phy-core.c
690
return phy;
drivers/phy/phy-core.c
700
void of_phy_put(struct phy *phy)
drivers/phy/phy-core.c
702
if (!phy || IS_ERR(phy))
drivers/phy/phy-core.c
705
mutex_lock(&phy->mutex);
drivers/phy/phy-core.c
706
if (phy->ops->release)
drivers/phy/phy-core.c
707
phy->ops->release(phy);
drivers/phy/phy-core.c
708
mutex_unlock(&phy->mutex);
drivers/phy/phy-core.c
71
int phy_create_lookup(struct phy *phy, const char *con_id, const char *dev_id)
drivers/phy/phy-core.c
710
module_put(phy->ops->owner);
drivers/phy/phy-core.c
711
put_device(&phy->dev);
drivers/phy/phy-core.c
722
void phy_put(struct device *dev, struct phy *phy)
drivers/phy/phy-core.c
724
device_link_remove(dev, &phy->dev);
drivers/phy/phy-core.c
725
of_phy_put(phy);
drivers/phy/phy-core.c
737
void devm_phy_put(struct device *dev, struct phy *phy)
drivers/phy/phy-core.c
741
if (!phy)
drivers/phy/phy-core.c
744
r = devres_release(dev, devm_phy_release, devm_phy_match, phy);
drivers/phy/phy-core.c
75
if (!phy || !dev_id || !con_id)
drivers/phy/phy-core.c
759
struct phy *of_phy_simple_xlate(struct device *dev,
drivers/phy/phy-core.c
783
struct phy *phy_get(struct device *dev, const char *string)
drivers/phy/phy-core.c
786
struct phy *phy;
drivers/phy/phy-core.c
795
phy = _of_phy_get(dev->of_node, index);
drivers/phy/phy-core.c
801
phy = phy_find(dev, string);
drivers/phy/phy-core.c
803
if (IS_ERR(phy))
drivers/phy/phy-core.c
804
return phy;
drivers/phy/phy-core.c
806
if (!try_module_get(phy->ops->owner))
drivers/phy/phy-core.c
809
get_device(&phy->dev);
drivers/phy/phy-core.c
811
link = device_link_add(dev, &phy->dev, DL_FLAG_STATELESS);
drivers/phy/phy-core.c
814
dev_name(phy->dev.parent));
drivers/phy/phy-core.c
816
return phy;
drivers/phy/phy-core.c
830
struct phy *devm_phy_get(struct device *dev, const char *string)
drivers/phy/phy-core.c
832
struct phy **ptr, *phy;
drivers/phy/phy-core.c
838
phy = phy_get(dev, string);
drivers/phy/phy-core.c
839
if (!IS_ERR(phy)) {
drivers/phy/phy-core.c
84
pl->phy = phy;
drivers/phy/phy-core.c
840
*ptr = phy;
drivers/phy/phy-core.c
846
return phy;
drivers/phy/phy-core.c
863
struct phy *devm_phy_optional_get(struct device *dev, const char *string)
drivers/phy/phy-core.c
865
struct phy *phy = devm_phy_get(dev, string);
drivers/phy/phy-core.c
867
if (PTR_ERR(phy) == -ENODEV)
drivers/phy/phy-core.c
868
phy = NULL;
drivers/phy/phy-core.c
870
return phy;
drivers/phy/phy-core.c
884
struct phy *devm_of_phy_get(struct device *dev, struct device_node *np,
drivers/phy/phy-core.c
887
struct phy **ptr, *phy;
drivers/phy/phy-core.c
894
phy = of_phy_get(np, con_id);
drivers/phy/phy-core.c
895
if (!IS_ERR(phy)) {
drivers/phy/phy-core.c
896
*ptr = phy;
drivers/phy/phy-core.c
900
return phy;
drivers/phy/phy-core.c
903
link = device_link_add(dev, &phy->dev, DL_FLAG_STATELESS);
drivers/phy/phy-core.c
906
dev_name(phy->dev.parent));
drivers/phy/phy-core.c
908
return phy;
drivers/phy/phy-core.c
926
struct phy *devm_of_phy_optional_get(struct device *dev, struct device_node *np,
drivers/phy/phy-core.c
929
struct phy *phy = devm_of_phy_get(dev, np, con_id);
drivers/phy/phy-core.c
931
if (PTR_ERR(phy) == -ENODEV)
drivers/phy/phy-core.c
932
phy = NULL;
drivers/phy/phy-core.c
934
if (IS_ERR(phy))
drivers/phy/phy-core.c
935
dev_err_probe(dev, PTR_ERR(phy), "failed to get PHY %pOF:%s",
drivers/phy/phy-core.c
938
return phy;
drivers/phy/phy-core.c
954
struct phy *devm_of_phy_get_by_index(struct device *dev, struct device_node *np,
drivers/phy/phy-core.c
957
struct phy **ptr, *phy;
drivers/phy/phy-core.c
964
phy = _of_phy_get(np, index);
drivers/phy/phy-core.c
965
if (IS_ERR(phy)) {
drivers/phy/phy-core.c
967
return phy;
drivers/phy/phy-core.c
970
if (!try_module_get(phy->ops->owner)) {
drivers/phy/phy-core.c
975
get_device(&phy->dev);
drivers/phy/phy-core.c
977
*ptr = phy;
drivers/phy/phy-core.c
980
link = device_link_add(dev, &phy->dev, DL_FLAG_STATELESS);
drivers/phy/phy-core.c
983
dev_name(phy->dev.parent));
drivers/phy/phy-core.c
985
return phy;
drivers/phy/phy-core.c
997
struct phy *phy_create(struct device *dev, struct device_node *node,
drivers/phy/phy-google-usb.c
139
static int google_usb2_phy_exit(struct phy *_phy)
drivers/phy/phy-google-usb.c
164
static struct phy *google_usb_phy_xlate(struct device *dev,
drivers/phy/phy-google-usb.c
173
return gphy->insts[args->args[0]].phy;
drivers/phy/phy-google-usb.c
183
struct phy *phy;
drivers/phy/phy-google-usb.c
222
phy = devm_phy_create(dev, NULL, &google_usb2_phy_ops);
drivers/phy/phy-google-usb.c
223
if (IS_ERR(phy))
drivers/phy/phy-google-usb.c
224
return dev_err_probe(dev, PTR_ERR(phy),
drivers/phy/phy-google-usb.c
226
inst->phy = phy;
drivers/phy/phy-google-usb.c
227
phy_set_drvdata(phy, inst);
drivers/phy/phy-google-usb.c
42
struct phy *phy;
drivers/phy/phy-google-usb.c
98
static int google_usb2_phy_init(struct phy *_phy)
drivers/phy/phy-lgm-usb.c
101
struct tca_apb *ta = container_of(phy, struct tca_apb, phy);
drivers/phy/phy-lgm-usb.c
109
ta->phy.set_vbus(&ta->phy, false);
drivers/phy/phy-lgm-usb.c
112
writel(TCPC_DISCONN, ta->phy.io_priv + TCPC_OFFSET);
drivers/phy/phy-lgm-usb.c
118
static int phy_set_vbus(struct usb_phy *phy, int on)
drivers/phy/phy-lgm-usb.c
120
struct tca_apb *ta = container_of(phy, struct tca_apb, phy);
drivers/phy/phy-lgm-usb.c
134
dev_dbg(ta->phy.dev, "set vbus: %d\n", on);
drivers/phy/phy-lgm-usb.c
150
connected = extcon_get_state(ta->phy.edev, EXTCON_USB_HOST);
drivers/phy/phy-lgm-usb.c
159
dev_dbg(ta->phy.dev, "connected%s\n", flipped ? " flipped" : "");
drivers/phy/phy-lgm-usb.c
162
dev_dbg(ta->phy.dev, "disconnected\n");
drivers/phy/phy-lgm-usb.c
165
writel(val, ta->phy.io_priv + TCPC_OFFSET);
drivers/phy/phy-lgm-usb.c
167
ret = ta->phy.set_vbus(&ta->phy, connected);
drivers/phy/phy-lgm-usb.c
169
dev_err(ta->phy.dev, "failed to set VBUS\n");
drivers/phy/phy-lgm-usb.c
174
struct tca_apb *ta = container_of(nb, struct tca_apb, phy.id_nb);
drivers/phy/phy-lgm-usb.c
191
struct usb_phy *phy;
drivers/phy/phy-lgm-usb.c
202
phy = &ta->phy;
drivers/phy/phy-lgm-usb.c
203
phy->dev = dev;
drivers/phy/phy-lgm-usb.c
204
phy->label = dev_name(dev);
drivers/phy/phy-lgm-usb.c
205
phy->type = USB_PHY_TYPE_USB3;
drivers/phy/phy-lgm-usb.c
206
phy->init = phy_init;
drivers/phy/phy-lgm-usb.c
207
phy->shutdown = phy_shutdown;
drivers/phy/phy-lgm-usb.c
208
phy->set_vbus = phy_set_vbus;
drivers/phy/phy-lgm-usb.c
209
phy->id_nb.notifier_call = id_notifier;
drivers/phy/phy-lgm-usb.c
210
phy->vbus_nb.notifier_call = vbus_notifier;
drivers/phy/phy-lgm-usb.c
212
phy->io_priv = devm_platform_ioremap_resource(pdev, 0);
drivers/phy/phy-lgm-usb.c
213
if (IS_ERR(phy->io_priv))
drivers/phy/phy-lgm-usb.c
214
return PTR_ERR(phy->io_priv);
drivers/phy/phy-lgm-usb.c
252
return usb_add_phy_dev(phy);
drivers/phy/phy-lgm-usb.c
259
usb_remove_phy(&ta->phy);
drivers/phy/phy-lgm-usb.c
44
struct usb_phy phy;
drivers/phy/phy-lgm-usb.c
56
ret = extcon_get_property(ta->phy.edev, EXTCON_USB_HOST,
drivers/phy/phy-lgm-usb.c
59
dev_err(ta->phy.dev, "no polarity property from extcon\n");
drivers/phy/phy-lgm-usb.c
68
static int phy_init(struct usb_phy *phy)
drivers/phy/phy-lgm-usb.c
70
struct tca_apb *ta = container_of(phy, struct tca_apb, phy);
drivers/phy/phy-lgm-usb.c
71
void __iomem *ctrl1 = phy->io_priv + CTRL1_OFFSET;
drivers/phy/phy-lgm-usb.c
82
dev_err(ta->phy.dev, "SRAM init failed, 0x%x\n", val);
drivers/phy/phy-lgm-usb.c
89
if (!ta->phy.edev) {
drivers/phy/phy-lgm-usb.c
90
writel(TCPC_CONN, ta->phy.io_priv + TCPC_OFFSET);
drivers/phy/phy-lgm-usb.c
91
return phy->set_vbus(phy, true);
drivers/phy/phy-lgm-usb.c
99
static void phy_shutdown(struct usb_phy *phy)
drivers/phy/phy-lpc18xx-usb-otg.c
114
lpc->phy = devm_phy_create(&pdev->dev, NULL, &lpc18xx_usb_otg_phy_ops);
drivers/phy/phy-lpc18xx-usb-otg.c
115
if (IS_ERR(lpc->phy)) {
drivers/phy/phy-lpc18xx-usb-otg.c
117
return PTR_ERR(lpc->phy);
drivers/phy/phy-lpc18xx-usb-otg.c
120
phy_set_drvdata(lpc->phy, lpc);
drivers/phy/phy-lpc18xx-usb-otg.c
22
struct phy *phy;
drivers/phy/phy-lpc18xx-usb-otg.c
27
static int lpc18xx_usb_otg_phy_init(struct phy *phy)
drivers/phy/phy-lpc18xx-usb-otg.c
29
struct lpc18xx_usb_otg_phy *lpc = phy_get_drvdata(phy);
drivers/phy/phy-lpc18xx-usb-otg.c
40
static int lpc18xx_usb_otg_phy_exit(struct phy *phy)
drivers/phy/phy-lpc18xx-usb-otg.c
42
struct lpc18xx_usb_otg_phy *lpc = phy_get_drvdata(phy);
drivers/phy/phy-lpc18xx-usb-otg.c
49
static int lpc18xx_usb_otg_phy_power_on(struct phy *phy)
drivers/phy/phy-lpc18xx-usb-otg.c
51
struct lpc18xx_usb_otg_phy *lpc = phy_get_drvdata(phy);
drivers/phy/phy-lpc18xx-usb-otg.c
69
static int lpc18xx_usb_otg_phy_power_off(struct phy *phy)
drivers/phy/phy-lpc18xx-usb-otg.c
71
struct lpc18xx_usb_otg_phy *lpc = phy_get_drvdata(phy);
drivers/phy/phy-nxp-ptn3222.c
18
struct phy *phy;
drivers/phy/phy-nxp-ptn3222.c
23
static int ptn3222_init(struct phy *phy)
drivers/phy/phy-nxp-ptn3222.c
25
struct ptn3222 *ptn3222 = phy_get_drvdata(phy);
drivers/phy/phy-nxp-ptn3222.c
37
static int ptn3222_exit(struct phy *phy)
drivers/phy/phy-nxp-ptn3222.c
39
struct ptn3222 *ptn3222 = phy_get_drvdata(phy);
drivers/phy/phy-nxp-ptn3222.c
86
ptn3222->phy = devm_phy_create(dev, dev->of_node, &ptn3222_ops);
drivers/phy/phy-nxp-ptn3222.c
87
if (IS_ERR(ptn3222->phy)) {
drivers/phy/phy-nxp-ptn3222.c
89
return PTR_ERR(ptn3222->phy);
drivers/phy/phy-nxp-ptn3222.c
92
phy_set_drvdata(ptn3222->phy, ptn3222);
drivers/phy/phy-pistachio-usb.c
117
static int pistachio_usb_phy_power_off(struct phy *phy)
drivers/phy/phy-pistachio-usb.c
119
struct pistachio_usb_phy *p_phy = phy_get_drvdata(phy);
drivers/phy/phy-pistachio-usb.c
136
struct phy *phy;
drivers/phy/phy-pistachio-usb.c
167
phy = devm_phy_create(p_phy->dev, NULL, &pistachio_usb_phy_ops);
drivers/phy/phy-pistachio-usb.c
168
if (IS_ERR(phy)) {
drivers/phy/phy-pistachio-usb.c
170
PTR_ERR(phy));
drivers/phy/phy-pistachio-usb.c
171
return PTR_ERR(phy);
drivers/phy/phy-pistachio-usb.c
173
phy_set_drvdata(phy, p_phy);
drivers/phy/phy-pistachio-usb.c
52
static int pistachio_usb_phy_power_on(struct phy *phy)
drivers/phy/phy-pistachio-usb.c
54
struct pistachio_usb_phy *p_phy = phy_get_drvdata(phy);
drivers/phy/phy-snps-eusb2.c
158
int (*phy_init)(struct phy *p);
drivers/phy/phy-snps-eusb2.c
164
struct phy *phy;
drivers/phy/phy-snps-eusb2.c
175
struct phy *repeater;
drivers/phy/phy-snps-eusb2.c
180
static int snps_eusb2_hsphy_set_mode(struct phy *p, enum phy_mode mode, int submode)
drivers/phy/phy-snps-eusb2.c
182
struct snps_eusb2_hsphy *phy = phy_get_drvdata(p);
drivers/phy/phy-snps-eusb2.c
184
phy->mode = mode;
drivers/phy/phy-snps-eusb2.c
186
return phy_set_mode_ext(phy->repeater, mode, submode);
drivers/phy/phy-snps-eusb2.c
203
static void qcom_eusb2_default_parameters(struct snps_eusb2_hsphy *phy)
drivers/phy/phy-snps-eusb2.c
206
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_CFG_CTRL_9,
drivers/phy/phy-snps-eusb2.c
211
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_CFG_CTRL_9,
drivers/phy/phy-snps-eusb2.c
216
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_CFG_CTRL_9,
drivers/phy/phy-snps-eusb2.c
221
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_CFG_CTRL_8,
drivers/phy/phy-snps-eusb2.c
226
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_CFG_CTRL_8,
drivers/phy/phy-snps-eusb2.c
246
static int exynos_eusb2_ref_clk_init(struct snps_eusb2_hsphy *phy)
drivers/phy/phy-snps-eusb2.c
249
unsigned long ref_clk_freq = clk_get_rate(phy->ref_clk);
drivers/phy/phy-snps-eusb2.c
259
dev_err(&phy->phy->dev, "unsupported ref_clk_freq: %lu\n", ref_clk_freq);
drivers/phy/phy-snps-eusb2.c
263
snps_eusb2_hsphy_write_mask(phy->base, EXYNOS_USB_PHY_HS_PHY_CTRL_COMMON,
drivers/phy/phy-snps-eusb2.c
267
snps_eusb2_hsphy_write_mask(phy->base, EXYNOS_USB_PHY_CFG_PLLCFG0,
drivers/phy/phy-snps-eusb2.c
272
snps_eusb2_hsphy_write_mask(phy->base, EXYNOS_USB_PHY_CFG_PLLCFG1,
drivers/phy/phy-snps-eusb2.c
283
static int qcom_eusb2_ref_clk_init(struct snps_eusb2_hsphy *phy)
drivers/phy/phy-snps-eusb2.c
286
unsigned long ref_clk_freq = clk_get_rate(phy->ref_clk);
drivers/phy/phy-snps-eusb2.c
296
dev_err(&phy->phy->dev, "unsupported ref_clk_freq: %lu\n", ref_clk_freq);
drivers/phy/phy-snps-eusb2.c
300
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_HS_PHY_CTRL_COMMON0,
drivers/phy/phy-snps-eusb2.c
304
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_CFG_CTRL_2,
drivers/phy/phy-snps-eusb2.c
308
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_CFG_CTRL_3,
drivers/phy/phy-snps-eusb2.c
312
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_CFG_CTRL_3,
drivers/phy/phy-snps-eusb2.c
318
static int exynos_snps_eusb2_hsphy_init(struct phy *p)
drivers/phy/phy-snps-eusb2.c
320
struct snps_eusb2_hsphy *phy = phy_get_drvdata(p);
drivers/phy/phy-snps-eusb2.c
323
snps_eusb2_hsphy_write_mask(phy->base, EXYNOS_USB_PHY_HS_PHY_CTRL_RST,
drivers/phy/phy-snps-eusb2.c
328
snps_eusb2_hsphy_write_mask(phy->base, EXYNOS_USB_PHY_HS_PHY_CTRL_COMMON,
drivers/phy/phy-snps-eusb2.c
332
ret = exynos_eusb2_ref_clk_init(phy);
drivers/phy/phy-snps-eusb2.c
337
snps_eusb2_hsphy_write_mask(phy->base, EXYNOS_PHY_CFG_TX,
drivers/phy/phy-snps-eusb2.c
341
snps_eusb2_hsphy_write_mask(phy->base, EXYNOS_USB_PHY_UTMI_TESTSE,
drivers/phy/phy-snps-eusb2.c
345
snps_eusb2_hsphy_write_mask(phy->base, EXYNOS_USB_PHY_HS_PHY_CTRL_RST,
drivers/phy/phy-snps-eusb2.c
348
snps_eusb2_hsphy_write_mask(phy->base, EXYNOS_USB_PHY_HS_PHY_CTRL_COMMON,
drivers/phy/phy-snps-eusb2.c
351
snps_eusb2_hsphy_write_mask(phy->base, EXYNOS_USB_PHY_HS_PHY_CTRL_RST,
drivers/phy/phy-snps-eusb2.c
367
static int qcom_snps_eusb2_hsphy_init(struct phy *p)
drivers/phy/phy-snps-eusb2.c
369
struct snps_eusb2_hsphy *phy = phy_get_drvdata(p);
drivers/phy/phy-snps-eusb2.c
372
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_CFG0,
drivers/phy/phy-snps-eusb2.c
375
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_UTMI_CTRL5, POR, POR);
drivers/phy/phy-snps-eusb2.c
377
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_HS_PHY_CTRL_COMMON0,
drivers/phy/phy-snps-eusb2.c
380
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_APB_ACCESS_CMD,
drivers/phy/phy-snps-eusb2.c
383
snps_eusb2_hsphy_write_mask(phy->base, QCOM_UTMI_PHY_CMN_CTRL0, TESTBURNIN, 0);
drivers/phy/phy-snps-eusb2.c
385
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_FSEL_SEL,
drivers/phy/phy-snps-eusb2.c
389
ret = qcom_eusb2_ref_clk_init(phy);
drivers/phy/phy-snps-eusb2.c
393
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_CFG_CTRL_1,
drivers/phy/phy-snps-eusb2.c
397
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_CFG_CTRL_4,
drivers/phy/phy-snps-eusb2.c
401
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_CFG_CTRL_4,
drivers/phy/phy-snps-eusb2.c
405
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_CFG_CTRL_5,
drivers/phy/phy-snps-eusb2.c
409
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_CFG_CTRL_6,
drivers/phy/phy-snps-eusb2.c
413
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_CFG_CTRL_5,
drivers/phy/phy-snps-eusb2.c
417
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_HS_PHY_CTRL2,
drivers/phy/phy-snps-eusb2.c
421
qcom_eusb2_default_parameters(phy);
drivers/phy/phy-snps-eusb2.c
423
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_HS_PHY_CTRL2,
drivers/phy/phy-snps-eusb2.c
427
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_UTMI_CTRL0, SLEEPM, SLEEPM);
drivers/phy/phy-snps-eusb2.c
429
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_HS_PHY_CTRL_COMMON0,
drivers/phy/phy-snps-eusb2.c
432
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_HS_PHY_CTRL_COMMON0,
drivers/phy/phy-snps-eusb2.c
435
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_UTMI_CTRL5, POR, 0);
drivers/phy/phy-snps-eusb2.c
437
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_HS_PHY_CTRL2,
drivers/phy/phy-snps-eusb2.c
440
snps_eusb2_hsphy_write_mask(phy->base, QCOM_USB_PHY_CFG0,
drivers/phy/phy-snps-eusb2.c
456
static int snps_eusb2_hsphy_init(struct phy *p)
drivers/phy/phy-snps-eusb2.c
458
struct snps_eusb2_hsphy *phy = phy_get_drvdata(p);
drivers/phy/phy-snps-eusb2.c
461
ret = regulator_bulk_enable(ARRAY_SIZE(phy->vregs), phy->vregs);
drivers/phy/phy-snps-eusb2.c
465
ret = phy_init(phy->repeater);
drivers/phy/phy-snps-eusb2.c
471
ret = clk_bulk_prepare_enable(phy->data->num_clks, phy->clks);
drivers/phy/phy-snps-eusb2.c
477
ret = reset_control_assert(phy->phy_reset);
drivers/phy/phy-snps-eusb2.c
485
ret = reset_control_deassert(phy->phy_reset);
drivers/phy/phy-snps-eusb2.c
491
ret = phy->data->phy_init(p);
drivers/phy/phy-snps-eusb2.c
498
clk_bulk_disable_unprepare(phy->data->num_clks, phy->clks);
drivers/phy/phy-snps-eusb2.c
500
phy_exit(phy->repeater);
drivers/phy/phy-snps-eusb2.c
502
regulator_bulk_disable(ARRAY_SIZE(phy->vregs), phy->vregs);
drivers/phy/phy-snps-eusb2.c
507
static int snps_eusb2_hsphy_exit(struct phy *p)
drivers/phy/phy-snps-eusb2.c
509
struct snps_eusb2_hsphy *phy = phy_get_drvdata(p);
drivers/phy/phy-snps-eusb2.c
511
clk_bulk_disable_unprepare(phy->data->num_clks, phy->clks);
drivers/phy/phy-snps-eusb2.c
513
regulator_bulk_disable(ARRAY_SIZE(phy->vregs), phy->vregs);
drivers/phy/phy-snps-eusb2.c
515
phy_exit(phy->repeater);
drivers/phy/phy-snps-eusb2.c
531
struct snps_eusb2_hsphy *phy;
drivers/phy/phy-snps-eusb2.c
533
struct phy *generic_phy;
drivers/phy/phy-snps-eusb2.c
537
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
drivers/phy/phy-snps-eusb2.c
538
if (!phy)
drivers/phy/phy-snps-eusb2.c
541
phy->data = device_get_match_data(dev);
drivers/phy/phy-snps-eusb2.c
542
if (!phy->data)
drivers/phy/phy-snps-eusb2.c
545
phy->base = devm_platform_ioremap_resource(pdev, 0);
drivers/phy/phy-snps-eusb2.c
546
if (IS_ERR(phy->base))
drivers/phy/phy-snps-eusb2.c
547
return PTR_ERR(phy->base);
drivers/phy/phy-snps-eusb2.c
549
phy->phy_reset = devm_reset_control_get_optional_exclusive(dev, NULL);
drivers/phy/phy-snps-eusb2.c
550
if (IS_ERR(phy->phy_reset))
drivers/phy/phy-snps-eusb2.c
551
return PTR_ERR(phy->phy_reset);
drivers/phy/phy-snps-eusb2.c
553
phy->clks = devm_kcalloc(dev, phy->data->num_clks, sizeof(*phy->clks),
drivers/phy/phy-snps-eusb2.c
555
if (!phy->clks)
drivers/phy/phy-snps-eusb2.c
558
for (i = 0; i < phy->data->num_clks; ++i)
drivers/phy/phy-snps-eusb2.c
559
phy->clks[i].id = phy->data->clk_names[i];
drivers/phy/phy-snps-eusb2.c
561
ret = devm_clk_bulk_get(dev, phy->data->num_clks, phy->clks);
drivers/phy/phy-snps-eusb2.c
566
phy->ref_clk = NULL;
drivers/phy/phy-snps-eusb2.c
567
for (i = 0; i < phy->data->num_clks; ++i) {
drivers/phy/phy-snps-eusb2.c
568
if (!strcmp(phy->clks[i].id, "ref")) {
drivers/phy/phy-snps-eusb2.c
569
phy->ref_clk = phy->clks[i].clk;
drivers/phy/phy-snps-eusb2.c
574
if (IS_ERR_OR_NULL(phy->ref_clk)) {
drivers/phy/phy-snps-eusb2.c
575
ret = phy->ref_clk ? PTR_ERR(phy->ref_clk) : -ENOENT;
drivers/phy/phy-snps-eusb2.c
580
num = ARRAY_SIZE(phy->vregs);
drivers/phy/phy-snps-eusb2.c
582
phy->vregs[i].supply = eusb2_hsphy_vreg_names[i];
drivers/phy/phy-snps-eusb2.c
584
ret = devm_regulator_bulk_get(dev, num, phy->vregs);
drivers/phy/phy-snps-eusb2.c
589
phy->repeater = devm_of_phy_optional_get(dev, np, NULL);
drivers/phy/phy-snps-eusb2.c
590
if (IS_ERR(phy->repeater))
drivers/phy/phy-snps-eusb2.c
591
return dev_err_probe(dev, PTR_ERR(phy->repeater),
drivers/phy/phy-snps-eusb2.c
600
dev_set_drvdata(dev, phy);
drivers/phy/phy-snps-eusb2.c
601
phy_set_drvdata(generic_phy, phy);
drivers/phy/phy-spacemit-k1-pcie.c
288
name = kasprintf(GFP_KERNEL, "pcie%u_phy_pll", k1_phy->phy->id);
drivers/phy/phy-spacemit-k1-pcie.c
393
static int k1_pcie_phy_init(struct phy *phy)
drivers/phy/phy-spacemit-k1-pcie.c
395
struct k1_pcie_phy *k1_phy = phy_get_drvdata(phy);
drivers/phy/phy-spacemit-k1-pcie.c
407
static int k1_pcie_phy_exit(struct phy *phy)
drivers/phy/phy-spacemit-k1-pcie.c
409
struct k1_pcie_phy *k1_phy = phy_get_drvdata(phy);
drivers/phy/phy-spacemit-k1-pcie.c
525
static struct phy *
drivers/phy/phy-spacemit-k1-pcie.c
546
return k1_phy->phy;
drivers/phy/phy-spacemit-k1-pcie.c
596
struct phy *(*xlate)(struct device *dev,
drivers/phy/phy-spacemit-k1-pcie.c
60
struct phy *phy;
drivers/phy/phy-spacemit-k1-pcie.c
636
k1_phy->phy = devm_phy_create(dev, NULL, &k1_pcie_phy_ops);
drivers/phy/phy-spacemit-k1-pcie.c
637
if (IS_ERR(k1_phy->phy))
drivers/phy/phy-spacemit-k1-pcie.c
638
return dev_err_probe(dev, PTR_ERR(k1_phy->phy),
drivers/phy/phy-spacemit-k1-pcie.c
640
phy_set_drvdata(k1_phy->phy, k1_phy);
drivers/phy/phy-xgene.c
1580
static int xgene_phy_hw_init(struct phy *phy)
drivers/phy/phy-xgene.c
1582
struct xgene_phy_ctx *ctx = phy_get_drvdata(phy);
drivers/phy/phy-xgene.c
1613
static struct phy *xgene_phy_xlate(struct device *dev,
drivers/phy/phy-xgene.c
1624
return ctx->phy;
drivers/phy/phy-xgene.c
1694
ctx->phy = devm_phy_create(ctx->dev, NULL, &xgene_phy_ops);
drivers/phy/phy-xgene.c
1695
if (IS_ERR(ctx->phy)) {
drivers/phy/phy-xgene.c
1697
return PTR_ERR(ctx->phy);
drivers/phy/phy-xgene.c
1699
phy_set_drvdata(ctx->phy, ctx);
drivers/phy/phy-xgene.c
533
struct phy *phy;
drivers/phy/qualcomm/phy-ath79-usb.c
22
static int ath79_usb_phy_power_on(struct phy *phy)
drivers/phy/qualcomm/phy-ath79-usb.c
24
struct ath79_usb_phy *priv = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-ath79-usb.c
40
static int ath79_usb_phy_power_off(struct phy *phy)
drivers/phy/qualcomm/phy-ath79-usb.c
42
struct ath79_usb_phy *priv = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-ath79-usb.c
67
struct phy *phy;
drivers/phy/qualcomm/phy-ath79-usb.c
82
phy = devm_phy_create(&pdev->dev, NULL, &ath79_usb_phy_ops);
drivers/phy/qualcomm/phy-ath79-usb.c
83
if (IS_ERR(phy))
drivers/phy/qualcomm/phy-ath79-usb.c
84
return PTR_ERR(phy);
drivers/phy/qualcomm/phy-ath79-usb.c
86
phy_set_drvdata(phy, priv);
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
137
dev_err(phy->dev, "poll timeout UNIPHY_PLL_STATUS\n");
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
144
dev_err(phy->dev, "poll timeout SATA_PHY_TX_IMCAL_STAT\n");
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
151
dev_err(phy->dev, "poll timeout SATA_PHY_RX_IMCAL_STAT\n");
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
179
static int qcom_apq8064_sata_phy_exit(struct phy *generic_phy)
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
181
struct qcom_apq8064_sata_phy *phy = phy_get_drvdata(generic_phy);
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
182
void __iomem *base = phy->mmio;
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
202
struct qcom_apq8064_sata_phy *phy;
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
205
struct phy *generic_phy;
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
208
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
209
if (!phy)
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
212
phy->mmio = devm_platform_ioremap_resource(pdev, 0);
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
213
if (IS_ERR(phy->mmio))
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
214
return PTR_ERR(phy->mmio);
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
222
phy->dev = dev;
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
223
phy_set_drvdata(generic_phy, phy);
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
224
platform_set_drvdata(pdev, phy);
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
226
phy->cfg_clk = devm_clk_get(dev, "cfg");
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
227
if (IS_ERR(phy->cfg_clk)) {
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
229
return PTR_ERR(phy->cfg_clk);
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
232
ret = clk_prepare_enable(phy->cfg_clk);
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
238
clk_disable_unprepare(phy->cfg_clk);
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
248
struct qcom_apq8064_sata_phy *phy = platform_get_drvdata(pdev);
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
250
clk_disable_unprepare(phy->cfg_clk);
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
84
static int qcom_apq8064_sata_phy_init(struct phy *generic_phy)
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
86
struct qcom_apq8064_sata_phy *phy = phy_get_drvdata(generic_phy);
drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
87
void __iomem *base = phy->mmio;
drivers/phy/qualcomm/phy-qcom-edp.c
1076
static int qcom_edp_phy_power_off(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-edp.c
1078
const struct qcom_edp *edp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-edp.c
1085
static int qcom_edp_phy_set_mode(struct phy *phy, enum phy_mode mode, int submode)
drivers/phy/qualcomm/phy-qcom-edp.c
1087
struct qcom_edp *edp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-edp.c
1097
static int qcom_edp_phy_exit(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-edp.c
1099
struct qcom_edp *edp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-edp.c
1334
edp->phy = devm_phy_create(dev, pdev->dev.of_node, &qcom_edp_ops);
drivers/phy/qualcomm/phy-qcom-edp.c
1335
if (IS_ERR(edp->phy)) {
drivers/phy/qualcomm/phy-qcom-edp.c
1337
return PTR_ERR(edp->phy);
drivers/phy/qualcomm/phy-qcom-edp.c
1340
phy_set_drvdata(edp->phy, edp);
drivers/phy/qualcomm/phy-qcom-edp.c
229
static int qcom_edp_phy_init(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-edp.c
231
struct qcom_edp *edp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-edp.c
337
static int qcom_edp_phy_configure(struct phy *phy, union phy_configure_opts *opts)
drivers/phy/qualcomm/phy-qcom-edp.c
340
struct qcom_edp *edp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-edp.c
952
static int qcom_edp_phy_power_on(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-edp.c
954
const struct qcom_edp *edp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-edp.c
98
struct phy *phy;
drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c
141
static int eusb2_repeater_init(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c
143
struct eusb2_repeater *rptr = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c
195
static int eusb2_repeater_set_mode(struct phy *phy,
drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c
198
struct eusb2_repeater *rptr = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c
229
static int eusb2_repeater_exit(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c
231
struct eusb2_repeater *rptr = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c
279
rptr->phy = devm_phy_create(dev, np, &eusb2_repeater_ops);
drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c
280
if (IS_ERR(rptr->phy)) {
drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c
282
return PTR_ERR(rptr->phy);
drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c
285
phy_set_drvdata(rptr->phy, rptr);
drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c
301
eusb2_repeater_exit(rptr->phy);
drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c
66
struct phy *phy;
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
100
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
101
if (!phy)
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
104
phy->dev = &pdev->dev;
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
105
phy->base = devm_platform_ioremap_resource(pdev, 0);
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
106
if (IS_ERR(phy->base)) {
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
108
return PTR_ERR(phy->base);
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
111
phy->por_rst = devm_reset_control_get(phy->dev, "por_rst");
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
112
if (IS_ERR(phy->por_rst)) {
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
113
if (PTR_ERR(phy->por_rst) != -EPROBE_DEFER)
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
115
return PTR_ERR(phy->por_rst);
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
118
phy->srif_rst = devm_reset_control_get_optional(phy->dev, "srif_rst");
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
119
if (IS_ERR(phy->srif_rst))
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
120
return PTR_ERR(phy->srif_rst);
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
122
phy->phy = devm_phy_create(dev, NULL, of_device_get_match_data(dev));
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
123
if (IS_ERR(phy->phy)) {
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
125
return PTR_ERR(phy->phy);
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
127
phy_set_drvdata(phy->phy, phy);
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
23
struct phy *phy;
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
29
static int ipq4019_ss_phy_power_off(struct phy *_phy)
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
31
struct ipq4019_usb_phy *phy = phy_get_drvdata(_phy);
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
33
reset_control_assert(phy->por_rst);
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
39
static int ipq4019_ss_phy_power_on(struct phy *_phy)
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
41
struct ipq4019_usb_phy *phy = phy_get_drvdata(_phy);
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
45
reset_control_deassert(phy->por_rst);
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
55
static int ipq4019_hs_phy_power_off(struct phy *_phy)
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
57
struct ipq4019_usb_phy *phy = phy_get_drvdata(_phy);
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
59
reset_control_assert(phy->por_rst);
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
62
reset_control_assert(phy->srif_rst);
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
68
static int ipq4019_hs_phy_power_on(struct phy *_phy)
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
70
struct ipq4019_usb_phy *phy = phy_get_drvdata(_phy);
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
74
reset_control_deassert(phy->srif_rst);
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
77
reset_control_deassert(phy->por_rst);
drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c
98
struct ipq4019_usb_phy *phy;
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
101
reg = readl_relaxed(phy->mmio + SATA_PHY_P0_PARAM4);
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
103
writel_relaxed(reg, phy->mmio + SATA_PHY_P0_PARAM4);
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
108
static int qcom_ipq806x_sata_phy_exit(struct phy *generic_phy)
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
110
struct qcom_ipq806x_sata_phy *phy = phy_get_drvdata(generic_phy);
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
114
reg = readl_relaxed(phy->mmio + SATA_PHY_P0_PARAM4);
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
116
writel_relaxed(reg, phy->mmio + SATA_PHY_P0_PARAM4);
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
129
struct qcom_ipq806x_sata_phy *phy;
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
132
struct phy *generic_phy;
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
135
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
136
if (!phy)
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
139
phy->mmio = devm_platform_ioremap_resource(pdev, 0);
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
140
if (IS_ERR(phy->mmio))
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
141
return PTR_ERR(phy->mmio);
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
149
phy->dev = dev;
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
150
phy_set_drvdata(generic_phy, phy);
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
151
platform_set_drvdata(pdev, phy);
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
153
phy->cfg_clk = devm_clk_get(dev, "cfg");
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
154
if (IS_ERR(phy->cfg_clk)) {
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
156
return PTR_ERR(phy->cfg_clk);
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
159
ret = clk_prepare_enable(phy->cfg_clk);
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
165
clk_disable_unprepare(phy->cfg_clk);
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
175
struct qcom_ipq806x_sata_phy *phy = platform_get_drvdata(pdev);
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
177
clk_disable_unprepare(phy->cfg_clk);
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
53
static int qcom_ipq806x_sata_phy_init(struct phy *generic_phy)
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
55
struct qcom_ipq806x_sata_phy *phy = phy_get_drvdata(generic_phy);
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
59
reg = readl_relaxed(phy->mmio + SATA_PHY_P0_PARAM3);
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
61
writel_relaxed(reg, phy->mmio + SATA_PHY_P0_PARAM3);
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
63
reg = readl_relaxed(phy->mmio + SATA_PHY_P0_PARAM0) &
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
68
writel_relaxed(reg, phy->mmio + SATA_PHY_P0_PARAM0);
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
70
reg = readl_relaxed(phy->mmio + SATA_PHY_P0_PARAM1) &
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
77
writel_relaxed(reg, phy->mmio + SATA_PHY_P0_PARAM1);
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
79
reg = readl_relaxed(phy->mmio + SATA_PHY_P0_PARAM2) &
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
82
writel_relaxed(reg, phy->mmio + SATA_PHY_P0_PARAM2);
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
85
reg = readl_relaxed(phy->mmio + SATA_PHY_P0_PARAM4);
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
87
writel_relaxed(reg, phy->mmio + SATA_PHY_P0_PARAM4);
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
90
reg = readl_relaxed(phy->mmio + SATA_PHY_P0_PARAM4);
drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c
92
writel_relaxed(reg, phy->mmio + SATA_PHY_P0_PARAM4);
drivers/phy/qualcomm/phy-qcom-ipq806x-usb.c
252
static int qcom_ipq806x_usb_hs_phy_init(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-ipq806x-usb.c
254
struct usb_phy *phy_dwc3 = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-ipq806x-usb.c
291
static int qcom_ipq806x_usb_hs_phy_exit(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-ipq806x-usb.c
293
struct usb_phy *phy_dwc3 = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-ipq806x-usb.c
301
static int qcom_ipq806x_usb_ss_phy_init(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-ipq806x-usb.c
303
struct usb_phy *phy_dwc3 = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-ipq806x-usb.c
432
static int qcom_ipq806x_usb_ss_phy_exit(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-ipq806x-usb.c
434
struct usb_phy *phy_dwc3 = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-ipq806x-usb.c
485
struct phy *generic_phy;
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
116
struct phy *phy;
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
125
struct phy *repeater;
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
151
static int m31eusb2_phy_write_sequence(struct m31eusb2_phy *phy,
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
159
dev_dbg(&phy->phy->dev, "Offset:%x BitMask:%x Value:%x",
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
162
ret = m31eusb2_phy_write_readback(phy->base,
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
172
static int m31eusb2_phy_set_mode(struct phy *uphy, enum phy_mode mode, int submode)
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
174
struct m31eusb2_phy *phy = phy_get_drvdata(uphy);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
176
phy->mode = mode;
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
178
return phy_set_mode_ext(phy->repeater, mode, submode);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
181
static int m31eusb2_phy_init(struct phy *uphy)
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
183
struct m31eusb2_phy *phy = phy_get_drvdata(uphy);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
184
const struct m31_eusb2_priv_data *data = phy->data;
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
187
ret = regulator_bulk_enable(M31_EUSB_NUM_VREGS, phy->vregs);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
193
ret = phy_init(phy->repeater);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
199
ret = clk_prepare_enable(phy->clk);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
206
reset_control_assert(phy->reset);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
208
reset_control_deassert(phy->reset);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
210
m31eusb2_phy_write_sequence(phy, data->setup_seq, data->setup_seq_nregs);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
211
m31eusb2_phy_write_readback(phy->base,
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
214
m31eusb2_phy_write_sequence(phy, data->override_seq, data->override_seq_nregs);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
215
m31eusb2_phy_write_sequence(phy, data->reset_seq, data->reset_seq_nregs);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
220
phy_exit(phy->repeater);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
222
regulator_bulk_disable(M31_EUSB_NUM_VREGS, phy->vregs);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
227
static int m31eusb2_phy_exit(struct phy *uphy)
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
229
struct m31eusb2_phy *phy = phy_get_drvdata(uphy);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
231
clk_disable_unprepare(phy->clk);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
232
regulator_bulk_disable(M31_EUSB_NUM_VREGS, phy->vregs);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
233
phy_exit(phy->repeater);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
250
struct m31eusb2_phy *phy;
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
253
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
254
if (!phy)
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
260
phy->data = data;
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
262
phy->base = devm_platform_ioremap_resource(pdev, 0);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
263
if (IS_ERR(phy->base))
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
264
return PTR_ERR(phy->base);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
266
phy->reset = devm_reset_control_get_exclusive(dev, NULL);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
267
if (IS_ERR(phy->reset))
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
268
return PTR_ERR(phy->reset);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
270
phy->clk = devm_clk_get(dev, NULL);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
271
if (IS_ERR(phy->clk))
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
272
return dev_err_probe(dev, PTR_ERR(phy->clk),
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
275
phy->phy = devm_phy_create(dev, NULL, &m31eusb2_phy_gen_ops);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
276
if (IS_ERR(phy->phy))
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
277
return dev_err_probe(dev, PTR_ERR(phy->phy),
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
281
m31_eusb_phy_vregs, &phy->vregs);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
286
phy_set_drvdata(phy->phy, phy);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
288
phy->repeater = devm_of_phy_get_by_index(dev, dev->of_node, 0);
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
289
if (IS_ERR(phy->repeater))
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
290
return dev_err_probe(dev, PTR_ERR(phy->repeater),
drivers/phy/qualcomm/phy-qcom-m31.c
199
struct phy *phy;
drivers/phy/qualcomm/phy-qcom-m31.c
211
static int m31usb_phy_init(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-m31.c
213
struct m31usb_phy *qphy = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-m31.c
219
dev_err(&phy->dev, "failed to enable regulator, %d\n", ret);
drivers/phy/qualcomm/phy-qcom-m31.c
226
dev_err(&phy->dev, "failed to enable cfg ahb clock, %d\n", ret);
drivers/phy/qualcomm/phy-qcom-m31.c
252
static int m31usb_phy_shutdown(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-m31.c
254
struct m31usb_phy *qphy = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-m31.c
301
qphy->phy = devm_phy_create(dev, NULL, &m31usb_phy_gen_ops);
drivers/phy/qualcomm/phy-qcom-m31.c
302
if (IS_ERR(qphy->phy))
drivers/phy/qualcomm/phy-qcom-m31.c
303
return dev_err_probe(dev, PTR_ERR(qphy->phy),
drivers/phy/qualcomm/phy-qcom-m31.c
311
phy_set_drvdata(qphy->phy, qphy);
drivers/phy/qualcomm/phy-qcom-pcie2.c
172
static int qcom_pcie2_phy_power_off(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-pcie2.c
174
struct qcom_phy *qphy = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-pcie2.c
187
static int qcom_pcie2_phy_exit(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-pcie2.c
189
struct qcom_phy *qphy = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-pcie2.c
258
struct phy *phy;
drivers/phy/qualcomm/phy-qcom-pcie2.c
300
phy = devm_phy_create(dev, dev->of_node, &qcom_pcie2_ops);
drivers/phy/qualcomm/phy-qcom-pcie2.c
301
if (IS_ERR(phy)) {
drivers/phy/qualcomm/phy-qcom-pcie2.c
303
return PTR_ERR(phy);
drivers/phy/qualcomm/phy-qcom-pcie2.c
306
phy_set_drvdata(phy, qphy);
drivers/phy/qualcomm/phy-qcom-pcie2.c
50
static int qcom_pcie2_phy_init(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-pcie2.c
52
struct qcom_phy *qphy = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-pcie2.c
68
static int qcom_pcie2_phy_power_on(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-pcie2.c
70
struct qcom_phy *qphy = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
2299
struct phy *usb_phy;
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
2303
struct phy *dp_phy;
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
3626
static int qmp_combo_dp_configure(struct phy *phy, union phy_configure_opts *opts)
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
3629
struct qmp_combo *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
3645
static int qmp_combo_dp_calibrate(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
3647
struct qmp_combo *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
3778
static int qmp_combo_dp_init(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
3780
struct qmp_combo *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
3799
static int qmp_combo_dp_exit(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
3801
struct qmp_combo *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
3814
static int qmp_combo_dp_power_on(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
3816
struct qmp_combo *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
3841
static int qmp_combo_dp_power_off(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
3843
struct qmp_combo *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
3857
static int qmp_combo_usb_power_on(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
3859
struct qmp_combo *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
3920
static int qmp_combo_usb_power_off(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
3922
struct qmp_combo *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
3941
static int qmp_combo_usb_init(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
3943
struct qmp_combo *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
3951
ret = qmp_combo_usb_power_on(phy);
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
3964
static int qmp_combo_usb_exit(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
3966
struct qmp_combo *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
3970
ret = qmp_combo_usb_power_off(phy);
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
3985
static int qmp_combo_usb_set_mode(struct phy *phy, enum phy_mode mode, int submode)
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
3987
struct qmp_combo *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
4749
static struct phy *qmp_combo_phy_xlate(struct device *dev, const struct of_phandle_args *args)
drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c
183
struct phy *phy;
drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c
392
static int qmp_pcie_msm8996_init(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c
394
struct qmp_phy *qphy = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c
406
static int qmp_pcie_msm8996_power_on(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c
408
struct qmp_phy *qphy = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c
472
static int qmp_pcie_msm8996_power_off(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c
474
struct qmp_phy *qphy = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c
493
static int qmp_pcie_msm8996_exit(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c
495
struct qmp_phy *qphy = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c
504
static int qmp_pcie_msm8996_enable(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c
508
ret = qmp_pcie_msm8996_init(phy);
drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c
512
ret = qmp_pcie_msm8996_power_on(phy);
drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c
514
qmp_pcie_msm8996_exit(phy);
drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c
519
static int qmp_pcie_msm8996_disable(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c
523
ret = qmp_pcie_msm8996_power_off(phy);
drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c
526
return qmp_pcie_msm8996_exit(phy);
drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c
657
struct phy *generic_phy;
drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c
706
qphy->phy = generic_phy;
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
3332
struct phy *phy;
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
4727
static int qmp_pcie_init(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
4729
struct qmp_pcie *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
4801
static int qmp_pcie_exit(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
4803
struct qmp_pcie *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
4818
static int qmp_pcie_power_on(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
4820
struct qmp_pcie *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
4887
static int qmp_pcie_power_off(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
4889
struct qmp_pcie *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
4918
static int qmp_pcie_enable(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
4922
ret = qmp_pcie_init(phy);
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
4926
ret = qmp_pcie_power_on(phy);
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
4928
qmp_pcie_exit(phy);
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
4933
static int qmp_pcie_disable(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
4937
ret = qmp_pcie_power_off(phy);
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
4941
return qmp_pcie_exit(phy);
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
4944
static int qmp_pcie_set_mode(struct phy *phy, enum phy_mode mode, int submode)
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
4946
struct qmp_pcie *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
4954
dev_err(&phy->dev, "Unsupported submode %d\n", submode);
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
5380
qmp->phy = devm_phy_create(dev, np, &qmp_pcie_phy_ops);
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
5381
if (IS_ERR(qmp->phy)) {
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
5382
ret = PTR_ERR(qmp->phy);
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
5387
phy_set_drvdata(qmp->phy, qmp);
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c
1199
struct phy *phy;
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c
1924
static int qmp_ufs_power_on(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c
1926
struct qmp_ufs *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c
1949
static int qmp_ufs_phy_calibrate(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c
1951
struct qmp_ufs *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c
1986
static int qmp_ufs_power_off(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c
1988
struct qmp_ufs *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c
2002
static int qmp_ufs_set_mode(struct phy *phy, enum phy_mode mode, int submode)
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c
2004
struct qmp_ufs *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c
2018
static int qmp_ufs_phy_init(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c
2020
struct qmp_ufs *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c
2239
qmp->phy = devm_phy_create(dev, np, &qcom_qmp_ufs_phy_ops);
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c
2240
if (IS_ERR(qmp->phy)) {
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c
2241
ret = PTR_ERR(qmp->phy);
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c
2246
phy_set_drvdata(qmp->phy, qmp);
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
1012
if (!qmp->phy->init_count) {
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
1294
qmp->phy = devm_phy_create(dev, np, &qmp_usb_legacy_phy_ops);
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
1295
if (IS_ERR(qmp->phy)) {
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
1296
ret = PTR_ERR(qmp->phy);
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
1301
phy_set_drvdata(qmp->phy, qmp);
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
545
struct phy *phy;
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
739
static void qmp_usb_legacy_init_dp_com(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
741
struct qmp_usb *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
766
static int qmp_usb_legacy_init(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
768
struct qmp_usb *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
795
qmp_usb_legacy_init_dp_com(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
809
static int qmp_usb_legacy_exit(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
811
struct qmp_usb *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
823
static int qmp_usb_legacy_power_on(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
825
struct qmp_usb *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
875
static int qmp_usb_legacy_power_off(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
877
struct qmp_usb *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
896
static int qmp_usb_legacy_enable(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
900
ret = qmp_usb_legacy_init(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
904
ret = qmp_usb_legacy_power_on(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
906
qmp_usb_legacy_exit(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
911
static int qmp_usb_legacy_disable(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
915
ret = qmp_usb_legacy_power_off(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
918
return qmp_usb_legacy_exit(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
921
static int qmp_usb_legacy_set_mode(struct phy *phy, enum phy_mode mode, int submode)
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
923
struct qmp_usb *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
991
if (!qmp->phy->init_count) {
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
1437
struct phy *phy;
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
1880
static int qmp_usb_init(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
1882
struct qmp_usb *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
1921
static int qmp_usb_exit(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
1923
struct qmp_usb *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
1935
static int qmp_usb_power_on(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
1937
struct qmp_usb *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
1989
static int qmp_usb_power_off(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
1991
struct qmp_usb *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
2010
static int qmp_usb_enable(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
2014
ret = qmp_usb_init(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
2018
ret = qmp_usb_power_on(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
2020
qmp_usb_exit(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
2025
static int qmp_usb_disable(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
2029
ret = qmp_usb_power_off(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
2032
return qmp_usb_exit(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
2035
static int qmp_usb_set_mode(struct phy *phy, enum phy_mode mode, int submode)
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
2037
struct qmp_usb *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
2104
if (!qmp->phy->init_count) {
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
2124
if (!qmp->phy->init_count) {
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
2428
qmp->phy = devm_phy_create(dev, np, &qmp_usb_phy_ops);
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
2429
if (IS_ERR(qmp->phy)) {
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
2430
ret = PTR_ERR(qmp->phy);
drivers/phy/qualcomm/phy-qcom-qmp-usb.c
2435
phy_set_drvdata(qmp->phy, qmp);
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1050
static int qmp_usbc_usb_power_off(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1052
struct qmp_usbc *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1084
static int qmp_usbc_usb_enable(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1086
struct qmp_usbc *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1095
ret = qmp_usbc_com_init(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1101
ret = qmp_usbc_usb_power_on(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1103
qmp_usbc_com_exit(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1114
static int qmp_usbc_usb_disable(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1116
struct qmp_usbc *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1120
ret = qmp_usbc_usb_power_off(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1123
return qmp_usbc_com_exit(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1126
static int qmp_usbc_usb_set_mode(struct phy *phy, enum phy_mode mode, int submode)
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1128
struct qmp_usbc *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1135
static int qmp_usbc_dp_enable(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1137
struct qmp_usbc *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1152
ret = qmp_usbc_com_init(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1167
static int qmp_usbc_dp_disable(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1169
struct qmp_usbc *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1173
qmp_usbc_com_exit(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1182
static int qmp_usbc_dp_configure(struct phy *phy, union phy_configure_opts *opts)
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1185
struct qmp_usbc *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1201
static int qmp_usbc_dp_calibrate(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1203
struct qmp_usbc *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1252
static int qmp_usbc_dp_power_on(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1254
struct qmp_usbc *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1286
static int qmp_usbc_dp_power_off(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1288
struct qmp_usbc *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1898
static struct phy *qmp_usbc_phy_xlate(struct device *dev, const struct of_phandle_args *args)
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
464
struct phy *usb_phy;
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
468
struct phy *dp_phy;
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
695
static int qmp_usbc_com_init(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
697
struct qmp_usbc *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
733
static int qmp_usbc_com_exit(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
735
struct qmp_usbc *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
994
static int qmp_usbc_usb_power_on(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
996
struct qmp_usbc *qmp = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qusb2.c
1114
qphy->phy = generic_phy;
drivers/phy/qualcomm/phy-qcom-qusb2.c
453
struct phy *phy;
drivers/phy/qualcomm/phy-qcom-qusb2.c
585
struct device *dev = &qphy->phy->dev;
drivers/phy/qualcomm/phy-qcom-qusb2.c
621
static int qusb2_phy_set_mode(struct phy *phy,
drivers/phy/qualcomm/phy-qcom-qusb2.c
624
struct qusb2_phy *qphy = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qusb2.c
749
static int qusb2_phy_init(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qusb2.c
751
struct qusb2_phy *qphy = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qusb2.c
757
dev_vdbg(&phy->dev, "%s(): Initializing QUSB2 phy\n", __func__);
drivers/phy/qualcomm/phy-qcom-qusb2.c
766
dev_err(&phy->dev, "failed to enable iface_clk, %d\n", ret);
drivers/phy/qualcomm/phy-qcom-qusb2.c
773
dev_err(&phy->dev, "failed to enable cfg ahb clock, %d\n", ret);
drivers/phy/qualcomm/phy-qcom-qusb2.c
780
dev_err(&phy->dev, "failed to assert phy_reset, %d\n", ret);
drivers/phy/qualcomm/phy-qcom-qusb2.c
789
dev_err(&phy->dev, "failed to de-assert phy_reset, %d\n", ret);
drivers/phy/qualcomm/phy-qcom-qusb2.c
835
dev_err(&phy->dev, "failed to read clk scheme reg\n");
drivers/phy/qualcomm/phy-qcom-qusb2.c
841
dev_vdbg(&phy->dev, "%s(): select differential clk\n",
drivers/phy/qualcomm/phy-qcom-qusb2.c
845
dev_vdbg(&phy->dev, "%s(): select single-ended clk\n",
drivers/phy/qualcomm/phy-qcom-qusb2.c
853
dev_err(&phy->dev, "failed to enable ref clk, %d\n",
drivers/phy/qualcomm/phy-qcom-qusb2.c
876
dev_err(&phy->dev,
drivers/phy/qualcomm/phy-qcom-qusb2.c
900
static int qusb2_phy_exit(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-qusb2.c
902
struct qusb2_phy *qphy = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-qusb2.c
992
struct phy *generic_phy;
drivers/phy/qualcomm/phy-qcom-sgmii-eth.c
220
static int qcom_dwmac_sgmii_phy_calibrate(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-sgmii-eth.c
222
struct qcom_dwmac_sgmii_phy_data *data = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-sgmii-eth.c
223
struct device *dev = phy->dev.parent;
drivers/phy/qualcomm/phy-qcom-sgmii-eth.c
267
static int qcom_dwmac_sgmii_phy_power_on(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-sgmii-eth.c
269
struct qcom_dwmac_sgmii_phy_data *data = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-sgmii-eth.c
274
static int qcom_dwmac_sgmii_phy_power_off(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-sgmii-eth.c
276
struct qcom_dwmac_sgmii_phy_data *data = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-sgmii-eth.c
289
static int qcom_dwmac_sgmii_phy_set_speed(struct phy *phy, int speed)
drivers/phy/qualcomm/phy-qcom-sgmii-eth.c
291
struct qcom_dwmac_sgmii_phy_data *data = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-sgmii-eth.c
296
return qcom_dwmac_sgmii_phy_calibrate(phy);
drivers/phy/qualcomm/phy-qcom-sgmii-eth.c
321
struct phy *phy;
drivers/phy/qualcomm/phy-qcom-sgmii-eth.c
338
phy = devm_phy_create(dev, NULL, &qcom_dwmac_sgmii_phy_ops);
drivers/phy/qualcomm/phy-qcom-sgmii-eth.c
339
if (IS_ERR(phy))
drivers/phy/qualcomm/phy-qcom-sgmii-eth.c
340
return PTR_ERR(phy);
drivers/phy/qualcomm/phy-qcom-sgmii-eth.c
350
phy_set_drvdata(phy, data);
drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c
128
struct phy *phy;
drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c
185
dev_dbg(&hsphy->phy->dev, "Suspend QCOM SNPS PHY\n");
drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c
204
dev_dbg(&hsphy->phy->dev, "Resume QCOM SNPS PHY, mode\n");
drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c
229
static int qcom_snps_hsphy_set_mode(struct phy *phy, enum phy_mode mode,
drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c
232
struct qcom_snps_hsphy *hsphy = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c
386
static int qcom_snps_hsphy_init(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c
388
struct qcom_snps_hsphy *hsphy = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c
391
dev_vdbg(&phy->dev, "%s(): Initializing SNPS HS phy\n", __func__);
drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c
399
dev_err(&phy->dev, "failed to enable clocks, %d\n", ret);
drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c
405
dev_err(&phy->dev, "failed to assert phy_reset, %d\n", ret);
drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c
413
dev_err(&phy->dev, "failed to de-assert phy_reset, %d\n", ret);
drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c
479
static int qcom_snps_hsphy_exit(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c
481
struct qcom_snps_hsphy *hsphy = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c
558
dev_dbg(&hsphy->phy->dev, "Read param: %s dt_val: %d reg_val: 0x%x\n",
drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c
569
struct phy *generic_phy;
drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c
616
hsphy->phy = generic_phy;
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
141
static void qcom_uniphy_pcie_init(struct qcom_uniphy_pcie *phy)
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
143
const struct qcom_uniphy_pcie_data *data = phy->data;
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
145
void __iomem *base = phy->base;
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
148
for (lane = 0; lane < phy->lanes; lane++) {
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
158
static int qcom_uniphy_pcie_power_off(struct phy *x)
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
160
struct qcom_uniphy_pcie *phy = phy_get_drvdata(x);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
162
clk_bulk_disable_unprepare(phy->num_clks, phy->clks);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
164
return reset_control_assert(phy->resets);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
167
static int qcom_uniphy_pcie_power_on(struct phy *x)
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
169
struct qcom_uniphy_pcie *phy = phy_get_drvdata(x);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
172
ret = reset_control_assert(phy->resets);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
174
dev_err(phy->dev, "reset assert failed (%d)\n", ret);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
180
ret = reset_control_deassert(phy->resets);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
182
dev_err(phy->dev, "reset deassert failed (%d)\n", ret);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
188
ret = clk_bulk_prepare_enable(phy->num_clks, phy->clks);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
190
dev_err(phy->dev, "clk prepare and enable failed %d\n", ret);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
196
qcom_uniphy_pcie_init(phy);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
202
struct qcom_uniphy_pcie *phy)
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
206
phy->base = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
207
if (IS_ERR(phy->base))
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
208
return PTR_ERR(phy->base);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
210
phy->num_clks = devm_clk_bulk_get_all(phy->dev, &phy->clks);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
211
if (phy->num_clks < 0)
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
212
return phy->num_clks;
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
214
phy->resets = devm_reset_control_array_get_exclusive(phy->dev);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
215
if (IS_ERR(phy->resets))
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
216
return PTR_ERR(phy->resets);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
239
static inline int phy_pipe_clk_register(struct qcom_uniphy_pcie *phy, int id)
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
241
const struct qcom_uniphy_pcie_data *data = phy->data;
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
246
hw = devm_clk_hw_register_fixed_rate(phy->dev, name, NULL, 0,
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
249
return dev_err_probe(phy->dev, PTR_ERR(hw),
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
252
return devm_of_clk_add_hw_provider(phy->dev, of_clk_hw_simple_get, hw);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
278
struct qcom_uniphy_pcie *phy;
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
279
struct phy *generic_phy;
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
282
phy = devm_kzalloc(&pdev->dev, sizeof(*phy), GFP_KERNEL);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
283
if (!phy)
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
286
platform_set_drvdata(pdev, phy);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
287
phy->dev = &pdev->dev;
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
289
phy->data = of_device_get_match_data(dev);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
290
if (!phy->data)
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
293
ret = of_property_read_u32(dev_of_node(dev), "num-lanes", &phy->lanes);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
297
ret = qcom_uniphy_pcie_get_resources(pdev, phy);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
302
generic_phy = devm_phy_create(phy->dev, NULL, &pcie_ops);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
306
phy_set_drvdata(generic_phy, phy);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
308
ret = phy_pipe_clk_register(phy, generic_phy->id);
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
312
phy_provider = devm_of_phy_provider_register(phy->dev,
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
66
struct phy phy;
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
76
#define phy_to_dw_phy(x) container_of((x), struct qca_uni_pcie_phy, phy)
drivers/phy/qualcomm/phy-qcom-usb-hs-28nm.c
155
static int qcom_snps_hsphy_power_on(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-usb-hs-28nm.c
157
struct hsphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-usb-hs-28nm.c
170
static int qcom_snps_hsphy_power_off(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-usb-hs-28nm.c
172
struct hsphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-usb-hs-28nm.c
256
static int qcom_snps_hsphy_init(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-usb-hs-28nm.c
258
struct hsphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-usb-hs-28nm.c
282
static int qcom_snps_hsphy_exit(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-usb-hs-28nm.c
284
struct hsphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-usb-hs-28nm.c
311
struct phy *phy;
drivers/phy/qualcomm/phy-qcom-usb-hs-28nm.c
355
phy = devm_phy_create(dev, dev->of_node, &qcom_snps_hsphy_ops);
drivers/phy/qualcomm/phy-qcom-usb-hs-28nm.c
356
if (IS_ERR(phy))
drivers/phy/qualcomm/phy-qcom-usb-hs-28nm.c
357
return PTR_ERR(phy);
drivers/phy/qualcomm/phy-qcom-usb-hs-28nm.c
359
phy_set_drvdata(phy, priv);
drivers/phy/qualcomm/phy-qcom-usb-hs-28nm.c
68
static int qcom_snps_hsphy_set_mode(struct phy *phy, enum phy_mode mode,
drivers/phy/qualcomm/phy-qcom-usb-hs-28nm.c
71
struct hsphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-usb-hs.c
108
static int qcom_usb_hs_phy_power_on(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-usb-hs.c
110
struct qcom_usb_hs_phy *uphy = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-usb-hs.c
180
static int qcom_usb_hs_phy_power_off(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-usb-hs.c
182
struct qcom_usb_hs_phy *uphy = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-usb-hs.c
255
uphy->phy = devm_phy_create(&ulpi->dev, ulpi->dev.of_node,
drivers/phy/qualcomm/phy-qcom-usb-hs.c
257
if (IS_ERR(uphy->phy))
drivers/phy/qualcomm/phy-qcom-usb-hs.c
258
return PTR_ERR(uphy->phy);
drivers/phy/qualcomm/phy-qcom-usb-hs.c
268
phy_set_drvdata(uphy->phy, uphy);
drivers/phy/qualcomm/phy-qcom-usb-hs.c
31
struct phy *phy;
drivers/phy/qualcomm/phy-qcom-usb-hs.c
42
static int qcom_usb_hs_phy_set_mode(struct phy *phy,
drivers/phy/qualcomm/phy-qcom-usb-hs.c
45
struct qcom_usb_hs_phy *uphy = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-usb-hsic.c
132
uphy->phy = devm_phy_create(&ulpi->dev, ulpi->dev.of_node,
drivers/phy/qualcomm/phy-qcom-usb-hsic.c
134
if (IS_ERR(uphy->phy))
drivers/phy/qualcomm/phy-qcom-usb-hsic.c
135
return PTR_ERR(uphy->phy);
drivers/phy/qualcomm/phy-qcom-usb-hsic.c
136
phy_set_drvdata(uphy->phy, uphy);
drivers/phy/qualcomm/phy-qcom-usb-hsic.c
19
struct phy *phy;
drivers/phy/qualcomm/phy-qcom-usb-hsic.c
26
static int qcom_usb_hsic_phy_power_on(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-usb-hsic.c
28
struct qcom_usb_hsic_phy *uphy = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-usb-hsic.c
87
static int qcom_usb_hsic_phy_power_off(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-usb-hsic.c
89
struct qcom_usb_hsic_phy *uphy = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-usb-ss.c
121
static int qcom_ssphy_power_off(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-usb-ss.c
123
struct ssphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/qualcomm/phy-qcom-usb-ss.c
191
struct phy *phy;
drivers/phy/qualcomm/phy-qcom-usb-ss.c
217
phy = devm_phy_create(dev, dev->of_node, &qcom_ssphy_ops);
drivers/phy/qualcomm/phy-qcom-usb-ss.c
218
if (IS_ERR(phy)) {
drivers/phy/qualcomm/phy-qcom-usb-ss.c
220
return PTR_ERR(phy);
drivers/phy/qualcomm/phy-qcom-usb-ss.c
223
phy_set_drvdata(phy, priv);
drivers/phy/qualcomm/phy-qcom-usb-ss.c
90
static int qcom_ssphy_power_on(struct phy *phy)
drivers/phy/qualcomm/phy-qcom-usb-ss.c
92
struct ssphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/ralink/phy-mt7621-pci.c
101
regmap_write(phy->regmap, reg, val);
drivers/phy/ralink/phy-mt7621-pci.c
104
static void mt7621_bypass_pipe_rst(struct mt7621_pci_phy *phy)
drivers/phy/ralink/phy-mt7621-pci.c
106
mt7621_phy_rmw(phy, RG_PE1_PIPE_REG, 0, RG_PE1_PIPE_RST);
drivers/phy/ralink/phy-mt7621-pci.c
107
mt7621_phy_rmw(phy, RG_PE1_PIPE_REG, 0, RG_PE1_PIPE_CMD_FRC);
drivers/phy/ralink/phy-mt7621-pci.c
109
if (phy->has_dual_port) {
drivers/phy/ralink/phy-mt7621-pci.c
110
mt7621_phy_rmw(phy, RG_PE1_PIPE_REG + RG_P0_TO_P1_WIDTH,
drivers/phy/ralink/phy-mt7621-pci.c
112
mt7621_phy_rmw(phy, RG_PE1_PIPE_REG + RG_P0_TO_P1_WIDTH,
drivers/phy/ralink/phy-mt7621-pci.c
117
static int mt7621_set_phy_for_ssc(struct mt7621_pci_phy *phy)
drivers/phy/ralink/phy-mt7621-pci.c
119
struct device *dev = phy->dev;
drivers/phy/ralink/phy-mt7621-pci.c
122
clk_rate = clk_get_rate(phy->sys_clk);
drivers/phy/ralink/phy-mt7621-pci.c
128
mt7621_phy_rmw(phy, RG_PE1_FRC_H_XTAL_REG,
drivers/phy/ralink/phy-mt7621-pci.c
134
mt7621_phy_rmw(phy, RG_PE1_FRC_PHY_REG, RG_PE1_PHY_EN,
drivers/phy/ralink/phy-mt7621-pci.c
137
if (phy->has_dual_port) {
drivers/phy/ralink/phy-mt7621-pci.c
138
mt7621_phy_rmw(phy, RG_PE1_FRC_PHY_REG + RG_P0_TO_P1_WIDTH,
drivers/phy/ralink/phy-mt7621-pci.c
144
mt7621_phy_rmw(phy, RG_PE1_H_PLL_REG, RG_PE1_H_PLL_PREDIV,
drivers/phy/ralink/phy-mt7621-pci.c
149
mt7621_phy_rmw(phy, RG_PE1_H_PLL_REG, RG_PE1_H_PLL_PREDIV,
drivers/phy/ralink/phy-mt7621-pci.c
153
mt7621_phy_rmw(phy, RG_PE1_H_PLL_FBKSEL_REG,
drivers/phy/ralink/phy-mt7621-pci.c
158
mt7621_phy_rmw(phy, RG_PE1_H_LCDDS_SSC_PRD_REG,
drivers/phy/ralink/phy-mt7621-pci.c
163
mt7621_phy_rmw(phy, RG_PE1_H_LCDDS_SSC_PRD_REG,
drivers/phy/ralink/phy-mt7621-pci.c
168
mt7621_phy_rmw(phy, RG_PE1_H_LCDDS_SSC_DELTA_REG,
drivers/phy/ralink/phy-mt7621-pci.c
176
mt7621_phy_rmw(phy, RG_PE1_H_PLL_REG, RG_PE1_H_PLL_PREDIV,
drivers/phy/ralink/phy-mt7621-pci.c
183
mt7621_phy_rmw(phy, RG_PE1_LCDDS_CLK_PH_INV_REG,
drivers/phy/ralink/phy-mt7621-pci.c
187
mt7621_phy_rmw(phy, RG_PE1_H_PLL_REG,
drivers/phy/ralink/phy-mt7621-pci.c
196
mt7621_phy_rmw(phy, RG_PE1_H_PLL_BR_REG, RG_PE1_H_PLL_BR,
drivers/phy/ralink/phy-mt7621-pci.c
201
mt7621_phy_rmw(phy, RG_PE1_MSTCKDIV_REG,
drivers/phy/ralink/phy-mt7621-pci.c
210
static int mt7621_pci_phy_init(struct phy *phy)
drivers/phy/ralink/phy-mt7621-pci.c
212
struct mt7621_pci_phy *mphy = phy_get_drvdata(phy);
drivers/phy/ralink/phy-mt7621-pci.c
220
static int mt7621_pci_phy_power_on(struct phy *phy)
drivers/phy/ralink/phy-mt7621-pci.c
222
struct mt7621_pci_phy *mphy = phy_get_drvdata(phy);
drivers/phy/ralink/phy-mt7621-pci.c
236
static int mt7621_pci_phy_power_off(struct phy *phy)
drivers/phy/ralink/phy-mt7621-pci.c
238
struct mt7621_pci_phy *mphy = phy_get_drvdata(phy);
drivers/phy/ralink/phy-mt7621-pci.c
252
static int mt7621_pci_phy_exit(struct phy *phy)
drivers/phy/ralink/phy-mt7621-pci.c
265
static struct phy *mt7621_pcie_phy_of_xlate(struct device *dev,
drivers/phy/ralink/phy-mt7621-pci.c
278
return mt7621_phy->phy;
drivers/phy/ralink/phy-mt7621-pci.c
298
struct mt7621_pci_phy *phy;
drivers/phy/ralink/phy-mt7621-pci.c
300
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
drivers/phy/ralink/phy-mt7621-pci.c
301
if (!phy)
drivers/phy/ralink/phy-mt7621-pci.c
306
phy->bypass_pipe_rst = true;
drivers/phy/ralink/phy-mt7621-pci.c
308
phy->dev = dev;
drivers/phy/ralink/phy-mt7621-pci.c
309
platform_set_drvdata(pdev, phy);
drivers/phy/ralink/phy-mt7621-pci.c
311
phy->port_base = devm_platform_ioremap_resource(pdev, 0);
drivers/phy/ralink/phy-mt7621-pci.c
312
if (IS_ERR(phy->port_base)) {
drivers/phy/ralink/phy-mt7621-pci.c
314
return PTR_ERR(phy->port_base);
drivers/phy/ralink/phy-mt7621-pci.c
317
phy->regmap = devm_regmap_init_mmio(phy->dev, phy->port_base,
drivers/phy/ralink/phy-mt7621-pci.c
319
if (IS_ERR(phy->regmap))
drivers/phy/ralink/phy-mt7621-pci.c
320
return PTR_ERR(phy->regmap);
drivers/phy/ralink/phy-mt7621-pci.c
322
phy->phy = devm_phy_create(dev, dev->of_node, &mt7621_pci_phy_ops);
drivers/phy/ralink/phy-mt7621-pci.c
323
if (IS_ERR(phy->phy)) {
drivers/phy/ralink/phy-mt7621-pci.c
325
return PTR_ERR(phy->phy);
drivers/phy/ralink/phy-mt7621-pci.c
328
phy->sys_clk = devm_clk_get(dev, NULL);
drivers/phy/ralink/phy-mt7621-pci.c
329
if (IS_ERR(phy->sys_clk)) {
drivers/phy/ralink/phy-mt7621-pci.c
331
return PTR_ERR(phy->sys_clk);
drivers/phy/ralink/phy-mt7621-pci.c
334
phy_set_drvdata(phy->phy, phy);
drivers/phy/ralink/phy-mt7621-pci.c
79
struct phy *phy;
drivers/phy/ralink/phy-mt7621-pci.c
86
static inline void mt7621_phy_rmw(struct mt7621_pci_phy *phy,
drivers/phy/ralink/phy-mt7621-pci.c
98
regmap_read(phy->regmap, reg, &val);
drivers/phy/ralink/phy-ralink-usb.c
101
regmap_update_bits(phy->sysctl, RT_SYSC_REG_SYSCFG1,
drivers/phy/ralink/phy-ralink-usb.c
106
reset_control_deassert(phy->rsthost);
drivers/phy/ralink/phy-ralink-usb.c
107
reset_control_deassert(phy->rstdev);
drivers/phy/ralink/phy-ralink-usb.c
115
if (phy->base)
drivers/phy/ralink/phy-ralink-usb.c
116
ralink_usb_phy_init(phy);
drivers/phy/ralink/phy-ralink-usb.c
119
regmap_read(phy->sysctl, RT_SYSC_REG_USB_PHY_CFG, &t);
drivers/phy/ralink/phy-ralink-usb.c
120
dev_info(&phy->phy->dev, "remote usb device wakeup %s\n",
drivers/phy/ralink/phy-ralink-usb.c
123
dev_info(&phy->phy->dev, "UTMI 8bit 60MHz\n");
drivers/phy/ralink/phy-ralink-usb.c
125
dev_info(&phy->phy->dev, "UTMI 16bit 30MHz\n");
drivers/phy/ralink/phy-ralink-usb.c
130
static int ralink_usb_phy_power_off(struct phy *_phy)
drivers/phy/ralink/phy-ralink-usb.c
132
struct ralink_usb_phy *phy = phy_get_drvdata(_phy);
drivers/phy/ralink/phy-ralink-usb.c
135
regmap_update_bits(phy->sysctl, RT_SYSC_REG_CLKCFG1,
drivers/phy/ralink/phy-ralink-usb.c
136
phy->clk, 0);
drivers/phy/ralink/phy-ralink-usb.c
139
reset_control_assert(phy->rstdev);
drivers/phy/ralink/phy-ralink-usb.c
140
reset_control_assert(phy->rsthost);
drivers/phy/ralink/phy-ralink-usb.c
174
struct ralink_usb_phy *phy;
drivers/phy/ralink/phy-ralink-usb.c
176
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
drivers/phy/ralink/phy-ralink-usb.c
177
if (!phy)
drivers/phy/ralink/phy-ralink-usb.c
180
phy->clk = (uintptr_t)device_get_match_data(&pdev->dev);
drivers/phy/ralink/phy-ralink-usb.c
181
phy->base = NULL;
drivers/phy/ralink/phy-ralink-usb.c
183
phy->sysctl = syscon_regmap_lookup_by_phandle(dev->of_node, "ralink,sysctl");
drivers/phy/ralink/phy-ralink-usb.c
184
if (IS_ERR(phy->sysctl)) {
drivers/phy/ralink/phy-ralink-usb.c
186
return PTR_ERR(phy->sysctl);
drivers/phy/ralink/phy-ralink-usb.c
191
phy->base = devm_platform_ioremap_resource(pdev, 0);
drivers/phy/ralink/phy-ralink-usb.c
192
if (IS_ERR(phy->base)) {
drivers/phy/ralink/phy-ralink-usb.c
194
return PTR_ERR(phy->base);
drivers/phy/ralink/phy-ralink-usb.c
198
phy->rsthost = devm_reset_control_get(&pdev->dev, "host");
drivers/phy/ralink/phy-ralink-usb.c
199
if (IS_ERR(phy->rsthost)) {
drivers/phy/ralink/phy-ralink-usb.c
201
return PTR_ERR(phy->rsthost);
drivers/phy/ralink/phy-ralink-usb.c
204
phy->rstdev = devm_reset_control_get(&pdev->dev, "device");
drivers/phy/ralink/phy-ralink-usb.c
205
if (IS_ERR(phy->rstdev)) {
drivers/phy/ralink/phy-ralink-usb.c
207
return PTR_ERR(phy->rstdev);
drivers/phy/ralink/phy-ralink-usb.c
210
phy->phy = devm_phy_create(dev, NULL, &ralink_usb_phy_ops);
drivers/phy/ralink/phy-ralink-usb.c
211
if (IS_ERR(phy->phy)) {
drivers/phy/ralink/phy-ralink-usb.c
213
return PTR_ERR(phy->phy);
drivers/phy/ralink/phy-ralink-usb.c
215
phy_set_drvdata(phy->phy, phy);
drivers/phy/ralink/phy-ralink-usb.c
56
struct phy *phy;
drivers/phy/ralink/phy-ralink-usb.c
61
static void u2_phy_w32(struct ralink_usb_phy *phy, u32 val, u32 reg)
drivers/phy/ralink/phy-ralink-usb.c
63
writel(val, phy->base + reg);
drivers/phy/ralink/phy-ralink-usb.c
66
static u32 u2_phy_r32(struct ralink_usb_phy *phy, u32 reg)
drivers/phy/ralink/phy-ralink-usb.c
68
return readl(phy->base + reg);
drivers/phy/ralink/phy-ralink-usb.c
71
static void ralink_usb_phy_init(struct ralink_usb_phy *phy)
drivers/phy/ralink/phy-ralink-usb.c
73
u2_phy_r32(phy, OFS_U2_PHY_AC2);
drivers/phy/ralink/phy-ralink-usb.c
74
u2_phy_r32(phy, OFS_U2_PHY_ACR0);
drivers/phy/ralink/phy-ralink-usb.c
75
u2_phy_r32(phy, OFS_U2_PHY_DCR0);
drivers/phy/ralink/phy-ralink-usb.c
77
u2_phy_w32(phy, 0x00ffff02, OFS_U2_PHY_DCR0);
drivers/phy/ralink/phy-ralink-usb.c
78
u2_phy_r32(phy, OFS_U2_PHY_DCR0);
drivers/phy/ralink/phy-ralink-usb.c
79
u2_phy_w32(phy, 0x00555502, OFS_U2_PHY_DCR0);
drivers/phy/ralink/phy-ralink-usb.c
80
u2_phy_r32(phy, OFS_U2_PHY_DCR0);
drivers/phy/ralink/phy-ralink-usb.c
81
u2_phy_w32(phy, 0x00aaaa02, OFS_U2_PHY_DCR0);
drivers/phy/ralink/phy-ralink-usb.c
82
u2_phy_r32(phy, OFS_U2_PHY_DCR0);
drivers/phy/ralink/phy-ralink-usb.c
83
u2_phy_w32(phy, 0x00000402, OFS_U2_PHY_DCR0);
drivers/phy/ralink/phy-ralink-usb.c
84
u2_phy_r32(phy, OFS_U2_PHY_DCR0);
drivers/phy/ralink/phy-ralink-usb.c
85
u2_phy_w32(phy, 0x0048086a, OFS_U2_PHY_AC0);
drivers/phy/ralink/phy-ralink-usb.c
86
u2_phy_w32(phy, 0x4400001c, OFS_U2_PHY_AC1);
drivers/phy/ralink/phy-ralink-usb.c
87
u2_phy_w32(phy, 0xc0200000, OFS_U2_PHY_ACR3);
drivers/phy/ralink/phy-ralink-usb.c
88
u2_phy_w32(phy, 0x02000000, OFS_U2_PHY_DTM0);
drivers/phy/ralink/phy-ralink-usb.c
91
static int ralink_usb_phy_power_on(struct phy *_phy)
drivers/phy/ralink/phy-ralink-usb.c
93
struct ralink_usb_phy *phy = phy_get_drvdata(_phy);
drivers/phy/ralink/phy-ralink-usb.c
97
regmap_update_bits(phy->sysctl, RT_SYSC_REG_CLKCFG1,
drivers/phy/ralink/phy-ralink-usb.c
98
phy->clk, phy->clk);
drivers/phy/realtek/phy-rtk-usb2.c
1009
struct phy *generic_phy;
drivers/phy/realtek/phy-rtk-usb2.c
647
static int rtk_phy_init(struct phy *phy)
drivers/phy/realtek/phy-rtk-usb2.c
649
struct rtk_phy *rtk_phy = phy_get_drvdata(phy);
drivers/phy/realtek/phy-rtk-usb2.c
664
static int rtk_phy_exit(struct phy *phy)
drivers/phy/realtek/phy-rtk-usb2.c
682
static int rtk_phy_connect(struct phy *phy, int port)
drivers/phy/realtek/phy-rtk-usb2.c
684
struct rtk_phy *rtk_phy = phy_get_drvdata(phy);
drivers/phy/realtek/phy-rtk-usb2.c
692
static int rtk_phy_disconnect(struct phy *phy, int port)
drivers/phy/realtek/phy-rtk-usb2.c
694
struct rtk_phy *rtk_phy = phy_get_drvdata(phy);
drivers/phy/realtek/phy-rtk-usb3.c
282
static int rtk_phy_init(struct phy *phy)
drivers/phy/realtek/phy-rtk-usb3.c
284
struct rtk_phy *rtk_phy = phy_get_drvdata(phy);
drivers/phy/realtek/phy-rtk-usb3.c
298
static int rtk_phy_exit(struct phy *phy)
drivers/phy/realtek/phy-rtk-usb3.c
316
static int rtk_phy_connect(struct phy *phy, int port)
drivers/phy/realtek/phy-rtk-usb3.c
318
struct rtk_phy *rtk_phy = phy_get_drvdata(phy);
drivers/phy/realtek/phy-rtk-usb3.c
326
static int rtk_phy_disconnect(struct phy *phy, int port)
drivers/phy/realtek/phy-rtk-usb3.c
328
struct rtk_phy *rtk_phy = phy_get_drvdata(phy);
drivers/phy/realtek/phy-rtk-usb3.c
563
struct phy *generic_phy;
drivers/phy/renesas/phy-rcar-gen2.c
104
static int rcar_gen2_phy_exit(struct phy *p)
drivers/phy/renesas/phy-rcar-gen2.c
106
struct rcar_gen2_phy *phy = phy_get_drvdata(p);
drivers/phy/renesas/phy-rcar-gen2.c
107
struct rcar_gen2_channel *channel = phy->channel;
drivers/phy/renesas/phy-rcar-gen2.c
116
static int rcar_gen2_phy_power_on(struct phy *p)
drivers/phy/renesas/phy-rcar-gen2.c
118
struct rcar_gen2_phy *phy = phy_get_drvdata(p);
drivers/phy/renesas/phy-rcar-gen2.c
119
struct rcar_gen2_phy_driver *drv = phy->channel->drv;
drivers/phy/renesas/phy-rcar-gen2.c
126
if (phy->select_value != USBHS_UGCTRL2_USB0SEL_HS_USB)
drivers/phy/renesas/phy-rcar-gen2.c
160
static int rcar_gen2_phy_power_off(struct phy *p)
drivers/phy/renesas/phy-rcar-gen2.c
162
struct rcar_gen2_phy *phy = phy_get_drvdata(p);
drivers/phy/renesas/phy-rcar-gen2.c
163
struct rcar_gen2_phy_driver *drv = phy->channel->drv;
drivers/phy/renesas/phy-rcar-gen2.c
169
if (phy->select_value != USBHS_UGCTRL2_USB0SEL_HS_USB)
drivers/phy/renesas/phy-rcar-gen2.c
192
static int rz_g1c_phy_power_on(struct phy *p)
drivers/phy/renesas/phy-rcar-gen2.c
194
struct rcar_gen2_phy *phy = phy_get_drvdata(p);
drivers/phy/renesas/phy-rcar-gen2.c
195
struct rcar_gen2_phy_driver *drv = phy->channel->drv;
drivers/phy/renesas/phy-rcar-gen2.c
210
if (phy->select_value == USBHS_UGCTRL2_USB0SEL_HS_USB20) {
drivers/phy/renesas/phy-rcar-gen2.c
221
static int rz_g1c_phy_power_off(struct phy *p)
drivers/phy/renesas/phy-rcar-gen2.c
223
struct rcar_gen2_phy *phy = phy_get_drvdata(p);
drivers/phy/renesas/phy-rcar-gen2.c
224
struct rcar_gen2_phy_driver *drv = phy->channel->drv;
drivers/phy/renesas/phy-rcar-gen2.c
231
if (phy->select_value == USBHS_UGCTRL2_USB0SEL_HS_USB20) {
drivers/phy/renesas/phy-rcar-gen2.c
308
static struct phy *rcar_gen2_phy_xlate(struct device *dev,
drivers/phy/renesas/phy-rcar-gen2.c
327
return drv->channels[i].phys[args->args[0]].phy;
drivers/phy/renesas/phy-rcar-gen2.c
398
struct rcar_gen2_phy *phy = &channel->phys[n];
drivers/phy/renesas/phy-rcar-gen2.c
400
phy->channel = channel;
drivers/phy/renesas/phy-rcar-gen2.c
401
phy->number = n;
drivers/phy/renesas/phy-rcar-gen2.c
402
phy->select_value = data->select_value[channel_num][n];
drivers/phy/renesas/phy-rcar-gen2.c
404
phy->phy = devm_phy_create(dev, NULL,
drivers/phy/renesas/phy-rcar-gen2.c
406
if (IS_ERR(phy->phy)) {
drivers/phy/renesas/phy-rcar-gen2.c
409
return PTR_ERR(phy->phy);
drivers/phy/renesas/phy-rcar-gen2.c
411
phy_set_drvdata(phy->phy, phy);
drivers/phy/renesas/phy-rcar-gen2.c
48
struct phy *phy;
drivers/phy/renesas/phy-rcar-gen2.c
76
static int rcar_gen2_phy_init(struct phy *p)
drivers/phy/renesas/phy-rcar-gen2.c
78
struct rcar_gen2_phy *phy = phy_get_drvdata(p);
drivers/phy/renesas/phy-rcar-gen2.c
79
struct rcar_gen2_channel *channel = phy->channel;
drivers/phy/renesas/phy-rcar-gen2.c
90
if (cmpxchg(&channel->selected_phy, -1, phy->number) != -1)
drivers/phy/renesas/phy-rcar-gen2.c
98
ugctrl2 |= phy->select_value;
drivers/phy/renesas/phy-rcar-gen3-pcie.c
105
phy->phy = devm_phy_create(dev, NULL, &r8a77980_phy_pcie_ops);
drivers/phy/renesas/phy-rcar-gen3-pcie.c
106
if (IS_ERR(phy->phy)) {
drivers/phy/renesas/phy-rcar-gen3-pcie.c
108
error = PTR_ERR(phy->phy);
drivers/phy/renesas/phy-rcar-gen3-pcie.c
111
phy_set_drvdata(phy->phy, phy);
drivers/phy/renesas/phy-rcar-gen3-pcie.c
22
struct phy *phy;
drivers/phy/renesas/phy-rcar-gen3-pcie.c
27
static void rcar_gen3_phy_pcie_modify_reg(struct phy *p, unsigned int reg,
drivers/phy/renesas/phy-rcar-gen3-pcie.c
30
struct rcar_gen3_phy *phy = phy_get_drvdata(p);
drivers/phy/renesas/phy-rcar-gen3-pcie.c
31
void __iomem *base = phy->base;
drivers/phy/renesas/phy-rcar-gen3-pcie.c
35
spin_lock_irqsave(&phy->lock, flags);
drivers/phy/renesas/phy-rcar-gen3-pcie.c
42
spin_unlock_irqrestore(&phy->lock, flags);
drivers/phy/renesas/phy-rcar-gen3-pcie.c
45
static int r8a77980_phy_pcie_power_on(struct phy *p)
drivers/phy/renesas/phy-rcar-gen3-pcie.c
53
static int r8a77980_phy_pcie_power_off(struct phy *p)
drivers/phy/renesas/phy-rcar-gen3-pcie.c
77
struct rcar_gen3_phy *phy;
drivers/phy/renesas/phy-rcar-gen3-pcie.c
91
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
drivers/phy/renesas/phy-rcar-gen3-pcie.c
92
if (!phy)
drivers/phy/renesas/phy-rcar-gen3-pcie.c
95
spin_lock_init(&phy->lock);
drivers/phy/renesas/phy-rcar-gen3-pcie.c
97
phy->base = base;
drivers/phy/renesas/phy-rcar-gen3-usb2.c
1028
channel->rphys[i].phy = devm_phy_create(dev, NULL,
drivers/phy/renesas/phy-rcar-gen3-usb2.c
1030
if (IS_ERR(channel->rphys[i].phy))
drivers/phy/renesas/phy-rcar-gen3-usb2.c
1031
return dev_err_probe(dev, PTR_ERR(channel->rphys[i].phy),
drivers/phy/renesas/phy-rcar-gen3-usb2.c
1036
phy_set_drvdata(channel->rphys[i].phy, &channel->rphys[i]);
drivers/phy/renesas/phy-rcar-gen3-usb2.c
125
struct phy *phy;
drivers/phy/renesas/phy-rcar-gen3-usb2.c
533
static int rcar_gen3_phy_usb2_init(struct phy *p)
drivers/phy/renesas/phy-rcar-gen3-usb2.c
576
static int rcar_gen3_phy_usb2_exit(struct phy *p)
drivers/phy/renesas/phy-rcar-gen3-usb2.c
596
static int rcar_gen3_phy_usb2_power_on(struct phy *p)
drivers/phy/renesas/phy-rcar-gen3-usb2.c
628
static int rcar_gen3_phy_usb2_power_off(struct phy *p)
drivers/phy/renesas/phy-rcar-gen3-usb2.c
752
static struct phy *rcar_gen3_phy_usb2_xlate(struct device *dev,
drivers/phy/renesas/phy-rcar-gen3-usb2.c
758
return ch->rphys[PHY_INDEX_BOTH_HC].phy;
drivers/phy/renesas/phy-rcar-gen3-usb2.c
765
return ch->rphys[args->args[0]].phy;
drivers/phy/renesas/phy-rcar-gen3-usb3.c
104
static int rcar_gen3_phy_usb3_init(struct phy *p)
drivers/phy/renesas/phy-rcar-gen3-usb3.c
108
dev_vdbg(&r->phy->dev, "%s: enter (%d, %d, %d)\n", __func__,
drivers/phy/renesas/phy-rcar-gen3-usb3.c
175
r->phy = devm_phy_create(dev, NULL, &rcar_gen3_phy_usb3_ops);
drivers/phy/renesas/phy-rcar-gen3-usb3.c
176
if (IS_ERR(r->phy)) {
drivers/phy/renesas/phy-rcar-gen3-usb3.c
178
ret = PTR_ERR(r->phy);
drivers/phy/renesas/phy-rcar-gen3-usb3.c
185
phy_set_drvdata(r->phy, r);
drivers/phy/renesas/phy-rcar-gen3-usb3.c
51
struct phy *phy;
drivers/phy/renesas/phy-rcar-gen3-usb3.c
83
dev_err(&r->phy->dev, "%s: unsupported range (%x)\n", __func__,
drivers/phy/renesas/phy-rzg3e-usb3.c
140
static int rzg3e_phy_usb3_init(struct phy *p)
drivers/phy/renesas/phy-rzg3e-usb3.c
161
struct phy *phy;
drivers/phy/renesas/phy-rzg3e-usb3.c
184
phy = devm_phy_create(dev, NULL, &rzg3e_phy_usb3_ops);
drivers/phy/renesas/phy-rzg3e-usb3.c
185
if (IS_ERR(phy))
drivers/phy/renesas/phy-rzg3e-usb3.c
186
return dev_err_probe(dev, PTR_ERR(phy), "failed to create USB3 PHY\n");
drivers/phy/renesas/phy-rzg3e-usb3.c
189
phy_set_drvdata(phy, r);
drivers/phy/renesas/r8a779f0-ether-serdes.c
26
struct phy *phy;
drivers/phy/renesas/r8a779f0-ether-serdes.c
304
static int r8a779f0_eth_serdes_init(struct phy *p)
drivers/phy/renesas/r8a779f0-ether-serdes.c
316
static int r8a779f0_eth_serdes_exit(struct phy *p)
drivers/phy/renesas/r8a779f0-ether-serdes.c
366
static int r8a779f0_eth_serdes_power_on(struct phy *p)
drivers/phy/renesas/r8a779f0-ether-serdes.c
373
static int r8a779f0_eth_serdes_set_mode(struct phy *p, enum phy_mode mode,
drivers/phy/renesas/r8a779f0-ether-serdes.c
392
static int r8a779f0_eth_serdes_set_speed(struct phy *p, int speed)
drivers/phy/renesas/r8a779f0-ether-serdes.c
409
static struct phy *r8a779f0_eth_serdes_xlate(struct device *dev,
drivers/phy/renesas/r8a779f0-ether-serdes.c
417
return dd->channel[args->args[0]].phy;
drivers/phy/renesas/r8a779f0-ether-serdes.c
449
channel->phy = devm_phy_create(&pdev->dev, NULL,
drivers/phy/renesas/r8a779f0-ether-serdes.c
451
if (IS_ERR(channel->phy))
drivers/phy/renesas/r8a779f0-ether-serdes.c
452
return PTR_ERR(channel->phy);
drivers/phy/renesas/r8a779f0-ether-serdes.c
456
phy_set_drvdata(channel->phy, channel);
drivers/phy/renesas/r8a779f0-ether-serdes.c
72
dev_dbg(&channel->phy->dev,
drivers/phy/rockchip/phy-rockchip-dp.c
120
phy = devm_phy_create(dev, np, &rockchip_dp_phy_ops);
drivers/phy/rockchip/phy-rockchip-dp.c
121
if (IS_ERR(phy)) {
drivers/phy/rockchip/phy-rockchip-dp.c
123
return PTR_ERR(phy);
drivers/phy/rockchip/phy-rockchip-dp.c
125
phy_set_drvdata(phy, dp);
drivers/phy/rockchip/phy-rockchip-dp.c
32
static int rockchip_set_phy_state(struct phy *phy, bool enable)
drivers/phy/rockchip/phy-rockchip-dp.c
34
struct rockchip_dp_phy *dp = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-dp.c
58
static int rockchip_dp_phy_power_on(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-dp.c
60
return rockchip_set_phy_state(phy, true);
drivers/phy/rockchip/phy-rockchip-dp.c
63
static int rockchip_dp_phy_power_off(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-dp.c
65
return rockchip_set_phy_state(phy, false);
drivers/phy/rockchip/phy-rockchip-dp.c
80
struct phy *phy;
drivers/phy/rockchip/phy-rockchip-dphy-rx0.c
226
static int rk_dphy_configure(struct phy *phy, union phy_configure_opts *opts)
drivers/phy/rockchip/phy-rockchip-dphy-rx0.c
228
struct rk_dphy *priv = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-dphy-rx0.c
259
static int rk_dphy_power_on(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-dphy-rx0.c
261
struct rk_dphy *priv = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-dphy-rx0.c
273
static int rk_dphy_power_off(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-dphy-rx0.c
275
struct rk_dphy *priv = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-dphy-rx0.c
282
static int rk_dphy_init(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-dphy-rx0.c
284
struct rk_dphy *priv = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-dphy-rx0.c
289
static int rk_dphy_exit(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-dphy-rx0.c
291
struct rk_dphy *priv = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-dphy-rx0.c
330
struct phy *phy;
drivers/phy/rockchip/phy-rockchip-dphy-rx0.c
360
phy = devm_phy_create(dev, np, &rk_dphy_ops);
drivers/phy/rockchip/phy-rockchip-dphy-rx0.c
361
if (IS_ERR(phy)) {
drivers/phy/rockchip/phy-rockchip-dphy-rx0.c
363
return PTR_ERR(phy);
drivers/phy/rockchip/phy-rockchip-dphy-rx0.c
365
phy_set_drvdata(phy, priv);
drivers/phy/rockchip/phy-rockchip-emmc.c
156
dev_warn(&phy->dev, "Unsupported rate: %lu\n", rate);
drivers/phy/rockchip/phy-rockchip-emmc.c
238
static int rockchip_emmc_phy_init(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-emmc.c
240
struct rockchip_emmc_phy *rk_phy = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-emmc.c
259
rk_phy->emmcclk = clk_get_optional(&phy->dev, "emmcclk");
drivers/phy/rockchip/phy-rockchip-emmc.c
262
dev_err(&phy->dev, "Error getting emmcclk: %d\n", ret);
drivers/phy/rockchip/phy-rockchip-emmc.c
269
static int rockchip_emmc_phy_exit(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-emmc.c
271
struct rockchip_emmc_phy *rk_phy = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-emmc.c
278
static int rockchip_emmc_phy_power_off(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-emmc.c
281
return rockchip_emmc_phy_power(phy, PHYCTRL_PDB_PWR_OFF);
drivers/phy/rockchip/phy-rockchip-emmc.c
284
static int rockchip_emmc_phy_power_on(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-emmc.c
286
struct rockchip_emmc_phy *rk_phy = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-emmc.c
317
return rockchip_emmc_phy_power(phy, PHYCTRL_PDB_PWR_ON);
drivers/phy/rockchip/phy-rockchip-emmc.c
352
struct phy *generic_phy;
drivers/phy/rockchip/phy-rockchip-emmc.c
94
static int rockchip_emmc_phy_power(struct phy *phy, bool on_off)
drivers/phy/rockchip/phy-rockchip-emmc.c
96
struct rockchip_emmc_phy *rk_phy = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-inno-csidphy.c
211
static int rockchip_inno_csidphy_configure(struct phy *phy,
drivers/phy/rockchip/phy-rockchip-inno-csidphy.c
214
struct rockchip_inno_csidphy *priv = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-inno-csidphy.c
245
static int rockchip_inno_csidphy_power_on(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-inno-csidphy.c
247
struct rockchip_inno_csidphy *priv = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-inno-csidphy.c
314
static int rockchip_inno_csidphy_power_off(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-inno-csidphy.c
316
struct rockchip_inno_csidphy *priv = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-inno-csidphy.c
337
static int rockchip_inno_csidphy_init(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-inno-csidphy.c
339
struct rockchip_inno_csidphy *priv = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-inno-csidphy.c
344
static int rockchip_inno_csidphy_exit(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-inno-csidphy.c
346
struct rockchip_inno_csidphy *priv = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-inno-csidphy.c
451
struct phy *phy;
drivers/phy/rockchip/phy-rockchip-inno-csidphy.c
498
phy = devm_phy_create(dev, NULL, &rockchip_inno_csidphy_ops);
drivers/phy/rockchip/phy-rockchip-inno-csidphy.c
499
if (IS_ERR(phy)) {
drivers/phy/rockchip/phy-rockchip-inno-csidphy.c
501
return PTR_ERR(phy);
drivers/phy/rockchip/phy-rockchip-inno-csidphy.c
504
phy_set_drvdata(phy, priv);
drivers/phy/rockchip/phy-rockchip-inno-dsidphy.c
652
static int inno_dsidphy_power_on(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-inno-dsidphy.c
654
struct inno_dsidphy *inno = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-inno-dsidphy.c
681
static int inno_dsidphy_power_off(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-inno-dsidphy.c
683
struct inno_dsidphy *inno = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-inno-dsidphy.c
709
static int inno_dsidphy_set_mode(struct phy *phy, enum phy_mode mode,
drivers/phy/rockchip/phy-rockchip-inno-dsidphy.c
712
struct inno_dsidphy *inno = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-inno-dsidphy.c
726
static int inno_dsidphy_configure(struct phy *phy,
drivers/phy/rockchip/phy-rockchip-inno-dsidphy.c
729
struct inno_dsidphy *inno = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-inno-dsidphy.c
778
struct phy *phy;
drivers/phy/rockchip/phy-rockchip-inno-dsidphy.c
814
phy = devm_phy_create(dev, NULL, &inno_dsidphy_ops);
drivers/phy/rockchip/phy-rockchip-inno-dsidphy.c
815
if (IS_ERR(phy)) {
drivers/phy/rockchip/phy-rockchip-inno-dsidphy.c
816
ret = PTR_ERR(phy);
drivers/phy/rockchip/phy-rockchip-inno-dsidphy.c
821
phy_set_drvdata(phy, inno);
drivers/phy/rockchip/phy-rockchip-inno-hdmi.c
1388
inno->phy = devm_phy_create(inno->dev, NULL, &inno_hdmi_phy_ops);
drivers/phy/rockchip/phy-rockchip-inno-hdmi.c
1389
if (IS_ERR(inno->phy)) {
drivers/phy/rockchip/phy-rockchip-inno-hdmi.c
1391
return PTR_ERR(inno->phy);
drivers/phy/rockchip/phy-rockchip-inno-hdmi.c
1394
phy_set_drvdata(inno->phy, inno);
drivers/phy/rockchip/phy-rockchip-inno-hdmi.c
1395
phy_set_bus_width(inno->phy, 8);
drivers/phy/rockchip/phy-rockchip-inno-hdmi.c
234
struct phy *phy;
drivers/phy/rockchip/phy-rockchip-inno-hdmi.c
557
int bus_width = phy_get_bus_width(inno->phy);
drivers/phy/rockchip/phy-rockchip-inno-hdmi.c
605
static int inno_hdmi_phy_power_on(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-inno-hdmi.c
607
struct inno_hdmi_phy *inno = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-inno-hdmi.c
651
static int inno_hdmi_phy_power_off(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-inno-hdmi.c
653
struct inno_hdmi_phy *inno = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
1013
dev_dbg(&rport->phy->dev, "unknown phy state\n");
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
1025
struct rockchip_usb2phy *rphy = dev_get_drvdata(rport->phy->dev.parent);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
1052
struct rockchip_usb2phy *rphy = dev_get_drvdata(rport->phy->dev.parent);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
1068
struct rockchip_usb2phy *rphy = dev_get_drvdata(rport->phy->dev.parent);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
1101
struct rockchip_usb2phy *rphy = dev_get_drvdata(rport->phy->dev.parent);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
1132
if (!rport->phy)
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
1453
struct phy *phy;
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
1460
phy = devm_phy_create(dev, child_np, &rockchip_usb2phy_ops);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
1461
if (IS_ERR(phy)) {
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
1462
ret = dev_err_probe(dev, PTR_ERR(phy), "failed to create phy\n");
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
1466
rport->phy = phy;
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
1467
phy_set_drvdata(rport->phy, rport);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
208
struct phy *phy;
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
489
static int rockchip_usb2phy_init(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
491
struct rockchip_usb2phy_port *rport = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
492
struct rockchip_usb2phy *rphy = dev_get_drvdata(phy->dev.parent);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
542
dev_dbg(&rport->phy->dev, "mode %d\n", rport->mode);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
573
static int rockchip_usb2phy_power_on(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
575
struct rockchip_usb2phy_port *rport = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
576
struct rockchip_usb2phy *rphy = dev_get_drvdata(phy->dev.parent);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
580
dev_dbg(&rport->phy->dev, "port power on\n");
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
614
static int rockchip_usb2phy_power_off(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
616
struct rockchip_usb2phy_port *rport = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
617
struct rockchip_usb2phy *rphy = dev_get_drvdata(phy->dev.parent);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
621
dev_dbg(&rport->phy->dev, "port power off\n");
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
636
static int rockchip_usb2phy_exit(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
638
struct rockchip_usb2phy_port *rport = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
664
struct rockchip_usb2phy *rphy = dev_get_drvdata(rport->phy->dev.parent);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
675
dev_dbg(&rport->phy->dev, "%s otg sm work\n",
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
682
rockchip_usb2phy_power_off(rport->phy);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
686
dev_dbg(&rport->phy->dev, "usb otg host connect\n");
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
688
rockchip_usb2phy_power_on(rport->phy);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
691
dev_dbg(&rport->phy->dev, "vbus_attach\n");
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
699
dev_dbg(&rport->phy->dev, "sdp cable is connected\n");
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
700
rockchip_usb2phy_power_on(rport->phy);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
707
dev_dbg(&rport->phy->dev, "dcp cable is connected\n");
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
708
rockchip_usb2phy_power_off(rport->phy);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
714
dev_dbg(&rport->phy->dev, "cdp cable is connected\n");
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
715
rockchip_usb2phy_power_on(rport->phy);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
749
dev_dbg(&rport->phy->dev, "usb disconnect\n");
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
754
rockchip_usb2phy_power_off(rport->phy);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
760
dev_dbg(&rport->phy->dev, "usb otg host disconnect\n");
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
762
rockchip_usb2phy_power_off(rport->phy);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
822
struct rockchip_usb2phy *rphy = dev_get_drvdata(rport->phy->dev.parent);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
829
dev_dbg(&rport->phy->dev, "chg detection work state = %d\n",
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
834
rockchip_usb2phy_power_off(rport->phy);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
903
dev_dbg(&rport->phy->dev, "charger = %s\n",
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
930
struct rockchip_usb2phy *rphy = dev_get_drvdata(rport->phy->dev.parent);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
964
dev_dbg(&rport->phy->dev, "HS online\n");
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
978
dev_dbg(&rport->phy->dev, "FS/LS online\n");
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
984
dev_dbg(&rport->phy->dev, "Connected\n");
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
985
rockchip_usb2phy_power_on(rport->phy);
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
989
dev_dbg(&rport->phy->dev, "FS/LS online\n");
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
994
dev_dbg(&rport->phy->dev, "Disconnected\n");
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
995
rockchip_usb2phy_power_off(rport->phy);
drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
208
struct phy *phy;
drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
252
static int rockchip_combphy_init(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
254
struct rockchip_combphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
306
static int rockchip_combphy_exit(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
308
struct rockchip_combphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
322
static struct phy *rockchip_combphy_xlate(struct device *dev, const struct of_phandle_args *args)
drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
337
return priv->phy;
drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
435
priv->phy = devm_phy_create(dev, NULL, &rockchip_combphy_ops);
drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
436
if (IS_ERR(priv->phy)) {
drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
438
return PTR_ERR(priv->phy);
drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
442
phy_set_drvdata(priv->phy, priv);
drivers/phy/rockchip/phy-rockchip-pcie.c
100
static int rockchip_pcie_phy_power_off(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-pcie.c
102
struct phy_pcie_instance *inst = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-pcie.c
118
dev_err(&phy->dev, "assert phy_rst err %d\n", err);
drivers/phy/rockchip/phy-rockchip-pcie.c
129
static int rockchip_pcie_phy_power_on(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-pcie.c
131
struct phy_pcie_instance *inst = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-pcie.c
148
dev_err(&phy->dev, "deassert phy_rst err %d\n", err);
drivers/phy/rockchip/phy-rockchip-pcie.c
167
dev_err(&phy->dev, "pll lock timeout!\n");
drivers/phy/rockchip/phy-rockchip-pcie.c
180
dev_err(&phy->dev, "pll output enable timeout!\n");
drivers/phy/rockchip/phy-rockchip-pcie.c
193
dev_err(&phy->dev, "pll relock timeout!\n");
drivers/phy/rockchip/phy-rockchip-pcie.c
205
static int rockchip_pcie_phy_init(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-pcie.c
207
struct phy_pcie_instance *inst = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-pcie.c
219
dev_err(&phy->dev, "assert phy_rst err %d\n", err);
drivers/phy/rockchip/phy-rockchip-pcie.c
227
static int rockchip_pcie_phy_exit(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-pcie.c
229
struct phy_pcie_instance *inst = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-pcie.c
310
rk_phy->phys[i].phy = devm_phy_create(dev, dev->of_node, &ops);
drivers/phy/rockchip/phy-rockchip-pcie.c
311
if (IS_ERR(rk_phy->phys[i].phy)) {
drivers/phy/rockchip/phy-rockchip-pcie.c
313
return PTR_ERR(rk_phy->phys[i].phy);
drivers/phy/rockchip/phy-rockchip-pcie.c
316
phy_set_drvdata(rk_phy->phys[i].phy, &rk_phy->phys[i]);
drivers/phy/rockchip/phy-rockchip-pcie.c
55
struct phy *phy;
drivers/phy/rockchip/phy-rockchip-pcie.c
71
static struct phy *rockchip_pcie_phy_of_xlate(struct device *dev,
drivers/phy/rockchip/phy-rockchip-pcie.c
77
return rk_phy->phys[0].phy;
drivers/phy/rockchip/phy-rockchip-pcie.c
82
return rk_phy->phys[args->args[0]].phy;
drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
1362
static int samsung_mipi_dcphy_power_on(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
1364
struct samsung_mipi_dcphy *samsung = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
1381
static int samsung_mipi_dcphy_power_off(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
1383
struct samsung_mipi_dcphy *samsung = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
1486
static int samsung_mipi_dcphy_configure(struct phy *phy,
drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
1489
struct samsung_mipi_dcphy *samsung = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
1500
static int samsung_mipi_dcphy_init(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
1502
struct samsung_mipi_dcphy *samsung = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
1507
static int samsung_mipi_dcphy_exit(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
1509
struct samsung_mipi_dcphy *samsung = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
1533
static struct phy *samsung_mipi_dcphy_xlate(struct device *dev,
drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
1549
return samsung->phy;
drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
1614
samsung->phy = devm_phy_create(dev, NULL, &samsung_mipi_dcphy_ops);
drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
1615
if (IS_ERR(samsung->phy))
drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
1616
return dev_err_probe(dev, PTR_ERR(samsung->phy), "Failed to create MIPI DC-PHY\n");
drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
1618
phy_set_drvdata(samsung->phy, samsung);
drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c
295
struct phy *phy;
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
1342
enum phy_mode mode = phy_get_mode(hdptx->phy);
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
1373
enum phy_mode mode = phy_get_mode(hdptx->phy);
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
1653
static int rk_hdptx_phy_power_on(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
1655
struct rk_hdptx_phy *hdptx = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
1656
enum phy_mode mode = phy_get_mode(phy);
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
1667
hdptx->hdmi_cfg.rate = phy_get_bus_width(hdptx->phy) & 0xfffffff;
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
1718
static int rk_hdptx_phy_power_off(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
1720
struct rk_hdptx_phy *hdptx = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
2047
static int rk_hdptx_phy_set_mode(struct phy *phy, enum phy_mode mode, int submode)
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
2049
struct rk_hdptx_phy *hdptx = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
2055
dev_err(&phy->dev, "invalid PHY mode: %d\n", mode);
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
2065
dev_err(&phy->dev, "invalid HDMI mode: %d\n", submode);
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
2072
static int rk_hdptx_phy_configure(struct phy *phy, union phy_configure_opts *opts)
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
2074
struct rk_hdptx_phy *hdptx = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
2075
enum phy_mode mode = phy_get_mode(phy);
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
2125
static int rk_hdptx_phy_validate(struct phy *phy, enum phy_mode mode,
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
2128
struct rk_hdptx_phy *hdptx = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
2497
hdptx->phy = devm_phy_create(dev, NULL, &rk_hdptx_phy_ops);
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
2498
if (IS_ERR(hdptx->phy))
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
2499
return dev_err_probe(dev, PTR_ERR(hdptx->phy),
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
2502
phy_set_drvdata(hdptx->phy, hdptx);
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
2503
phy_set_bus_width(hdptx->phy, 8);
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
408
struct phy *phy;
drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
107
dev_info(&phy->dev, "lane number %d, val %d\n", i, priv->lanes[i]);
drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
114
dev_info(&phy->dev, "bifurcation enabled\n");
drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
120
dev_dbg(&phy->dev, "bifurcation disabled\n");
drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
132
dev_err(&priv->phy->dev, "%s: lock failed 0x%x, check input refclk and power supply\n",
drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
196
dev_err(&priv->phy->dev, "lock failed 0x%x, check input refclk and power supply\n",
drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
205
static int rockchip_p3phy_init(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
207
struct rockchip_p3phy_priv *priv = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
212
dev_err(&priv->phy->dev, "failed to enable PCIe bulk clks %d\n", ret);
drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
228
static int rockchip_p3phy_exit(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
230
struct rockchip_p3phy_priv *priv = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
315
priv->phy = devm_phy_create(dev, NULL, &rockchip_p3phy_ops);
drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
316
if (IS_ERR(priv->phy)) {
drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
318
return PTR_ERR(priv->phy);
drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
334
phy_set_drvdata(priv->phy, priv);
drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
64
struct phy *phy;
drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
76
static int rockchip_p3phy_set_mode(struct phy *phy, enum phy_mode mode, int submode)
drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
78
struct rockchip_p3phy_priv *priv = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
89
dev_err(&phy->dev, "%s, invalid mode\n", __func__);
drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
98
struct phy *phy = priv->phy;
drivers/phy/rockchip/phy-rockchip-typec.c
1013
static int rockchip_dp_phy_power_off(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-typec.c
1015
struct rockchip_typec_phy *tcphy = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-typec.c
1164
struct phy *phy;
drivers/phy/rockchip/phy-rockchip-typec.c
1167
phy = devm_phy_create(dev, child_np,
drivers/phy/rockchip/phy-rockchip-typec.c
1170
phy = devm_phy_create(dev, child_np,
drivers/phy/rockchip/phy-rockchip-typec.c
1175
if (IS_ERR(phy)) {
drivers/phy/rockchip/phy-rockchip-typec.c
1180
return PTR_ERR(phy);
drivers/phy/rockchip/phy-rockchip-typec.c
1183
phy_set_drvdata(phy, tcphy);
drivers/phy/rockchip/phy-rockchip-typec.c
865
static int rockchip_usb3_phy_power_on(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-typec.c
867
struct rockchip_typec_phy *tcphy = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-typec.c
919
static int rockchip_usb3_phy_power_off(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-typec.c
921
struct rockchip_typec_phy *tcphy = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-typec.c
944
static int rockchip_dp_phy_power_on(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-typec.c
946
struct rockchip_typec_phy *tcphy = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-usb.c
101
rockchip_usb_phy_power(phy, 1);
drivers/phy/rockchip/phy-rockchip-usb.c
106
struct rockchip_usb_phy *phy = container_of(hw,
drivers/phy/rockchip/phy-rockchip-usb.c
111
return rockchip_usb_phy_power(phy, 0);
drivers/phy/rockchip/phy-rockchip-usb.c
116
struct rockchip_usb_phy *phy = container_of(hw,
drivers/phy/rockchip/phy-rockchip-usb.c
122
ret = regmap_read(phy->base->reg_base, phy->reg_offset, &val);
drivers/phy/rockchip/phy-rockchip-usb.c
136
static int rockchip_usb_phy_power_off(struct phy *_phy)
drivers/phy/rockchip/phy-rockchip-usb.c
138
struct rockchip_usb_phy *phy = phy_get_drvdata(_phy);
drivers/phy/rockchip/phy-rockchip-usb.c
140
if (phy->uart_enabled)
drivers/phy/rockchip/phy-rockchip-usb.c
143
clk_disable_unprepare(phy->clk480m);
drivers/phy/rockchip/phy-rockchip-usb.c
148
static int rockchip_usb_phy_power_on(struct phy *_phy)
drivers/phy/rockchip/phy-rockchip-usb.c
150
struct rockchip_usb_phy *phy = phy_get_drvdata(_phy);
drivers/phy/rockchip/phy-rockchip-usb.c
152
if (phy->uart_enabled)
drivers/phy/rockchip/phy-rockchip-usb.c
155
if (phy->vbus) {
drivers/phy/rockchip/phy-rockchip-usb.c
158
ret = regulator_enable(phy->vbus);
drivers/phy/rockchip/phy-rockchip-usb.c
163
return clk_prepare_enable(phy->clk480m);
drivers/phy/rockchip/phy-rockchip-usb.c
166
static int rockchip_usb_phy_reset(struct phy *_phy)
drivers/phy/rockchip/phy-rockchip-usb.c
168
struct rockchip_usb_phy *phy = phy_get_drvdata(_phy);
drivers/phy/rockchip/phy-rockchip-usb.c
170
if (phy->reset) {
drivers/phy/rockchip/phy-rockchip-usb.c
171
reset_control_assert(phy->reset);
drivers/phy/rockchip/phy-rockchip-usb.c
173
reset_control_deassert(phy->reset);
drivers/phy/rockchip/phy-rockchip-usb.c
281
rk_phy->phy = devm_phy_create(base->dev, child, &ops);
drivers/phy/rockchip/phy-rockchip-usb.c
282
if (IS_ERR(rk_phy->phy)) {
drivers/phy/rockchip/phy-rockchip-usb.c
284
return PTR_ERR(rk_phy->phy);
drivers/phy/rockchip/phy-rockchip-usb.c
286
phy_set_drvdata(rk_phy->phy, rk_phy);
drivers/phy/rockchip/phy-rockchip-usb.c
288
rk_phy->vbus = devm_regulator_get_optional(&rk_phy->phy->dev, "vbus");
drivers/phy/rockchip/phy-rockchip-usb.c
71
struct phy *phy;
drivers/phy/rockchip/phy-rockchip-usb.c
77
static int rockchip_usb_phy_power(struct rockchip_usb_phy *phy,
drivers/phy/rockchip/phy-rockchip-usb.c
82
return regmap_write(phy->base->reg_base, phy->reg_offset, val);
drivers/phy/rockchip/phy-rockchip-usb.c
93
struct rockchip_usb_phy *phy = container_of(hw,
drivers/phy/rockchip/phy-rockchip-usb.c
97
if (phy->vbus)
drivers/phy/rockchip/phy-rockchip-usb.c
98
regulator_disable(phy->vbus);
drivers/phy/rockchip/phy-rockchip-usbdp.c
1043
static int rk_udphy_dp_phy_init(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-usbdp.c
1045
struct rk_udphy *udphy = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-usbdp.c
1056
static int rk_udphy_dp_phy_exit(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-usbdp.c
1058
struct rk_udphy *udphy = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-usbdp.c
1066
static int rk_udphy_dp_phy_power_on(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-usbdp.c
1068
struct rk_udphy *udphy = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-usbdp.c
1074
phy_set_bus_width(phy, dp_lanes);
drivers/phy/rockchip/phy-rockchip-usbdp.c
1095
static int rk_udphy_dp_phy_power_off(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-usbdp.c
1097
struct rk_udphy *udphy = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-usbdp.c
1196
static int rk_udphy_dp_phy_configure(struct phy *phy,
drivers/phy/rockchip/phy-rockchip-usbdp.c
1199
struct rk_udphy *udphy = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-usbdp.c
1303
static int rk_udphy_usb3_phy_init(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-usbdp.c
1305
struct rk_udphy *udphy = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-usbdp.c
1322
static int rk_udphy_usb3_phy_exit(struct phy *phy)
drivers/phy/rockchip/phy-rockchip-usbdp.c
1324
struct rk_udphy *udphy = phy_get_drvdata(phy);
drivers/phy/rockchip/phy-rockchip-usbdp.c
1436
static struct phy *rk_udphy_phy_xlate(struct device *dev, const struct of_phandle_args *args)
drivers/phy/rockchip/phy-rockchip-usbdp.c
201
struct phy *phy_dp;
drivers/phy/rockchip/phy-rockchip-usbdp.c
202
struct phy *phy_u3;
drivers/phy/samsung/phy-exynos-dp-video.c
101
phy_set_drvdata(phy, state);
drivers/phy/samsung/phy-exynos-dp-video.c
29
static int exynos_dp_video_phy_power_on(struct phy *phy)
drivers/phy/samsung/phy-exynos-dp-video.c
31
struct exynos_dp_video_phy *state = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos-dp-video.c
38
static int exynos_dp_video_phy_power_off(struct phy *phy)
drivers/phy/samsung/phy-exynos-dp-video.c
40
struct exynos_dp_video_phy *state = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos-dp-video.c
78
struct phy *phy;
drivers/phy/samsung/phy-exynos-dp-video.c
96
phy = devm_phy_create(dev, NULL, &exynos_dp_video_phy_ops);
drivers/phy/samsung/phy-exynos-dp-video.c
97
if (IS_ERR(phy)) {
drivers/phy/samsung/phy-exynos-dp-video.c
99
return PTR_ERR(phy);
drivers/phy/samsung/phy-exynos-mipi-video.c
269
struct phy *phy;
drivers/phy/samsung/phy-exynos-mipi-video.c
286
state->phys[data->coupled_phy_id].phy->power_count == 0)
drivers/phy/samsung/phy-exynos-mipi-video.c
309
static int exynos_mipi_video_phy_power_on(struct phy *phy)
drivers/phy/samsung/phy-exynos-mipi-video.c
311
struct video_phy_desc *phy_desc = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos-mipi-video.c
317
static int exynos_mipi_video_phy_power_off(struct phy *phy)
drivers/phy/samsung/phy-exynos-mipi-video.c
319
struct video_phy_desc *phy_desc = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos-mipi-video.c
325
static struct phy *exynos_mipi_video_phy_xlate(struct device *dev,
drivers/phy/samsung/phy-exynos-mipi-video.c
333
return state->phys[args->args[0]].phy;
drivers/phy/samsung/phy-exynos-mipi-video.c
374
struct phy *phy = devm_phy_create(dev, NULL,
drivers/phy/samsung/phy-exynos-mipi-video.c
376
if (IS_ERR(phy)) {
drivers/phy/samsung/phy-exynos-mipi-video.c
378
return PTR_ERR(phy);
drivers/phy/samsung/phy-exynos-mipi-video.c
381
state->phys[i].phy = phy;
drivers/phy/samsung/phy-exynos-mipi-video.c
384
phy_set_drvdata(phy, &state->phys[i]);
drivers/phy/samsung/phy-exynos-pcie.c
119
static int exynos5433_pcie_phy_exit(struct phy *phy)
drivers/phy/samsung/phy-exynos-pcie.c
121
struct exynos_pcie_phy *ep = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos-pcie.c
147
struct phy *generic_phy;
drivers/phy/samsung/phy-exynos-pcie.c
50
static int exynos5433_pcie_phy_init(struct phy *phy)
drivers/phy/samsung/phy-exynos-pcie.c
52
struct exynos_pcie_phy *ep = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos5-usbdrd.c
1015
static int exynos5_usbdrd_phy_power_off(struct phy *phy)
drivers/phy/samsung/phy-exynos5-usbdrd.c
1017
struct phy_usb_instance *inst = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos5-usbdrd.c
1162
static struct phy *exynos5_usbdrd_phy_xlate(struct device *dev,
drivers/phy/samsung/phy-exynos5-usbdrd.c
1170
return phy_drd->phys[args->args[0]].phy;
drivers/phy/samsung/phy-exynos5-usbdrd.c
1173
static int exynos5_usbdrd_phy_calibrate(struct phy *phy)
drivers/phy/samsung/phy-exynos5-usbdrd.c
1175
struct phy_usb_instance *inst = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos5-usbdrd.c
1296
static int exynos7870_usbdrd_phy_init(struct phy *phy)
drivers/phy/samsung/phy-exynos5-usbdrd.c
1298
struct phy_usb_instance *inst = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos5-usbdrd.c
1314
static int exynos7870_usbdrd_phy_exit(struct phy *phy)
drivers/phy/samsung/phy-exynos5-usbdrd.c
1318
struct phy_usb_instance *inst = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos5-usbdrd.c
1428
static int exynos2200_usbdrd_phy_init(struct phy *phy)
drivers/phy/samsung/phy-exynos5-usbdrd.c
1430
struct phy_usb_instance *inst = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos5-usbdrd.c
1468
static int exynos2200_usbdrd_phy_exit(struct phy *phy)
drivers/phy/samsung/phy-exynos5-usbdrd.c
1470
struct phy_usb_instance *inst = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos5-usbdrd.c
1627
static int exynos850_usbdrd_phy_init(struct phy *phy)
drivers/phy/samsung/phy-exynos5-usbdrd.c
1629
struct phy_usb_instance *inst = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos5-usbdrd.c
1646
static int exynos850_usbdrd_phy_exit(struct phy *phy)
drivers/phy/samsung/phy-exynos5-usbdrd.c
1648
struct phy_usb_instance *inst = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos5-usbdrd.c
1722
static int exynos5_usbdrd_gs101_phy_init(struct phy *phy)
drivers/phy/samsung/phy-exynos5-usbdrd.c
1724
struct phy_usb_instance *inst = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos5-usbdrd.c
1744
return exynos850_usbdrd_phy_init(phy);
drivers/phy/samsung/phy-exynos5-usbdrd.c
1747
static int exynos5_usbdrd_gs101_phy_exit(struct phy *phy)
drivers/phy/samsung/phy-exynos5-usbdrd.c
1749
struct phy_usb_instance *inst = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos5-usbdrd.c
1754
ret = exynos850_usbdrd_phy_exit(phy);
drivers/phy/samsung/phy-exynos5-usbdrd.c
2492
static int exynosautov920_usbdrd_phy_init(struct phy *phy)
drivers/phy/samsung/phy-exynos5-usbdrd.c
2494
struct phy_usb_instance *inst = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos5-usbdrd.c
2513
static int exynosautov920_usbdrd_phy_exit(struct phy *phy)
drivers/phy/samsung/phy-exynos5-usbdrd.c
2515
struct phy_usb_instance *inst = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos5-usbdrd.c
2523
exynos850_usbdrd_phy_exit(phy);
drivers/phy/samsung/phy-exynos5-usbdrd.c
2533
static int exynosautov920_usbdrd_combo_phy_exit(struct phy *phy)
drivers/phy/samsung/phy-exynos5-usbdrd.c
2535
struct phy_usb_instance *inst = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos5-usbdrd.c
2556
static int exynosautov920_usbdrd_phy_power_on(struct phy *phy)
drivers/phy/samsung/phy-exynos5-usbdrd.c
2558
struct phy_usb_instance *inst = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos5-usbdrd.c
2586
static int exynosautov920_usbdrd_phy_power_off(struct phy *phy)
drivers/phy/samsung/phy-exynos5-usbdrd.c
2588
struct phy_usb_instance *inst = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos5-usbdrd.c
3023
struct phy *phy = devm_phy_create(dev, NULL, drv_data->phy_ops);
drivers/phy/samsung/phy-exynos5-usbdrd.c
3025
if (IS_ERR(phy))
drivers/phy/samsung/phy-exynos5-usbdrd.c
3026
return dev_err_probe(dev, PTR_ERR(phy),
drivers/phy/samsung/phy-exynos5-usbdrd.c
3029
phy_drd->phys[i].phy = phy;
drivers/phy/samsung/phy-exynos5-usbdrd.c
3046
phy_set_drvdata(phy, &phy_drd->phys[i]);
drivers/phy/samsung/phy-exynos5-usbdrd.c
520
struct phy *hs_phy;
drivers/phy/samsung/phy-exynos5-usbdrd.c
523
struct phy *phy;
drivers/phy/samsung/phy-exynos5-usbdrd.c
886
static int exynos5_usbdrd_phy_init(struct phy *phy)
drivers/phy/samsung/phy-exynos5-usbdrd.c
890
struct phy_usb_instance *inst = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos5-usbdrd.c
948
static int exynos5_usbdrd_phy_exit(struct phy *phy)
drivers/phy/samsung/phy-exynos5-usbdrd.c
952
struct phy_usb_instance *inst = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos5-usbdrd.c
982
static int exynos5_usbdrd_phy_power_on(struct phy *phy)
drivers/phy/samsung/phy-exynos5-usbdrd.c
985
struct phy_usb_instance *inst = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos5250-sata.c
149
dev_err(&sata_phy->phy->dev,
drivers/phy/samsung/phy-exynos5250-sata.c
209
sata_phy->phy = devm_phy_create(dev, NULL, &exynos_sata_phy_ops);
drivers/phy/samsung/phy-exynos5250-sata.c
210
if (IS_ERR(sata_phy->phy)) {
drivers/phy/samsung/phy-exynos5250-sata.c
212
ret = PTR_ERR(sata_phy->phy);
drivers/phy/samsung/phy-exynos5250-sata.c
216
phy_set_drvdata(sata_phy->phy, sata_phy);
drivers/phy/samsung/phy-exynos5250-sata.c
49
struct phy *phy;
drivers/phy/samsung/phy-exynos5250-sata.c
69
static int exynos_sata_phy_power_on(struct phy *phy)
drivers/phy/samsung/phy-exynos5250-sata.c
71
struct exynos_sata_phy *sata_phy = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos5250-sata.c
78
static int exynos_sata_phy_power_off(struct phy *phy)
drivers/phy/samsung/phy-exynos5250-sata.c
80
struct exynos_sata_phy *sata_phy = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos5250-sata.c
87
static int exynos_sata_phy_init(struct phy *phy)
drivers/phy/samsung/phy-exynos5250-sata.c
92
struct exynos_sata_phy *sata_phy = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos5250-sata.c
97
dev_err(&sata_phy->phy->dev, "phy init failed\n");
drivers/phy/samsung/phy-exynosautov920-ufs.c
112
int exynosautov920_ufs_phy_wait_cdr_lock(struct phy *phy, u8 lane)
drivers/phy/samsung/phy-exynosautov920-ufs.c
114
struct samsung_ufs_phy *ufs_phy = get_samsung_ufs_phy(phy);
drivers/phy/samsung/phy-gs101-ufs.c
148
static int gs101_phy_wait_for_calibration(struct phy *phy, u8 lane)
drivers/phy/samsung/phy-gs101-ufs.c
150
struct samsung_ufs_phy *ufs_phy = get_samsung_ufs_phy(phy);
drivers/phy/samsung/phy-gs101-ufs.c
173
static int gs101_phy_wait_for_cdr_lock(struct phy *phy, u8 lane)
drivers/phy/samsung/phy-gs101-ufs.c
175
struct samsung_ufs_phy *ufs_phy = get_samsung_ufs_phy(phy);
drivers/phy/samsung/phy-samsung-ufs.c
103
err = ufs_phy->drvdata->wait_for_cal(phy, i);
drivers/phy/samsung/phy-samsung-ufs.c
110
err = ufs_phy->drvdata->wait_for_cdr(phy, i);
drivers/phy/samsung/phy-samsung-ufs.c
147
static int samsung_ufs_phy_clks_init(struct samsung_ufs_phy *phy)
drivers/phy/samsung/phy-samsung-ufs.c
150
const struct samsung_ufs_phy_drvdata *drvdata = phy->drvdata;
drivers/phy/samsung/phy-samsung-ufs.c
153
phy->clks = devm_kcalloc(phy->dev, num_clks, sizeof(*phy->clks),
drivers/phy/samsung/phy-samsung-ufs.c
155
if (!phy->clks)
drivers/phy/samsung/phy-samsung-ufs.c
159
phy->clks[i].id = drvdata->clk_list[i];
drivers/phy/samsung/phy-samsung-ufs.c
161
return devm_clk_bulk_get(phy->dev, num_clks, phy->clks);
drivers/phy/samsung/phy-samsung-ufs.c
164
static int samsung_ufs_phy_init(struct phy *phy)
drivers/phy/samsung/phy-samsung-ufs.c
166
struct samsung_ufs_phy *ss_phy = get_samsung_ufs_phy(phy);
drivers/phy/samsung/phy-samsung-ufs.c
168
ss_phy->lane_cnt = phy->attrs.bus_width;
drivers/phy/samsung/phy-samsung-ufs.c
174
static int samsung_ufs_phy_power_on(struct phy *phy)
drivers/phy/samsung/phy-samsung-ufs.c
176
struct samsung_ufs_phy *ss_phy = get_samsung_ufs_phy(phy);
drivers/phy/samsung/phy-samsung-ufs.c
188
ret = samsung_ufs_phy_calibrate(phy);
drivers/phy/samsung/phy-samsung-ufs.c
196
static int samsung_ufs_phy_power_off(struct phy *phy)
drivers/phy/samsung/phy-samsung-ufs.c
198
struct samsung_ufs_phy *ss_phy = get_samsung_ufs_phy(phy);
drivers/phy/samsung/phy-samsung-ufs.c
207
static int samsung_ufs_phy_set_mode(struct phy *generic_phy,
drivers/phy/samsung/phy-samsung-ufs.c
220
static int samsung_ufs_phy_notify_state(struct phy *phy,
drivers/phy/samsung/phy-samsung-ufs.c
223
struct samsung_ufs_phy *ufs_phy = get_samsung_ufs_phy(phy);
drivers/phy/samsung/phy-samsung-ufs.c
24
#define for_each_phy_lane(phy, i) \
drivers/phy/samsung/phy-samsung-ufs.c
246
err = ufs_phy->drvdata->wait_for_cdr(phy, i);
drivers/phy/samsung/phy-samsung-ufs.c
25
for (i = 0; i < (phy)->lane_cnt; i++)
drivers/phy/samsung/phy-samsung-ufs.c
258
static int samsung_ufs_phy_exit(struct phy *phy)
drivers/phy/samsung/phy-samsung-ufs.c
260
struct samsung_ufs_phy *ss_phy = get_samsung_ufs_phy(phy);
drivers/phy/samsung/phy-samsung-ufs.c
284
struct samsung_ufs_phy *phy;
drivers/phy/samsung/phy-samsung-ufs.c
285
struct phy *gen_phy;
drivers/phy/samsung/phy-samsung-ufs.c
298
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
drivers/phy/samsung/phy-samsung-ufs.c
299
if (!phy) {
drivers/phy/samsung/phy-samsung-ufs.c
304
phy->reg_pma = devm_platform_ioremap_resource_byname(pdev, "phy-pma");
drivers/phy/samsung/phy-samsung-ufs.c
305
if (IS_ERR(phy->reg_pma)) {
drivers/phy/samsung/phy-samsung-ufs.c
306
err = PTR_ERR(phy->reg_pma);
drivers/phy/samsung/phy-samsung-ufs.c
31
void samsung_ufs_phy_config(struct samsung_ufs_phy *phy,
drivers/phy/samsung/phy-samsung-ufs.c
310
phy->reg_pmu = syscon_regmap_lookup_by_phandle(dev->of_node,
drivers/phy/samsung/phy-samsung-ufs.c
312
if (IS_ERR(phy->reg_pmu)) {
drivers/phy/samsung/phy-samsung-ufs.c
313
err = PTR_ERR(phy->reg_pmu);
drivers/phy/samsung/phy-samsung-ufs.c
326
phy->dev = dev;
drivers/phy/samsung/phy-samsung-ufs.c
327
phy->drvdata = drvdata;
drivers/phy/samsung/phy-samsung-ufs.c
328
phy->cfgs = drvdata->cfgs;
drivers/phy/samsung/phy-samsung-ufs.c
329
phy->cfgs_hibern8 = drvdata->cfgs_hibern8;
drivers/phy/samsung/phy-samsung-ufs.c
330
memcpy(&phy->isol, &drvdata->isol, sizeof(phy->isol));
drivers/phy/samsung/phy-samsung-ufs.c
334
phy->isol.offset = isol_offset;
drivers/phy/samsung/phy-samsung-ufs.c
336
phy->lane_cnt = PHY_DEF_LANE_CNT;
drivers/phy/samsung/phy-samsung-ufs.c
338
err = samsung_ufs_phy_clks_init(phy);
drivers/phy/samsung/phy-samsung-ufs.c
344
phy_set_drvdata(gen_phy, phy);
drivers/phy/samsung/phy-samsung-ufs.c
39
writel(cfg->val, (phy)->reg_pma + cfg->off_0);
drivers/phy/samsung/phy-samsung-ufs.c
43
writel(cfg->val, (phy)->reg_pma + cfg->off_1);
drivers/phy/samsung/phy-samsung-ufs.c
48
int samsung_ufs_phy_wait_for_lock_acq(struct phy *phy, u8 lane)
drivers/phy/samsung/phy-samsung-ufs.c
50
struct samsung_ufs_phy *ufs_phy = get_samsung_ufs_phy(phy);
drivers/phy/samsung/phy-samsung-ufs.c
76
static int samsung_ufs_phy_calibrate(struct phy *phy)
drivers/phy/samsung/phy-samsung-ufs.c
78
struct samsung_ufs_phy *ufs_phy = get_samsung_ufs_phy(phy);
drivers/phy/samsung/phy-samsung-ufs.h
122
int (*wait_for_cal)(struct phy *phy, u8 lane);
drivers/phy/samsung/phy-samsung-ufs.h
123
int (*wait_for_cdr)(struct phy *phy, u8 lane);
drivers/phy/samsung/phy-samsung-ufs.h
140
static inline struct samsung_ufs_phy *get_samsung_ufs_phy(struct phy *phy)
drivers/phy/samsung/phy-samsung-ufs.h
142
return (struct samsung_ufs_phy *)phy_get_drvdata(phy);
drivers/phy/samsung/phy-samsung-ufs.h
146
struct samsung_ufs_phy *phy, u32 isol)
drivers/phy/samsung/phy-samsung-ufs.h
148
regmap_update_bits(phy->reg_pmu, phy->isol.offset,
drivers/phy/samsung/phy-samsung-ufs.h
149
phy->isol.mask, isol ? 0 : phy->isol.en);
drivers/phy/samsung/phy-samsung-ufs.h
152
int samsung_ufs_phy_wait_for_lock_acq(struct phy *phy, u8 lane);
drivers/phy/samsung/phy-samsung-ufs.h
153
int exynosautov920_ufs_phy_wait_cdr_lock(struct phy *phy, u8 lane);
drivers/phy/samsung/phy-samsung-ufs.h
154
void samsung_ufs_phy_config(struct samsung_ufs_phy *phy,
drivers/phy/samsung/phy-samsung-usb2.c
101
return drv->instances[args->args[0]].phy;
drivers/phy/samsung/phy-samsung-usb2.c
18
static int samsung_usb2_phy_power_on(struct phy *phy)
drivers/phy/samsung/phy-samsung-usb2.c
20
struct samsung_usb2_phy_instance *inst = phy_get_drvdata(phy);
drivers/phy/samsung/phy-samsung-usb2.c
225
p->phy = devm_phy_create(dev, NULL, &samsung_usb2_phy_ops);
drivers/phy/samsung/phy-samsung-usb2.c
226
if (IS_ERR(p->phy)) {
drivers/phy/samsung/phy-samsung-usb2.c
229
return PTR_ERR(p->phy);
drivers/phy/samsung/phy-samsung-usb2.c
234
phy_set_bus_width(p->phy, 8);
drivers/phy/samsung/phy-samsung-usb2.c
235
phy_set_drvdata(p->phy, p);
drivers/phy/samsung/phy-samsung-usb2.c
60
static int samsung_usb2_phy_power_off(struct phy *phy)
drivers/phy/samsung/phy-samsung-usb2.c
62
struct samsung_usb2_phy_instance *inst = phy_get_drvdata(phy);
drivers/phy/samsung/phy-samsung-usb2.c
89
static struct phy *samsung_usb2_phy_xlate(struct device *dev,
drivers/phy/samsung/phy-samsung-usb2.h
28
struct phy *phy;
drivers/phy/socionext/phy-uniphier-ahci.c
283
static int uniphier_ahciphy_init(struct phy *phy)
drivers/phy/socionext/phy-uniphier-ahci.c
285
struct uniphier_ahciphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/socionext/phy-uniphier-ahci.c
324
static int uniphier_ahciphy_exit(struct phy *phy)
drivers/phy/socionext/phy-uniphier-ahci.c
326
struct uniphier_ahciphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/socionext/phy-uniphier-ahci.c
336
static int uniphier_ahciphy_power_on(struct phy *phy)
drivers/phy/socionext/phy-uniphier-ahci.c
338
struct uniphier_ahciphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/socionext/phy-uniphier-ahci.c
365
static int uniphier_ahciphy_power_off(struct phy *phy)
drivers/phy/socionext/phy-uniphier-ahci.c
367
struct uniphier_ahciphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/socionext/phy-uniphier-ahci.c
391
struct phy *phy;
drivers/phy/socionext/phy-uniphier-ahci.c
447
phy = devm_phy_create(dev, dev->of_node, &uniphier_ahciphy_ops);
drivers/phy/socionext/phy-uniphier-ahci.c
448
if (IS_ERR(phy)) {
drivers/phy/socionext/phy-uniphier-ahci.c
450
return PTR_ERR(phy);
drivers/phy/socionext/phy-uniphier-ahci.c
453
phy_set_drvdata(phy, priv);
drivers/phy/socionext/phy-uniphier-pcie.c
141
static int uniphier_pciephy_init(struct phy *phy)
drivers/phy/socionext/phy-uniphier-pcie.c
143
struct uniphier_pciephy_priv *priv = phy_get_drvdata(phy);
drivers/phy/socionext/phy-uniphier-pcie.c
200
static int uniphier_pciephy_exit(struct phy *phy)
drivers/phy/socionext/phy-uniphier-pcie.c
202
struct uniphier_pciephy_priv *priv = phy_get_drvdata(phy);
drivers/phy/socionext/phy-uniphier-pcie.c
226
struct phy *phy;
drivers/phy/socionext/phy-uniphier-pcie.c
269
phy = devm_phy_create(dev, dev->of_node, &uniphier_pciephy_ops);
drivers/phy/socionext/phy-uniphier-pcie.c
270
if (IS_ERR(phy))
drivers/phy/socionext/phy-uniphier-pcie.c
271
return PTR_ERR(phy);
drivers/phy/socionext/phy-uniphier-pcie.c
278
phy_set_drvdata(phy, priv);
drivers/phy/socionext/phy-uniphier-usb2.c
147
priv->phy = devm_phy_create(dev, child, &uniphier_u2phy_ops);
drivers/phy/socionext/phy-uniphier-usb2.c
148
if (IS_ERR(priv->phy)) {
drivers/phy/socionext/phy-uniphier-usb2.c
150
return PTR_ERR(priv->phy);
drivers/phy/socionext/phy-uniphier-usb2.c
165
phy_set_drvdata(priv->phy, priv);
drivers/phy/socionext/phy-uniphier-usb2.c
41
struct phy *phy;
drivers/phy/socionext/phy-uniphier-usb2.c
47
static int uniphier_u2phy_power_on(struct phy *phy)
drivers/phy/socionext/phy-uniphier-usb2.c
49
struct uniphier_u2phy_priv *priv = phy_get_drvdata(phy);
drivers/phy/socionext/phy-uniphier-usb2.c
58
static int uniphier_u2phy_power_off(struct phy *phy)
drivers/phy/socionext/phy-uniphier-usb2.c
60
struct uniphier_u2phy_priv *priv = phy_get_drvdata(phy);
drivers/phy/socionext/phy-uniphier-usb2.c
68
static int uniphier_u2phy_init(struct phy *phy)
drivers/phy/socionext/phy-uniphier-usb2.c
70
struct uniphier_u2phy_priv *priv = phy_get_drvdata(phy);
drivers/phy/socionext/phy-uniphier-usb2.c
83
static struct phy *uniphier_u2phy_xlate(struct device *dev,
drivers/phy/socionext/phy-uniphier-usb2.c
88
while (priv && args->np != priv->phy->dev.of_node)
drivers/phy/socionext/phy-uniphier-usb2.c
96
return priv->phy;
drivers/phy/socionext/phy-uniphier-usb3hs.c
203
static int uniphier_u3hsphy_power_on(struct phy *phy)
drivers/phy/socionext/phy-uniphier-usb3hs.c
205
struct uniphier_u3hsphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/socionext/phy-uniphier-usb3hs.c
238
static int uniphier_u3hsphy_power_off(struct phy *phy)
drivers/phy/socionext/phy-uniphier-usb3hs.c
240
struct uniphier_u3hsphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/socionext/phy-uniphier-usb3hs.c
252
static int uniphier_u3hsphy_init(struct phy *phy)
drivers/phy/socionext/phy-uniphier-usb3hs.c
254
struct uniphier_u3hsphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/socionext/phy-uniphier-usb3hs.c
303
static int uniphier_u3hsphy_exit(struct phy *phy)
drivers/phy/socionext/phy-uniphier-usb3hs.c
305
struct uniphier_u3hsphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/socionext/phy-uniphier-usb3hs.c
328
struct phy *phy;
drivers/phy/socionext/phy-uniphier-usb3hs.c
383
phy = devm_phy_create(dev, dev->of_node, &uniphier_u3hsphy_ops);
drivers/phy/socionext/phy-uniphier-usb3hs.c
384
if (IS_ERR(phy))
drivers/phy/socionext/phy-uniphier-usb3hs.c
385
return PTR_ERR(phy);
drivers/phy/socionext/phy-uniphier-usb3hs.c
387
phy_set_drvdata(phy, priv);
drivers/phy/socionext/phy-uniphier-usb3ss.c
107
static int uniphier_u3ssphy_power_on(struct phy *phy)
drivers/phy/socionext/phy-uniphier-usb3ss.c
109
struct uniphier_u3ssphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/socionext/phy-uniphier-usb3ss.c
142
static int uniphier_u3ssphy_power_off(struct phy *phy)
drivers/phy/socionext/phy-uniphier-usb3ss.c
144
struct uniphier_u3ssphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/socionext/phy-uniphier-usb3ss.c
156
static int uniphier_u3ssphy_init(struct phy *phy)
drivers/phy/socionext/phy-uniphier-usb3ss.c
158
struct uniphier_u3ssphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/socionext/phy-uniphier-usb3ss.c
195
static int uniphier_u3ssphy_exit(struct phy *phy)
drivers/phy/socionext/phy-uniphier-usb3ss.c
197
struct uniphier_u3ssphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/socionext/phy-uniphier-usb3ss.c
220
struct phy *phy;
drivers/phy/socionext/phy-uniphier-usb3ss.c
274
phy = devm_phy_create(dev, dev->of_node, &uniphier_u3ssphy_ops);
drivers/phy/socionext/phy-uniphier-usb3ss.c
275
if (IS_ERR(phy))
drivers/phy/socionext/phy-uniphier-usb3ss.c
276
return PTR_ERR(phy);
drivers/phy/socionext/phy-uniphier-usb3ss.c
278
phy_set_drvdata(phy, priv);
drivers/phy/sophgo/phy-cv1800-usb2.c
103
struct cv1800_usb_phy *phy;
drivers/phy/sophgo/phy-cv1800-usb2.c
110
phy = devm_kmalloc(dev, sizeof(*phy), GFP_KERNEL);
drivers/phy/sophgo/phy-cv1800-usb2.c
111
if (!phy)
drivers/phy/sophgo/phy-cv1800-usb2.c
114
phy->syscon = syscon_node_to_regmap(parent->of_node);
drivers/phy/sophgo/phy-cv1800-usb2.c
115
if (IS_ERR_OR_NULL(phy->syscon))
drivers/phy/sophgo/phy-cv1800-usb2.c
118
phy->support_otg = false;
drivers/phy/sophgo/phy-cv1800-usb2.c
120
spin_lock_init(&phy->lock);
drivers/phy/sophgo/phy-cv1800-usb2.c
122
phy->usb_app_clk = devm_clk_get_enabled(dev, "app");
drivers/phy/sophgo/phy-cv1800-usb2.c
123
if (IS_ERR(phy->usb_app_clk))
drivers/phy/sophgo/phy-cv1800-usb2.c
124
return dev_err_probe(dev, PTR_ERR(phy->usb_app_clk),
drivers/phy/sophgo/phy-cv1800-usb2.c
127
phy->usb_lpm_clk = devm_clk_get_enabled(dev, "lpm");
drivers/phy/sophgo/phy-cv1800-usb2.c
128
if (IS_ERR(phy->usb_lpm_clk))
drivers/phy/sophgo/phy-cv1800-usb2.c
129
return dev_err_probe(dev, PTR_ERR(phy->usb_lpm_clk),
drivers/phy/sophgo/phy-cv1800-usb2.c
132
phy->usb_stb_clk = devm_clk_get_enabled(dev, "stb");
drivers/phy/sophgo/phy-cv1800-usb2.c
133
if (IS_ERR(phy->usb_stb_clk))
drivers/phy/sophgo/phy-cv1800-usb2.c
134
return dev_err_probe(dev, PTR_ERR(phy->usb_stb_clk),
drivers/phy/sophgo/phy-cv1800-usb2.c
137
phy->phy = devm_phy_create(dev, NULL, &cv1800_usb_phy_ops);
drivers/phy/sophgo/phy-cv1800-usb2.c
138
if (IS_ERR(phy->phy))
drivers/phy/sophgo/phy-cv1800-usb2.c
139
return dev_err_probe(dev, PTR_ERR(phy->phy),
drivers/phy/sophgo/phy-cv1800-usb2.c
142
ret = cv1800_usb_phy_set_clock(phy);
drivers/phy/sophgo/phy-cv1800-usb2.c
146
phy_set_drvdata(phy->phy, phy);
drivers/phy/sophgo/phy-cv1800-usb2.c
33
struct phy *phy;
drivers/phy/sophgo/phy-cv1800-usb2.c
42
static int cv1800_usb_phy_set_mode(struct phy *_phy,
drivers/phy/sophgo/phy-cv1800-usb2.c
45
struct cv1800_usb_phy *phy = phy_get_drvdata(_phy);
drivers/phy/sophgo/phy-cv1800-usb2.c
49
dev_info(&phy->phy->dev, "set mode %d", (int)mode);
drivers/phy/sophgo/phy-cv1800-usb2.c
54
regmap_clear_bits(phy->syscon, REG_USB_PHY_CTRL, PHY_VBUS_POWER);
drivers/phy/sophgo/phy-cv1800-usb2.c
58
regmap_set_bits(phy->syscon, REG_USB_PHY_CTRL, PHY_VBUS_POWER);
drivers/phy/sophgo/phy-cv1800-usb2.c
61
if (!phy->support_otg)
drivers/phy/sophgo/phy-cv1800-usb2.c
64
ret = regmap_read(phy->syscon, REG_USB_PHY_CTRL, &regval);
drivers/phy/sophgo/phy-cv1800-usb2.c
74
return regmap_update_bits(phy->syscon, REG_USB_PHY_CTRL,
drivers/phy/sophgo/phy-cv1800-usb2.c
79
static int cv1800_usb_phy_set_clock(struct cv1800_usb_phy *phy)
drivers/phy/sophgo/phy-cv1800-usb2.c
83
ret = clk_set_rate(phy->usb_app_clk, PHY_APP_CLK_RATE);
drivers/phy/sophgo/phy-cv1800-usb2.c
87
ret = clk_set_rate(phy->usb_lpm_clk, PHY_LPM_CLK_RATE);
drivers/phy/sophgo/phy-cv1800-usb2.c
91
return clk_set_rate(phy->usb_stb_clk, PHY_STB_CLK_RATE);
drivers/phy/spacemit/phy-k1-usb2.c
120
dev_err(&phy->dev, "wait PLLREADY timeout\n");
drivers/phy/spacemit/phy-k1-usb2.c
139
static int spacemit_usb2phy_exit(struct phy *phy)
drivers/phy/spacemit/phy-k1-usb2.c
141
struct spacemit_usb2phy *sphy = phy_get_drvdata(phy);
drivers/phy/spacemit/phy-k1-usb2.c
148
static int spacemit_usb2phy_disconnect(struct phy *phy, int port)
drivers/phy/spacemit/phy-k1-usb2.c
150
struct spacemit_usb2phy *sphy = phy_get_drvdata(phy);
drivers/phy/spacemit/phy-k1-usb2.c
188
sphy->phy = devm_phy_create(dev, NULL, &spacemit_usb2phy_ops);
drivers/phy/spacemit/phy-k1-usb2.c
189
if (IS_ERR(sphy->phy))
drivers/phy/spacemit/phy-k1-usb2.c
190
return dev_err_probe(dev, PTR_ERR(sphy->phy), "Failed to create phy\n");
drivers/phy/spacemit/phy-k1-usb2.c
192
phy_set_drvdata(sphy->phy, sphy);
drivers/phy/spacemit/phy-k1-usb2.c
78
struct phy *phy;
drivers/phy/spacemit/phy-k1-usb2.c
90
static int spacemit_usb2phy_init(struct phy *phy)
drivers/phy/spacemit/phy-k1-usb2.c
92
struct spacemit_usb2phy *sphy = phy_get_drvdata(phy);
drivers/phy/spacemit/phy-k1-usb2.c
99
dev_err(&phy->dev, "failed to enable clock\n");
drivers/phy/st/phy-miphy28lp.c
1013
static int miphy28lp_init(struct phy *phy)
drivers/phy/st/phy-miphy28lp.c
1015
struct miphy28lp_phy *miphy_phy = phy_get_drvdata(phy);
drivers/phy/st/phy-miphy28lp.c
1045
struct device_node *phynode = miphy_phy->phy->dev.of_node;
drivers/phy/st/phy-miphy28lp.c
1071
static struct phy *miphy28lp_xlate(struct device *dev,
drivers/phy/st/phy-miphy28lp.c
1085
if (phynode == miphy_dev->phys[index]->phy->dev.of_node) {
drivers/phy/st/phy-miphy28lp.c
1101
return miphy_phy->phy;
drivers/phy/st/phy-miphy28lp.c
1169
struct phy *phy;
drivers/phy/st/phy-miphy28lp.c
1206
phy = devm_phy_create(&pdev->dev, child, &miphy28lp_ops);
drivers/phy/st/phy-miphy28lp.c
1207
if (IS_ERR(phy)) {
drivers/phy/st/phy-miphy28lp.c
1209
ret = PTR_ERR(phy);
drivers/phy/st/phy-miphy28lp.c
1213
miphy_dev->phys[port]->phy = phy;
drivers/phy/st/phy-miphy28lp.c
1224
phy_set_drvdata(phy, miphy_dev->phys[port]);
drivers/phy/st/phy-miphy28lp.c
203
struct phy *phy;
drivers/phy/st/phy-spear1310-miphy.c
109
struct phy *phy;
drivers/phy/st/phy-spear1310-miphy.c
151
static int spear1310_miphy_init(struct phy *phy)
drivers/phy/st/phy-spear1310-miphy.c
153
struct spear1310_miphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/st/phy-spear1310-miphy.c
162
static int spear1310_miphy_exit(struct phy *phy)
drivers/phy/st/phy-spear1310-miphy.c
164
struct spear1310_miphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/st/phy-spear1310-miphy.c
185
static struct phy *spear1310_miphy_xlate(struct device *dev,
drivers/phy/st/phy-spear1310-miphy.c
202
return priv->phy;
drivers/phy/st/phy-spear1310-miphy.c
227
priv->phy = devm_phy_create(dev, NULL, &spear1310_miphy_ops);
drivers/phy/st/phy-spear1310-miphy.c
228
if (IS_ERR(priv->phy)) {
drivers/phy/st/phy-spear1310-miphy.c
230
return PTR_ERR(priv->phy);
drivers/phy/st/phy-spear1310-miphy.c
234
phy_set_drvdata(priv->phy, priv);
drivers/phy/st/phy-spear1340-miphy.c
157
static int spear1340_miphy_init(struct phy *phy)
drivers/phy/st/phy-spear1340-miphy.c
159
struct spear1340_miphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/st/phy-spear1340-miphy.c
170
static int spear1340_miphy_exit(struct phy *phy)
drivers/phy/st/phy-spear1340-miphy.c
172
struct spear1340_miphy_priv *priv = phy_get_drvdata(phy);
drivers/phy/st/phy-spear1340-miphy.c
222
static struct phy *spear1340_miphy_xlate(struct device *dev,
drivers/phy/st/phy-spear1340-miphy.c
239
return priv->phy;
drivers/phy/st/phy-spear1340-miphy.c
259
priv->phy = devm_phy_create(dev, NULL, &spear1340_miphy_ops);
drivers/phy/st/phy-spear1340-miphy.c
260
if (IS_ERR(priv->phy)) {
drivers/phy/st/phy-spear1340-miphy.c
262
return PTR_ERR(priv->phy);
drivers/phy/st/phy-spear1340-miphy.c
266
phy_set_drvdata(priv->phy, priv);
drivers/phy/st/phy-spear1340-miphy.c
86
struct phy *phy;
drivers/phy/st/phy-stih407-usb.c
129
phy = devm_phy_create(dev, NULL, &stih407_usb2_picophy_data);
drivers/phy/st/phy-stih407-usb.c
130
if (IS_ERR(phy)) {
drivers/phy/st/phy-stih407-usb.c
132
return PTR_ERR(phy);
drivers/phy/st/phy-stih407-usb.c
135
phy_dev->phy = phy;
drivers/phy/st/phy-stih407-usb.c
136
phy_set_drvdata(phy, phy_dev);
drivers/phy/st/phy-stih407-usb.c
33
struct phy *phy;
drivers/phy/st/phy-stih407-usb.c
51
static int stih407_usb2_init_port(struct phy *phy)
drivers/phy/st/phy-stih407-usb.c
54
struct stih407_usb2_picophy *phy_dev = phy_get_drvdata(phy);
drivers/phy/st/phy-stih407-usb.c
68
static int stih407_usb2_exit_port(struct phy *phy)
drivers/phy/st/phy-stih407-usb.c
70
struct stih407_usb2_picophy *phy_dev = phy_get_drvdata(phy);
drivers/phy/st/phy-stih407-usb.c
95
struct phy *phy;
drivers/phy/st/phy-stm32-combophy.c
325
static struct phy *stm32_combophy_xlate(struct device *dev,
drivers/phy/st/phy-stm32-combophy.c
349
return combophy->phy;
drivers/phy/st/phy-stm32-combophy.c
418
static int stm32_combophy_exit(struct phy *phy)
drivers/phy/st/phy-stm32-combophy.c
420
struct stm32_combophy *combophy = phy_get_drvdata(phy);
drivers/phy/st/phy-stm32-combophy.c
443
static int stm32_combophy_init(struct phy *phy)
drivers/phy/st/phy-stm32-combophy.c
445
struct stm32_combophy *combophy = phy_get_drvdata(phy);
drivers/phy/st/phy-stm32-combophy.c
551
combophy->phy = devm_phy_create(dev, NULL, &stm32_combophy_phy_data);
drivers/phy/st/phy-stm32-combophy.c
552
if (IS_ERR(combophy->phy))
drivers/phy/st/phy-stm32-combophy.c
553
return dev_err_probe(dev, PTR_ERR(combophy->phy),
drivers/phy/st/phy-stm32-combophy.c
574
phy_set_drvdata(combophy->phy, combophy);
drivers/phy/st/phy-stm32-combophy.c
81
struct phy *phy;
drivers/phy/st/phy-stm32-usbphyc.c
137
struct phy *phy;
drivers/phy/st/phy-stm32-usbphyc.c
335
static int stm32_usbphyc_phy_init(struct phy *phy)
drivers/phy/st/phy-stm32-usbphyc.c
337
struct stm32_usbphyc_phy *usbphyc_phy = phy_get_drvdata(phy);
drivers/phy/st/phy-stm32-usbphyc.c
370
static int stm32_usbphyc_phy_exit(struct phy *phy)
drivers/phy/st/phy-stm32-usbphyc.c
372
struct stm32_usbphyc_phy *usbphyc_phy = phy_get_drvdata(phy);
drivers/phy/st/phy-stm32-usbphyc.c
380
static int stm32_usbphyc_phy_power_on(struct phy *phy)
drivers/phy/st/phy-stm32-usbphyc.c
382
struct stm32_usbphyc_phy *usbphyc_phy = phy_get_drvdata(phy);
drivers/phy/st/phy-stm32-usbphyc.c
390
static int stm32_usbphyc_phy_power_off(struct phy *phy)
drivers/phy/st/phy-stm32-usbphyc.c
392
struct stm32_usbphyc_phy *usbphyc_phy = phy_get_drvdata(phy);
drivers/phy/st/phy-stm32-usbphyc.c
576
static struct phy *stm32_usbphyc_of_xlate(struct device *dev,
drivers/phy/st/phy-stm32-usbphyc.c
585
if (phynode == usbphyc->phys[port]->phy->dev.of_node) {
drivers/phy/st/phy-stm32-usbphyc.c
614
return usbphyc_phy->phy;
drivers/phy/st/phy-stm32-usbphyc.c
695
struct phy *phy;
drivers/phy/st/phy-stm32-usbphyc.c
698
phy = devm_phy_create(dev, child, &stm32_usbphyc_phy_ops);
drivers/phy/st/phy-stm32-usbphyc.c
699
if (IS_ERR(phy)) {
drivers/phy/st/phy-stm32-usbphyc.c
700
ret = PTR_ERR(phy);
drivers/phy/st/phy-stm32-usbphyc.c
716
dev_err(&phy->dev, "invalid reg property: %d\n", ret);
drivers/phy/st/phy-stm32-usbphyc.c
723
phy_set_bus_width(phy, 8);
drivers/phy/st/phy-stm32-usbphyc.c
724
phy_set_drvdata(phy, usbphyc_phy);
drivers/phy/st/phy-stm32-usbphyc.c
726
usbphyc->phys[port]->phy = phy;
drivers/phy/st/phy-stm32-usbphyc.c
731
usbphyc->phys[port]->vbus = devm_regulator_get_optional(&phy->dev, "vbus");
drivers/phy/st/phy-stm32-usbphyc.c
781
stm32_usbphyc_phy_exit(usbphyc->phys[port]->phy);
drivers/phy/starfive/phy-jh7110-dphy-rx.c
107
static int stf_dphy_power_on(struct phy *phy)
drivers/phy/starfive/phy-jh7110-dphy-rx.c
109
struct stf_dphy *dphy = phy_get_drvdata(phy);
drivers/phy/starfive/phy-jh7110-dphy-rx.c
130
static int stf_dphy_power_off(struct phy *phy)
drivers/phy/starfive/phy-jh7110-dphy-rx.c
132
struct stf_dphy *dphy = phy_get_drvdata(phy);
drivers/phy/starfive/phy-jh7110-dphy-rx.c
187
dphy->phy = devm_phy_create(&pdev->dev, NULL, &stf_dphy_ops);
drivers/phy/starfive/phy-jh7110-dphy-rx.c
188
if (IS_ERR(dphy->phy)) {
drivers/phy/starfive/phy-jh7110-dphy-rx.c
190
return PTR_ERR(dphy->phy);
drivers/phy/starfive/phy-jh7110-dphy-rx.c
195
phy_set_drvdata(dphy->phy, dphy);
drivers/phy/starfive/phy-jh7110-dphy-rx.c
69
struct phy *phy;
drivers/phy/starfive/phy-jh7110-dphy-rx.c
73
static int stf_dphy_configure(struct phy *phy, union phy_configure_opts *opts)
drivers/phy/starfive/phy-jh7110-dphy-rx.c
75
struct stf_dphy *dphy = phy_get_drvdata(phy);
drivers/phy/starfive/phy-jh7110-dphy-tx.c
196
struct phy *phy;
drivers/phy/starfive/phy-jh7110-dphy-tx.c
231
static int stf_dphy_configure(struct phy *phy, union phy_configure_opts *opts)
drivers/phy/starfive/phy-jh7110-dphy-tx.c
233
struct stf_dphy *dphy = phy_get_drvdata(phy);
drivers/phy/starfive/phy-jh7110-dphy-tx.c
311
static int stf_dphy_init(struct phy *phy)
drivers/phy/starfive/phy-jh7110-dphy-tx.c
313
struct stf_dphy *dphy = phy_get_drvdata(phy);
drivers/phy/starfive/phy-jh7110-dphy-tx.c
340
static int stf_dphy_exit(struct phy *phy)
drivers/phy/starfive/phy-jh7110-dphy-tx.c
342
struct stf_dphy *dphy = phy_get_drvdata(phy);
drivers/phy/starfive/phy-jh7110-dphy-tx.c
358
static int stf_dphy_power_on(struct phy *phy)
drivers/phy/starfive/phy-jh7110-dphy-tx.c
360
struct stf_dphy *dphy = phy_get_drvdata(phy);
drivers/phy/starfive/phy-jh7110-dphy-tx.c
365
static int stf_dphy_validate(struct phy *phy, enum phy_mode mode, int submode,
drivers/phy/starfive/phy-jh7110-dphy-tx.c
374
static int stf_dphy_power_off(struct phy *phy)
drivers/phy/starfive/phy-jh7110-dphy-tx.c
376
struct stf_dphy *dphy = phy_get_drvdata(phy);
drivers/phy/starfive/phy-jh7110-dphy-tx.c
421
dphy->phy = devm_phy_create(&pdev->dev, NULL, &stf_dphy_ops);
drivers/phy/starfive/phy-jh7110-dphy-tx.c
422
if (IS_ERR(dphy->phy))
drivers/phy/starfive/phy-jh7110-dphy-tx.c
423
return dev_err_probe(&pdev->dev, PTR_ERR(dphy->phy),
drivers/phy/starfive/phy-jh7110-dphy-tx.c
426
phy_set_drvdata(dphy->phy, dphy);
drivers/phy/starfive/phy-jh7110-pcie.c
102
static int jh7110_pcie_phy_set_mode(struct phy *_phy,
drivers/phy/starfive/phy-jh7110-pcie.c
105
struct jh7110_pcie_phy *phy = phy_get_drvdata(_phy);
drivers/phy/starfive/phy-jh7110-pcie.c
108
if (mode == phy->mode)
drivers/phy/starfive/phy-jh7110-pcie.c
115
ret = phy_usb3_mode_set(phy);
drivers/phy/starfive/phy-jh7110-pcie.c
120
phy_pcie_mode_set(phy);
drivers/phy/starfive/phy-jh7110-pcie.c
127
phy->mode = mode;
drivers/phy/starfive/phy-jh7110-pcie.c
139
struct jh7110_pcie_phy *phy;
drivers/phy/starfive/phy-jh7110-pcie.c
144
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
drivers/phy/starfive/phy-jh7110-pcie.c
145
if (!phy)
drivers/phy/starfive/phy-jh7110-pcie.c
148
phy->regs = devm_platform_ioremap_resource(pdev, 0);
drivers/phy/starfive/phy-jh7110-pcie.c
149
if (IS_ERR(phy->regs))
drivers/phy/starfive/phy-jh7110-pcie.c
150
return PTR_ERR(phy->regs);
drivers/phy/starfive/phy-jh7110-pcie.c
152
phy->phy = devm_phy_create(dev, NULL, &jh7110_pcie_phy_ops);
drivers/phy/starfive/phy-jh7110-pcie.c
153
if (IS_ERR(phy->phy))
drivers/phy/starfive/phy-jh7110-pcie.c
154
return dev_err_probe(dev, PTR_ERR(phy->phy),
drivers/phy/starfive/phy-jh7110-pcie.c
157
phy->sys_syscon =
drivers/phy/starfive/phy-jh7110-pcie.c
162
if (!IS_ERR_OR_NULL(phy->sys_syscon))
drivers/phy/starfive/phy-jh7110-pcie.c
163
phy->sys_phy_connect = args[0];
drivers/phy/starfive/phy-jh7110-pcie.c
165
phy->sys_syscon = NULL;
drivers/phy/starfive/phy-jh7110-pcie.c
167
phy->stg_syscon =
drivers/phy/starfive/phy-jh7110-pcie.c
172
if (!IS_ERR_OR_NULL(phy->stg_syscon)) {
drivers/phy/starfive/phy-jh7110-pcie.c
173
phy->stg_pcie_mode = args[0];
drivers/phy/starfive/phy-jh7110-pcie.c
174
phy->stg_pcie_usb = args[1];
drivers/phy/starfive/phy-jh7110-pcie.c
176
phy->stg_syscon = NULL;
drivers/phy/starfive/phy-jh7110-pcie.c
179
phy_kvco_gain_set(phy);
drivers/phy/starfive/phy-jh7110-pcie.c
181
phy_set_drvdata(phy->phy, phy);
drivers/phy/starfive/phy-jh7110-pcie.c
37
struct phy *phy;
drivers/phy/starfive/phy-jh7110-pcie.c
50
dev_err(&data->phy->dev, "doesn't support usb3 mode\n");
drivers/phy/starfive/phy-jh7110-pcie.c
95
static void phy_kvco_gain_set(struct jh7110_pcie_phy *phy)
drivers/phy/starfive/phy-jh7110-pcie.c
98
writel(PHY_KVCO_FINE_TUNE_LEVEL, phy->regs + PCIE_KVCO_LEVEL_OFF);
drivers/phy/starfive/phy-jh7110-pcie.c
99
writel(PHY_KVCO_FINE_TUNE_SIGNALS, phy->regs + PCIE_KVCO_TUNE_SIGNAL_OFF);
drivers/phy/starfive/phy-jh7110-usb.c
100
static int jh7110_usb2_phy_exit(struct phy *_phy)
drivers/phy/starfive/phy-jh7110-usb.c
102
struct jh7110_usb2_phy *phy = phy_get_drvdata(_phy);
drivers/phy/starfive/phy-jh7110-usb.c
104
clk_disable_unprepare(phy->app_125m);
drivers/phy/starfive/phy-jh7110-usb.c
118
struct jh7110_usb2_phy *phy;
drivers/phy/starfive/phy-jh7110-usb.c
122
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
drivers/phy/starfive/phy-jh7110-usb.c
123
if (!phy)
drivers/phy/starfive/phy-jh7110-usb.c
126
phy->usb_125m_clk = devm_clk_get(dev, "125m");
drivers/phy/starfive/phy-jh7110-usb.c
127
if (IS_ERR(phy->usb_125m_clk))
drivers/phy/starfive/phy-jh7110-usb.c
128
return dev_err_probe(dev, PTR_ERR(phy->usb_125m_clk),
drivers/phy/starfive/phy-jh7110-usb.c
131
phy->app_125m = devm_clk_get(dev, "app_125m");
drivers/phy/starfive/phy-jh7110-usb.c
132
if (IS_ERR(phy->app_125m))
drivers/phy/starfive/phy-jh7110-usb.c
133
return dev_err_probe(dev, PTR_ERR(phy->app_125m),
drivers/phy/starfive/phy-jh7110-usb.c
136
phy->regs = devm_platform_ioremap_resource(pdev, 0);
drivers/phy/starfive/phy-jh7110-usb.c
137
if (IS_ERR(phy->regs))
drivers/phy/starfive/phy-jh7110-usb.c
138
return dev_err_probe(dev, PTR_ERR(phy->regs),
drivers/phy/starfive/phy-jh7110-usb.c
141
phy->phy = devm_phy_create(dev, NULL, &jh7110_usb2_phy_ops);
drivers/phy/starfive/phy-jh7110-usb.c
142
if (IS_ERR(phy->phy))
drivers/phy/starfive/phy-jh7110-usb.c
143
return dev_err_probe(dev, PTR_ERR(phy->phy),
drivers/phy/starfive/phy-jh7110-usb.c
146
phy_set_drvdata(phy->phy, phy);
drivers/phy/starfive/phy-jh7110-usb.c
149
phy->sys_syscon =
drivers/phy/starfive/phy-jh7110-usb.c
151
if (IS_ERR(phy->sys_syscon))
drivers/phy/starfive/phy-jh7110-usb.c
152
return dev_err_probe(dev, PTR_ERR(phy->sys_syscon),
drivers/phy/starfive/phy-jh7110-usb.c
30
struct phy *phy;
drivers/phy/starfive/phy-jh7110-usb.c
38
static void usb2_set_ls_keepalive(struct jh7110_usb2_phy *phy, bool set)
drivers/phy/starfive/phy-jh7110-usb.c
43
val = readl(phy->regs + USB_LS_KEEPALIVE_OFF);
drivers/phy/starfive/phy-jh7110-usb.c
49
writel(val, phy->regs + USB_LS_KEEPALIVE_OFF);
drivers/phy/starfive/phy-jh7110-usb.c
52
static int usb2_phy_set_mode(struct phy *_phy,
drivers/phy/starfive/phy-jh7110-usb.c
55
struct jh7110_usb2_phy *phy = phy_get_drvdata(_phy);
drivers/phy/starfive/phy-jh7110-usb.c
66
if (mode != phy->mode) {
drivers/phy/starfive/phy-jh7110-usb.c
68
phy->mode = mode;
drivers/phy/starfive/phy-jh7110-usb.c
69
usb2_set_ls_keepalive(phy, (mode != PHY_MODE_USB_DEVICE));
drivers/phy/starfive/phy-jh7110-usb.c
73
regmap_update_bits(phy->sys_syscon, SYSCON_USB_SPLIT_OFFSET,
drivers/phy/starfive/phy-jh7110-usb.c
79
static int jh7110_usb2_phy_init(struct phy *_phy)
drivers/phy/starfive/phy-jh7110-usb.c
81
struct jh7110_usb2_phy *phy = phy_get_drvdata(_phy);
drivers/phy/starfive/phy-jh7110-usb.c
85
ret = clk_set_rate(phy->usb_125m_clk, USB_125M_CLK_RATE);
drivers/phy/starfive/phy-jh7110-usb.c
89
ret = clk_prepare_enable(phy->app_125m);
drivers/phy/starfive/phy-jh7110-usb.c
93
val = readl(phy->regs + USB_CLK_MODE_OFF);
drivers/phy/starfive/phy-jh7110-usb.c
95
writel(val, phy->regs + USB_CLK_MODE_OFF);
drivers/phy/sunplus/phy-sunplus-usb2.c
111
static int sp_uphy_init(struct phy *phy)
drivers/phy/sunplus/phy-sunplus-usb2.c
113
struct sp_usbphy *usbphy = phy_get_drvdata(phy);
drivers/phy/sunplus/phy-sunplus-usb2.c
169
static int sp_uphy_power_on(struct phy *phy)
drivers/phy/sunplus/phy-sunplus-usb2.c
171
struct sp_usbphy *usbphy = phy_get_drvdata(phy);
drivers/phy/sunplus/phy-sunplus-usb2.c
198
static int sp_uphy_power_off(struct phy *phy)
drivers/phy/sunplus/phy-sunplus-usb2.c
200
struct sp_usbphy *usbphy = phy_get_drvdata(phy);
drivers/phy/sunplus/phy-sunplus-usb2.c
215
static int sp_uphy_exit(struct phy *phy)
drivers/phy/sunplus/phy-sunplus-usb2.c
217
struct sp_usbphy *usbphy = phy_get_drvdata(phy);
drivers/phy/sunplus/phy-sunplus-usb2.c
242
struct phy *phy;
drivers/phy/sunplus/phy-sunplus-usb2.c
276
phy = devm_phy_create(&pdev->dev, NULL, &sp_uphy_ops);
drivers/phy/sunplus/phy-sunplus-usb2.c
277
if (IS_ERR(phy)) {
drivers/phy/sunplus/phy-sunplus-usb2.c
278
ret = PTR_ERR(phy);
drivers/phy/sunplus/phy-sunplus-usb2.c
282
phy_set_drvdata(phy, usbphy);
drivers/phy/tegra/phy-tegra194-p2u.c
111
struct phy *generic_phy;
drivers/phy/tegra/phy-tegra194-p2u.c
112
struct tegra_p2u *phy;
drivers/phy/tegra/phy-tegra194-p2u.c
114
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
drivers/phy/tegra/phy-tegra194-p2u.c
115
if (!phy)
drivers/phy/tegra/phy-tegra194-p2u.c
118
phy->of_data =
drivers/phy/tegra/phy-tegra194-p2u.c
120
if (!phy->of_data)
drivers/phy/tegra/phy-tegra194-p2u.c
123
phy->base = devm_platform_ioremap_resource_byname(pdev, "ctl");
drivers/phy/tegra/phy-tegra194-p2u.c
124
if (IS_ERR(phy->base))
drivers/phy/tegra/phy-tegra194-p2u.c
125
return PTR_ERR(phy->base);
drivers/phy/tegra/phy-tegra194-p2u.c
127
phy->skip_sz_protection_en =
drivers/phy/tegra/phy-tegra194-p2u.c
131
platform_set_drvdata(pdev, phy);
drivers/phy/tegra/phy-tegra194-p2u.c
137
phy_set_drvdata(generic_phy, phy);
drivers/phy/tegra/phy-tegra194-p2u.c
44
static inline void p2u_writel(struct tegra_p2u *phy, const u32 value,
drivers/phy/tegra/phy-tegra194-p2u.c
47
writel_relaxed(value, phy->base + reg);
drivers/phy/tegra/phy-tegra194-p2u.c
50
static inline u32 p2u_readl(struct tegra_p2u *phy, const u32 reg)
drivers/phy/tegra/phy-tegra194-p2u.c
52
return readl_relaxed(phy->base + reg);
drivers/phy/tegra/phy-tegra194-p2u.c
55
static int tegra_p2u_power_on(struct phy *x)
drivers/phy/tegra/phy-tegra194-p2u.c
57
struct tegra_p2u *phy = phy_get_drvdata(x);
drivers/phy/tegra/phy-tegra194-p2u.c
60
if (phy->skip_sz_protection_en) {
drivers/phy/tegra/phy-tegra194-p2u.c
61
val = p2u_readl(phy, P2U_CONTROL_CMN);
drivers/phy/tegra/phy-tegra194-p2u.c
63
p2u_writel(phy, val, P2U_CONTROL_CMN);
drivers/phy/tegra/phy-tegra194-p2u.c
66
val = p2u_readl(phy, P2U_PERIODIC_EQ_CTRL_GEN3);
drivers/phy/tegra/phy-tegra194-p2u.c
69
p2u_writel(phy, val, P2U_PERIODIC_EQ_CTRL_GEN3);
drivers/phy/tegra/phy-tegra194-p2u.c
71
val = p2u_readl(phy, P2U_PERIODIC_EQ_CTRL_GEN4);
drivers/phy/tegra/phy-tegra194-p2u.c
73
p2u_writel(phy, val, P2U_PERIODIC_EQ_CTRL_GEN4);
drivers/phy/tegra/phy-tegra194-p2u.c
75
val = p2u_readl(phy, P2U_RX_DEBOUNCE_TIME);
drivers/phy/tegra/phy-tegra194-p2u.c
78
p2u_writel(phy, val, P2U_RX_DEBOUNCE_TIME);
drivers/phy/tegra/phy-tegra194-p2u.c
80
if (phy->of_data->one_dir_search) {
drivers/phy/tegra/phy-tegra194-p2u.c
81
val = p2u_readl(phy, P2U_DIR_SEARCH_CTRL);
drivers/phy/tegra/phy-tegra194-p2u.c
83
p2u_writel(phy, val, P2U_DIR_SEARCH_CTRL);
drivers/phy/tegra/phy-tegra194-p2u.c
89
static int tegra_p2u_calibrate(struct phy *x)
drivers/phy/tegra/phy-tegra194-p2u.c
91
struct tegra_p2u *phy = phy_get_drvdata(x);
drivers/phy/tegra/phy-tegra194-p2u.c
94
val = p2u_readl(phy, P2U_CONTROL_CMN);
drivers/phy/tegra/phy-tegra194-p2u.c
96
p2u_writel(phy, val, P2U_CONTROL_CMN);
drivers/phy/tegra/xusb-tegra124.c
1069
static int tegra124_pcie_phy_init(struct phy *phy)
drivers/phy/tegra/xusb-tegra124.c
1071
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra124.c
1076
static int tegra124_pcie_phy_exit(struct phy *phy)
drivers/phy/tegra/xusb-tegra124.c
1078
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra124.c
1083
static int tegra124_pcie_phy_power_on(struct phy *phy)
drivers/phy/tegra/xusb-tegra124.c
1085
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra124.c
1124
static int tegra124_pcie_phy_power_off(struct phy *phy)
drivers/phy/tegra/xusb-tegra124.c
1126
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra124.c
1247
static int tegra124_sata_phy_init(struct phy *phy)
drivers/phy/tegra/xusb-tegra124.c
1249
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra124.c
1254
static int tegra124_sata_phy_exit(struct phy *phy)
drivers/phy/tegra/xusb-tegra124.c
1256
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra124.c
1261
static int tegra124_sata_phy_power_on(struct phy *phy)
drivers/phy/tegra/xusb-tegra124.c
1263
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra124.c
1306
static int tegra124_sata_phy_power_off(struct phy *phy)
drivers/phy/tegra/xusb-tegra124.c
1308
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra124.c
464
static int tegra124_usb2_phy_init(struct phy *phy)
drivers/phy/tegra/xusb-tegra124.c
466
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra124.c
471
static int tegra124_usb2_phy_exit(struct phy *phy)
drivers/phy/tegra/xusb-tegra124.c
473
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra124.c
478
static int tegra124_usb2_phy_power_on(struct phy *phy)
drivers/phy/tegra/xusb-tegra124.c
480
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra124.c
492
dev_err(&phy->dev, "no port found for USB2 lane %u\n", index);
drivers/phy/tegra/xusb-tegra124.c
567
static int tegra124_usb2_phy_power_off(struct phy *phy)
drivers/phy/tegra/xusb-tegra124.c
569
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra124.c
577
dev_err(&phy->dev, "no port found for USB2 lane %u\n",
drivers/phy/tegra/xusb-tegra124.c
713
static int tegra124_ulpi_phy_init(struct phy *phy)
drivers/phy/tegra/xusb-tegra124.c
715
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra124.c
720
static int tegra124_ulpi_phy_exit(struct phy *phy)
drivers/phy/tegra/xusb-tegra124.c
722
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra124.c
727
static int tegra124_ulpi_phy_power_on(struct phy *phy)
drivers/phy/tegra/xusb-tegra124.c
732
static int tegra124_ulpi_phy_power_off(struct phy *phy)
drivers/phy/tegra/xusb-tegra124.c
849
static int tegra124_hsic_phy_init(struct phy *phy)
drivers/phy/tegra/xusb-tegra124.c
851
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra124.c
856
static int tegra124_hsic_phy_exit(struct phy *phy)
drivers/phy/tegra/xusb-tegra124.c
858
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra124.c
863
static int tegra124_hsic_phy_power_on(struct phy *phy)
drivers/phy/tegra/xusb-tegra124.c
865
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra124.c
933
static int tegra124_hsic_phy_power_off(struct phy *phy)
drivers/phy/tegra/xusb-tegra124.c
935
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra186.c
1286
static int tegra186_usb3_phy_power_on(struct phy *phy)
drivers/phy/tegra/xusb-tegra186.c
1288
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra186.c
1355
static int tegra186_usb3_phy_power_off(struct phy *phy)
drivers/phy/tegra/xusb-tegra186.c
1357
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra186.c
1393
static int tegra186_usb3_phy_init(struct phy *phy)
drivers/phy/tegra/xusb-tegra186.c
1398
static int tegra186_usb3_phy_exit(struct phy *phy)
drivers/phy/tegra/xusb-tegra186.c
686
static void tegra186_utmi_pad_power_on(struct phy *phy)
drivers/phy/tegra/xusb-tegra186.c
688
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra186.c
696
if (!phy)
drivers/phy/tegra/xusb-tegra186.c
730
static void tegra186_utmi_pad_power_down(struct phy *phy)
drivers/phy/tegra/xusb-tegra186.c
732
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra186.c
738
if (!phy)
drivers/phy/tegra/xusb-tegra186.c
840
static int tegra186_utmi_phy_set_mode(struct phy *phy, enum phy_mode mode,
drivers/phy/tegra/xusb-tegra186.c
843
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra186.c
872
static int tegra186_utmi_phy_power_on(struct phy *phy)
drivers/phy/tegra/xusb-tegra186.c
874
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra186.c
938
tegra186_utmi_pad_power_on(phy);
drivers/phy/tegra/xusb-tegra186.c
943
static int tegra186_utmi_phy_power_off(struct phy *phy)
drivers/phy/tegra/xusb-tegra186.c
945
tegra186_utmi_pad_power_down(phy);
drivers/phy/tegra/xusb-tegra186.c
950
static int tegra186_utmi_phy_init(struct phy *phy)
drivers/phy/tegra/xusb-tegra186.c
952
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra186.c
988
static int tegra186_utmi_phy_exit(struct phy *phy)
drivers/phy/tegra/xusb-tegra186.c
990
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra210.c
1798
static int tegra210_usb2_phy_init(struct phy *phy)
drivers/phy/tegra/xusb-tegra210.c
1800
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra210.c
1809
dev_err(&phy->dev, "no port found for USB2 lane %u\n", index);
drivers/phy/tegra/xusb-tegra210.c
1833
static int tegra210_usb2_phy_exit(struct phy *phy)
drivers/phy/tegra/xusb-tegra210.c
1835
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra210.c
1842
dev_err(&phy->dev, "no port found for USB2 lane %u\n", lane->index);
drivers/phy/tegra/xusb-tegra210.c
1913
static int tegra210_usb2_phy_set_mode(struct phy *phy, enum phy_mode mode,
drivers/phy/tegra/xusb-tegra210.c
1916
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra210.c
1952
static int tegra210_usb2_phy_power_on(struct phy *phy)
drivers/phy/tegra/xusb-tegra210.c
1954
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra210.c
1966
dev_err(&phy->dev, "no port found for USB2 lane %u\n", index);
drivers/phy/tegra/xusb-tegra210.c
2112
static int tegra210_usb2_phy_power_off(struct phy *phy)
drivers/phy/tegra/xusb-tegra210.c
2114
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra210.c
2122
dev_err(&phy->dev, "no port found for USB2 lane %u\n",
drivers/phy/tegra/xusb-tegra210.c
2294
static int tegra210_hsic_phy_init(struct phy *phy)
drivers/phy/tegra/xusb-tegra210.c
2296
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra210.c
2310
static int tegra210_hsic_phy_exit(struct phy *phy)
drivers/phy/tegra/xusb-tegra210.c
2315
static int tegra210_hsic_phy_power_on(struct phy *phy)
drivers/phy/tegra/xusb-tegra210.c
2317
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra210.c
2400
static int tegra210_hsic_phy_power_off(struct phy *phy)
drivers/phy/tegra/xusb-tegra210.c
2402
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra210.c
2577
static int tegra210_usb3_phy_power_on(struct phy *phy)
drivers/phy/tegra/xusb-tegra210.c
2579
struct device *dev = &phy->dev;
drivers/phy/tegra/xusb-tegra210.c
2580
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra210.c
2650
static int tegra210_usb3_phy_power_off(struct phy *phy)
drivers/phy/tegra/xusb-tegra210.c
2652
struct device *dev = &phy->dev;
drivers/phy/tegra/xusb-tegra210.c
2653
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra210.c
2729
static int tegra210_pcie_phy_init(struct phy *phy)
drivers/phy/tegra/xusb-tegra210.c
2731
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra210.c
2743
static int tegra210_pcie_phy_power_on(struct phy *phy)
drivers/phy/tegra/xusb-tegra210.c
2745
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra210.c
2752
err = tegra210_usb3_phy_power_on(phy);
drivers/phy/tegra/xusb-tegra210.c
2758
static int tegra210_pcie_phy_power_off(struct phy *phy)
drivers/phy/tegra/xusb-tegra210.c
2760
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra210.c
2767
err = tegra210_usb3_phy_power_off(phy);
drivers/phy/tegra/xusb-tegra210.c
2899
static int tegra210_sata_phy_init(struct phy *phy)
drivers/phy/tegra/xusb-tegra210.c
2901
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra210.c
2912
static int tegra210_sata_phy_power_on(struct phy *phy)
drivers/phy/tegra/xusb-tegra210.c
2914
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra210.c
2921
err = tegra210_usb3_phy_power_on(phy);
drivers/phy/tegra/xusb-tegra210.c
2927
static int tegra210_sata_phy_power_off(struct phy *phy)
drivers/phy/tegra/xusb-tegra210.c
2929
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb-tegra210.c
2936
err = tegra210_usb3_phy_power_off(phy);
drivers/phy/tegra/xusb-tegra210.c
3086
static int tegra210_utmi_port_reset(struct phy *phy)
drivers/phy/tegra/xusb-tegra210.c
3092
lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb.c
138
static void tegra_xusb_lane_destroy(struct phy *phy)
drivers/phy/tegra/xusb.c
1394
int tegra_xusb_padctl_enable_phy_sleepwalk(struct tegra_xusb_padctl *padctl, struct phy *phy,
drivers/phy/tegra/xusb.c
1397
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb.c
140
if (phy) {
drivers/phy/tegra/xusb.c
1406
int tegra_xusb_padctl_disable_phy_sleepwalk(struct tegra_xusb_padctl *padctl, struct phy *phy)
drivers/phy/tegra/xusb.c
1408
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb.c
141
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb.c
1417
int tegra_xusb_padctl_enable_phy_wake(struct tegra_xusb_padctl *padctl, struct phy *phy)
drivers/phy/tegra/xusb.c
1419
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb.c
1428
int tegra_xusb_padctl_disable_phy_wake(struct tegra_xusb_padctl *padctl, struct phy *phy)
drivers/phy/tegra/xusb.c
1430
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb.c
1439
bool tegra_xusb_padctl_remote_wake_detected(struct tegra_xusb_padctl *padctl, struct phy *phy)
drivers/phy/tegra/xusb.c
144
phy_destroy(phy);
drivers/phy/tegra/xusb.c
1441
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb.c
1471
int tegra_phy_xusb_utmi_port_reset(struct phy *phy)
drivers/phy/tegra/xusb.c
1473
struct tegra_xusb_lane *lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb.c
1477
return padctl->soc->ops->utmi_port_reset(phy);
drivers/phy/tegra/xusb.c
1483
void tegra_phy_xusb_utmi_pad_power_on(struct phy *phy)
drivers/phy/tegra/xusb.c
1488
if (!phy)
drivers/phy/tegra/xusb.c
1491
lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb.c
1495
padctl->soc->ops->utmi_pad_power_on(phy);
drivers/phy/tegra/xusb.c
1499
void tegra_phy_xusb_utmi_pad_power_down(struct phy *phy)
drivers/phy/tegra/xusb.c
1504
if (!phy)
drivers/phy/tegra/xusb.c
1507
lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb.c
1511
padctl->soc->ops->utmi_pad_power_down(phy);
drivers/phy/tegra/xusb.c
1536
int tegra_xusb_padctl_get_port_number(struct phy *phy)
drivers/phy/tegra/xusb.c
1540
if (!phy)
drivers/phy/tegra/xusb.c
1543
lane = phy_get_drvdata(phy);
drivers/phy/tegra/xusb.c
191
struct phy *lane;
drivers/phy/tegra/xusb.c
24
static struct phy *tegra_xusb_pad_of_xlate(struct device *dev,
drivers/phy/tegra/xusb.c
28
struct phy *phy = NULL;
drivers/phy/tegra/xusb.c
39
phy = pad->lanes[i];
drivers/phy/tegra/xusb.c
44
if (phy == NULL)
drivers/phy/tegra/xusb.c
45
phy = ERR_PTR(-ENODEV);
drivers/phy/tegra/xusb.c
47
return phy;
drivers/phy/tegra/xusb.h
171
struct phy **lanes;
drivers/phy/tegra/xusb.h
23
struct phy;
drivers/phy/tegra/xusb.h
412
int (*utmi_port_reset)(struct phy *phy);
drivers/phy/tegra/xusb.h
413
void (*utmi_pad_power_on)(struct phy *phy);
drivers/phy/tegra/xusb.h
414
void (*utmi_pad_power_down)(struct phy *phy);
drivers/phy/ti/phy-am654-serdes.c
245
static int serdes_am654_enable_pll(struct serdes_am654 *phy)
drivers/phy/ti/phy-am654-serdes.c
250
ret = regmap_field_write(phy->fields[PLL_ENABLE], PLL_ENABLE_STATE);
drivers/phy/ti/phy-am654-serdes.c
254
return regmap_field_read_poll_timeout(phy->fields[PLL_OK], val, val,
drivers/phy/ti/phy-am654-serdes.c
258
static void serdes_am654_disable_pll(struct serdes_am654 *phy)
drivers/phy/ti/phy-am654-serdes.c
260
struct device *dev = phy->dev;
drivers/phy/ti/phy-am654-serdes.c
263
ret = regmap_field_write(phy->fields[PLL_ENABLE], PLL_DISABLE_STATE);
drivers/phy/ti/phy-am654-serdes.c
268
static int serdes_am654_enable_txrx(struct serdes_am654 *phy)
drivers/phy/ti/phy-am654-serdes.c
273
ret |= regmap_field_write(phy->fields[TX0_ENABLE], TX0_ENABLE_STATE);
drivers/phy/ti/phy-am654-serdes.c
276
ret |= regmap_field_write(phy->fields[RX0_ENABLE], RX0_ENABLE_STATE);
drivers/phy/ti/phy-am654-serdes.c
284
static int serdes_am654_disable_txrx(struct serdes_am654 *phy)
drivers/phy/ti/phy-am654-serdes.c
289
ret |= regmap_field_write(phy->fields[TX0_ENABLE], TX0_DISABLE_STATE);
drivers/phy/ti/phy-am654-serdes.c
292
ret |= regmap_field_write(phy->fields[RX0_ENABLE], RX0_DISABLE_STATE);
drivers/phy/ti/phy-am654-serdes.c
300
static int serdes_am654_power_on(struct phy *x)
drivers/phy/ti/phy-am654-serdes.c
302
struct serdes_am654 *phy = phy_get_drvdata(x);
drivers/phy/ti/phy-am654-serdes.c
303
struct device *dev = phy->dev;
drivers/phy/ti/phy-am654-serdes.c
307
ret = serdes_am654_enable_pll(phy);
drivers/phy/ti/phy-am654-serdes.c
313
ret = serdes_am654_enable_txrx(phy);
drivers/phy/ti/phy-am654-serdes.c
319
return regmap_field_read_poll_timeout(phy->fields[CMU_OK_I_0], val,
drivers/phy/ti/phy-am654-serdes.c
323
static int serdes_am654_power_off(struct phy *x)
drivers/phy/ti/phy-am654-serdes.c
325
struct serdes_am654 *phy = phy_get_drvdata(x);
drivers/phy/ti/phy-am654-serdes.c
327
serdes_am654_disable_txrx(phy);
drivers/phy/ti/phy-am654-serdes.c
328
serdes_am654_disable_pll(phy);
drivers/phy/ti/phy-am654-serdes.c
334
regmap_update_bits(phy->regmap, (offset),\
drivers/phy/ti/phy-am654-serdes.c
337
static int serdes_am654_usb3_init(struct serdes_am654 *phy)
drivers/phy/ti/phy-am654-serdes.c
416
static int serdes_am654_pcie_init(struct serdes_am654 *phy)
drivers/phy/ti/phy-am654-serdes.c
420
ret |= regmap_field_write(phy->fields[CMU_PLL_CTRL], 0x2);
drivers/phy/ti/phy-am654-serdes.c
421
ret |= regmap_field_write(phy->fields[AHB_PMA_CM_VCO_VBIAS_VREG], 0x98);
drivers/phy/ti/phy-am654-serdes.c
422
ret |= regmap_field_write(phy->fields[AHB_PMA_CM_VCO_BIAS_VREG], 0x98);
drivers/phy/ti/phy-am654-serdes.c
423
ret |= regmap_field_write(phy->fields[AHB_PMA_CM_SR], 0x45);
drivers/phy/ti/phy-am654-serdes.c
424
ret |= regmap_field_write(phy->fields[AHB_SSC_GEN_Z_O_20_13], 0xe);
drivers/phy/ti/phy-am654-serdes.c
425
ret |= regmap_field_write(phy->fields[LANE_PLL_CTRL_RXEQ_RXIDLE], 0x5);
drivers/phy/ti/phy-am654-serdes.c
426
ret |= regmap_field_write(phy->fields[AHB_PMA_LN_AGC_THSEL_VREGH], 0x83);
drivers/phy/ti/phy-am654-serdes.c
427
ret |= regmap_field_write(phy->fields[AHB_PMA_LN_GEN3_AGC_SD_THSEL], 0x83);
drivers/phy/ti/phy-am654-serdes.c
428
ret |= regmap_field_write(phy->fields[AHB_PMA_LN_RX_SELR_GEN3], 0x81);
drivers/phy/ti/phy-am654-serdes.c
429
ret |= regmap_field_write(phy->fields[AHB_PMA_LN_TX_DRV], 0x3b);
drivers/phy/ti/phy-am654-serdes.c
430
ret |= regmap_field_write(phy->fields[P2S_RBUF_PTR_DIFF], 0x3);
drivers/phy/ti/phy-am654-serdes.c
431
ret |= regmap_field_write(phy->fields[CONFIG_VERSION], VERSION_VAL);
drivers/phy/ti/phy-am654-serdes.c
432
ret |= regmap_field_write(phy->fields[COMRXEQ_MS_INIT_CTRL_7_0], 0xf);
drivers/phy/ti/phy-am654-serdes.c
433
ret |= regmap_field_write(phy->fields[COMRXEQ_HS_INIT_CAL_7_0], 0x4f);
drivers/phy/ti/phy-am654-serdes.c
434
ret |= regmap_field_write(phy->fields[COMRXEQ_MS_RECAL_CTRL_7_0], 0xf);
drivers/phy/ti/phy-am654-serdes.c
435
ret |= regmap_field_write(phy->fields[COMRXEQ_HS_RECAL_CTRL_7_0], 0x4f);
drivers/phy/ti/phy-am654-serdes.c
436
ret |= regmap_field_write(phy->fields[COMRXEQ_CSR_ATT_CONFIG], 0x7);
drivers/phy/ti/phy-am654-serdes.c
437
ret |= regmap_field_write(phy->fields[COMRXEQ_CSR_EBSTADAPT_WIN_LEN], 0x7f);
drivers/phy/ti/phy-am654-serdes.c
438
ret |= regmap_field_write(phy->fields[COMRXEQ_CTRL_3_4], 0xf);
drivers/phy/ti/phy-am654-serdes.c
439
ret |= regmap_field_write(phy->fields[COMRXEQ_CTRL_14_15_16], 0x9a);
drivers/phy/ti/phy-am654-serdes.c
440
ret |= regmap_field_write(phy->fields[COMRXEQ_CSR_DLEV_ERR_THRESH], 0x32);
drivers/phy/ti/phy-am654-serdes.c
441
ret |= regmap_field_write(phy->fields[COMRXEQ_CTRL_25], 0x80);
drivers/phy/ti/phy-am654-serdes.c
442
ret |= regmap_field_write(phy->fields[CSR_RXEQ_RATE_CHANGE_CAL_RUN_RATE2_O], 0xf);
drivers/phy/ti/phy-am654-serdes.c
443
ret |= regmap_field_write(phy->fields[COMRXEQ_HS_RCHANGE_CTRL_7_0], 0x4f);
drivers/phy/ti/phy-am654-serdes.c
444
ret |= regmap_field_write(phy->fields[CMU_MASTER_CDN], 0x1);
drivers/phy/ti/phy-am654-serdes.c
445
ret |= regmap_field_write(phy->fields[L1_MASTER_CDN], 0x2);
drivers/phy/ti/phy-am654-serdes.c
453
static int serdes_am654_init(struct phy *x)
drivers/phy/ti/phy-am654-serdes.c
455
struct serdes_am654 *phy = phy_get_drvdata(x);
drivers/phy/ti/phy-am654-serdes.c
457
switch (phy->type) {
drivers/phy/ti/phy-am654-serdes.c
459
return serdes_am654_pcie_init(phy);
drivers/phy/ti/phy-am654-serdes.c
461
return serdes_am654_usb3_init(phy);
drivers/phy/ti/phy-am654-serdes.c
467
static int serdes_am654_reset(struct phy *x)
drivers/phy/ti/phy-am654-serdes.c
469
struct serdes_am654 *phy = phy_get_drvdata(x);
drivers/phy/ti/phy-am654-serdes.c
472
serdes_am654_disable_pll(phy);
drivers/phy/ti/phy-am654-serdes.c
473
serdes_am654_disable_txrx(phy);
drivers/phy/ti/phy-am654-serdes.c
475
ret |= regmap_field_write(phy->fields[POR_EN], 0x1);
drivers/phy/ti/phy-am654-serdes.c
479
ret |= regmap_field_write(phy->fields[POR_EN], 0x0);
drivers/phy/ti/phy-am654-serdes.c
487
static void serdes_am654_release(struct phy *x)
drivers/phy/ti/phy-am654-serdes.c
489
struct serdes_am654 *phy = phy_get_drvdata(x);
drivers/phy/ti/phy-am654-serdes.c
491
phy->type = PHY_NONE;
drivers/phy/ti/phy-am654-serdes.c
492
phy->busy = false;
drivers/phy/ti/phy-am654-serdes.c
493
mux_control_deselect(phy->control);
drivers/phy/ti/phy-am654-serdes.c
496
static struct phy *serdes_am654_xlate(struct device *dev,
drivers/phy/ti/phy-am654-serdes.c
500
struct phy *phy;
drivers/phy/ti/phy-am654-serdes.c
503
phy = of_phy_simple_xlate(dev, args);
drivers/phy/ti/phy-am654-serdes.c
504
if (IS_ERR(phy))
drivers/phy/ti/phy-am654-serdes.c
505
return phy;
drivers/phy/ti/phy-am654-serdes.c
507
am654_phy = phy_get_drvdata(phy);
drivers/phy/ti/phy-am654-serdes.c
520
return phy;
drivers/phy/ti/phy-am654-serdes.c
746
struct phy *phy;
drivers/phy/ti/phy-am654-serdes.c
807
phy = devm_phy_create(dev, NULL, &ops);
drivers/phy/ti/phy-am654-serdes.c
808
if (IS_ERR(phy)) {
drivers/phy/ti/phy-am654-serdes.c
809
ret = PTR_ERR(phy);
drivers/phy/ti/phy-am654-serdes.c
813
phy_set_drvdata(phy, am654_phy);
drivers/phy/ti/phy-da8xx-usb.c
100
struct da8xx_usb_phy *d_phy = phy_get_drvdata(phy);
drivers/phy/ti/phy-da8xx-usb.c
159
static struct phy *da8xx_usb_phy_of_xlate(struct device *dev,
drivers/phy/ti/phy-da8xx-usb.c
25
struct phy *usb11_phy;
drivers/phy/ti/phy-da8xx-usb.c
26
struct phy *usb20_phy;
drivers/phy/ti/phy-da8xx-usb.c
32
static int da8xx_usb11_phy_power_on(struct phy *phy)
drivers/phy/ti/phy-da8xx-usb.c
34
struct da8xx_usb_phy *d_phy = phy_get_drvdata(phy);
drivers/phy/ti/phy-da8xx-usb.c
53
static int da8xx_usb11_phy_power_off(struct phy *phy)
drivers/phy/ti/phy-da8xx-usb.c
55
struct da8xx_usb_phy *d_phy = phy_get_drvdata(phy);
drivers/phy/ti/phy-da8xx-usb.c
71
static int da8xx_usb20_phy_power_on(struct phy *phy)
drivers/phy/ti/phy-da8xx-usb.c
73
struct da8xx_usb_phy *d_phy = phy_get_drvdata(phy);
drivers/phy/ti/phy-da8xx-usb.c
85
static int da8xx_usb20_phy_power_off(struct phy *phy)
drivers/phy/ti/phy-da8xx-usb.c
87
struct da8xx_usb_phy *d_phy = phy_get_drvdata(phy);
drivers/phy/ti/phy-da8xx-usb.c
97
static int da8xx_usb20_phy_set_mode(struct phy *phy,
drivers/phy/ti/phy-dm816x-usb.c
100
regmap_write(phy->syscon, phy->usbphy_ctrl, val);
drivers/phy/ti/phy-dm816x-usb.c
112
struct dm816x_usb_phy *phy = dev_get_drvdata(dev);
drivers/phy/ti/phy-dm816x-usb.c
116
mask = BIT(phy->instance);
drivers/phy/ti/phy-dm816x-usb.c
117
val = ~BIT(phy->instance);
drivers/phy/ti/phy-dm816x-usb.c
118
error = regmap_update_bits(phy->syscon, phy->usb_ctrl,
drivers/phy/ti/phy-dm816x-usb.c
121
dev_err(phy->dev, "phy%i failed to power off\n",
drivers/phy/ti/phy-dm816x-usb.c
122
phy->instance);
drivers/phy/ti/phy-dm816x-usb.c
123
clk_disable(phy->refclk);
drivers/phy/ti/phy-dm816x-usb.c
130
struct dm816x_usb_phy *phy = dev_get_drvdata(dev);
drivers/phy/ti/phy-dm816x-usb.c
134
error = clk_enable(phy->refclk);
drivers/phy/ti/phy-dm816x-usb.c
144
mask = BIT(phy->instance);
drivers/phy/ti/phy-dm816x-usb.c
145
val = BIT(phy->instance);
drivers/phy/ti/phy-dm816x-usb.c
146
error = regmap_update_bits(phy->syscon, phy->usb_ctrl,
drivers/phy/ti/phy-dm816x-usb.c
149
dev_err(phy->dev, "phy%i failed to power on\n",
drivers/phy/ti/phy-dm816x-usb.c
150
phy->instance);
drivers/phy/ti/phy-dm816x-usb.c
151
clk_disable(phy->refclk);
drivers/phy/ti/phy-dm816x-usb.c
173
struct dm816x_usb_phy *phy;
drivers/phy/ti/phy-dm816x-usb.c
175
struct phy *generic_phy;
drivers/phy/ti/phy-dm816x-usb.c
180
phy = devm_kzalloc(&pdev->dev, sizeof(*phy), GFP_KERNEL);
drivers/phy/ti/phy-dm816x-usb.c
181
if (!phy)
drivers/phy/ti/phy-dm816x-usb.c
188
phy->syscon = syscon_regmap_lookup_by_phandle(pdev->dev.of_node,
drivers/phy/ti/phy-dm816x-usb.c
190
if (IS_ERR(phy->syscon))
drivers/phy/ti/phy-dm816x-usb.c
191
return PTR_ERR(phy->syscon);
drivers/phy/ti/phy-dm816x-usb.c
198
phy->usb_ctrl = 0x20;
drivers/phy/ti/phy-dm816x-usb.c
199
phy->usbphy_ctrl = (res->start & 0xff) + 4;
drivers/phy/ti/phy-dm816x-usb.c
200
if (phy->usbphy_ctrl == 0x2c)
drivers/phy/ti/phy-dm816x-usb.c
201
phy->instance = 1;
drivers/phy/ti/phy-dm816x-usb.c
207
phy->dev = &pdev->dev;
drivers/phy/ti/phy-dm816x-usb.c
208
phy->phy.dev = phy->dev;
drivers/phy/ti/phy-dm816x-usb.c
209
phy->phy.label = "dm8168_usb_phy";
drivers/phy/ti/phy-dm816x-usb.c
210
phy->phy.otg = otg;
drivers/phy/ti/phy-dm816x-usb.c
211
phy->phy.type = USB_PHY_TYPE_USB2;
drivers/phy/ti/phy-dm816x-usb.c
214
otg->usb_phy = &phy->phy;
drivers/phy/ti/phy-dm816x-usb.c
216
platform_set_drvdata(pdev, phy);
drivers/phy/ti/phy-dm816x-usb.c
218
phy->refclk = devm_clk_get(phy->dev, "refclk");
drivers/phy/ti/phy-dm816x-usb.c
219
if (IS_ERR(phy->refclk))
drivers/phy/ti/phy-dm816x-usb.c
220
return PTR_ERR(phy->refclk);
drivers/phy/ti/phy-dm816x-usb.c
221
error = clk_prepare(phy->refclk);
drivers/phy/ti/phy-dm816x-usb.c
225
pm_runtime_enable(phy->dev);
drivers/phy/ti/phy-dm816x-usb.c
226
generic_phy = devm_phy_create(phy->dev, NULL, &ops);
drivers/phy/ti/phy-dm816x-usb.c
232
phy_set_drvdata(generic_phy, phy);
drivers/phy/ti/phy-dm816x-usb.c
234
phy_provider = devm_of_phy_provider_register(phy->dev,
drivers/phy/ti/phy-dm816x-usb.c
241
usb_add_phy_dev(&phy->phy);
drivers/phy/ti/phy-dm816x-usb.c
246
pm_runtime_disable(phy->dev);
drivers/phy/ti/phy-dm816x-usb.c
247
clk_unprepare(phy->refclk);
drivers/phy/ti/phy-dm816x-usb.c
253
struct dm816x_usb_phy *phy = platform_get_drvdata(pdev);
drivers/phy/ti/phy-dm816x-usb.c
255
usb_remove_phy(&phy->phy);
drivers/phy/ti/phy-dm816x-usb.c
256
pm_runtime_disable(phy->dev);
drivers/phy/ti/phy-dm816x-usb.c
257
clk_unprepare(phy->refclk);
drivers/phy/ti/phy-dm816x-usb.c
47
struct usb_phy phy;
drivers/phy/ti/phy-dm816x-usb.c
71
static int dm816x_usb_phy_init(struct phy *x)
drivers/phy/ti/phy-dm816x-usb.c
73
struct dm816x_usb_phy *phy = phy_get_drvdata(x);
drivers/phy/ti/phy-dm816x-usb.c
76
if (clk_get_rate(phy->refclk) != 24000000)
drivers/phy/ti/phy-dm816x-usb.c
77
dev_warn(phy->dev, "nonstandard phy refclk\n");
drivers/phy/ti/phy-dm816x-usb.c
80
regmap_update_bits(phy->syscon, phy->usb_ctrl,
drivers/phy/ti/phy-dm816x-usb.c
85
regmap_read(phy->syscon, phy->usb_ctrl, &val);
drivers/phy/ti/phy-dm816x-usb.c
87
dev_info(phy->dev,
drivers/phy/ti/phy-dm816x-usb.c
96
regmap_read(phy->syscon, phy->usbphy_ctrl, &val);
drivers/phy/ti/phy-gmii-sel.c
331
static struct phy *phy_gmii_sel_of_xlate(struct device *dev,
drivers/phy/ti/phy-gmii-sel.c
44
struct phy *if_phy;
drivers/phy/ti/phy-gmii-sel.c
71
static int phy_gmii_sel_mode(struct phy *phy, enum phy_mode mode, int submode)
drivers/phy/ti/phy-gmii-sel.c
73
struct phy_gmii_sel_phy_priv *if_phy = phy_get_drvdata(phy);
drivers/phy/ti/phy-omap-usb2.c
104
struct omap_usb *phy;
drivers/phy/ti/phy-omap-usb2.c
110
phy = phy_to_omapusb(x);
drivers/phy/ti/phy-omap-usb2.c
111
phy->comparator = comparator;
drivers/phy/ti/phy-omap-usb2.c
118
struct omap_usb *phy = phy_to_omapusb(otg->usb_phy);
drivers/phy/ti/phy-omap-usb2.c
120
if (!phy->comparator || !phy->comparator->set_vbus)
drivers/phy/ti/phy-omap-usb2.c
123
return phy->comparator->set_vbus(phy->comparator, enabled);
drivers/phy/ti/phy-omap-usb2.c
128
struct omap_usb *phy = phy_to_omapusb(otg->usb_phy);
drivers/phy/ti/phy-omap-usb2.c
130
if (!phy->comparator || !phy->comparator->start_srp)
drivers/phy/ti/phy-omap-usb2.c
133
return phy->comparator->start_srp(phy->comparator);
drivers/phy/ti/phy-omap-usb2.c
155
static int omap_usb_phy_power(struct omap_usb *phy, int on)
drivers/phy/ti/phy-omap-usb2.c
160
if (!phy->syscon_phy_power) {
drivers/phy/ti/phy-omap-usb2.c
161
omap_control_phy_power(phy->control_dev, on);
drivers/phy/ti/phy-omap-usb2.c
166
val = phy->power_on;
drivers/phy/ti/phy-omap-usb2.c
168
val = phy->power_off;
drivers/phy/ti/phy-omap-usb2.c
170
ret = regmap_update_bits(phy->syscon_phy_power, phy->power_reg,
drivers/phy/ti/phy-omap-usb2.c
171
phy->mask, val);
drivers/phy/ti/phy-omap-usb2.c
175
static int omap_usb_power_off(struct phy *x)
drivers/phy/ti/phy-omap-usb2.c
177
struct omap_usb *phy = phy_get_drvdata(x);
drivers/phy/ti/phy-omap-usb2.c
179
return omap_usb_phy_power(phy, false);
drivers/phy/ti/phy-omap-usb2.c
182
static int omap_usb_power_on(struct phy *x)
drivers/phy/ti/phy-omap-usb2.c
184
struct omap_usb *phy = phy_get_drvdata(x);
drivers/phy/ti/phy-omap-usb2.c
186
return omap_usb_phy_power(phy, true);
drivers/phy/ti/phy-omap-usb2.c
189
static int omap_usb2_disable_clocks(struct omap_usb *phy)
drivers/phy/ti/phy-omap-usb2.c
191
clk_disable_unprepare(phy->wkupclk);
drivers/phy/ti/phy-omap-usb2.c
192
if (!IS_ERR(phy->optclk))
drivers/phy/ti/phy-omap-usb2.c
193
clk_disable_unprepare(phy->optclk);
drivers/phy/ti/phy-omap-usb2.c
198
static int omap_usb2_enable_clocks(struct omap_usb *phy)
drivers/phy/ti/phy-omap-usb2.c
202
ret = clk_prepare_enable(phy->wkupclk);
drivers/phy/ti/phy-omap-usb2.c
204
dev_err(phy->dev, "Failed to enable wkupclk %d\n", ret);
drivers/phy/ti/phy-omap-usb2.c
208
if (!IS_ERR(phy->optclk)) {
drivers/phy/ti/phy-omap-usb2.c
209
ret = clk_prepare_enable(phy->optclk);
drivers/phy/ti/phy-omap-usb2.c
211
dev_err(phy->dev, "Failed to enable optclk %d\n", ret);
drivers/phy/ti/phy-omap-usb2.c
219
clk_disable_unprepare(phy->wkupclk);
drivers/phy/ti/phy-omap-usb2.c
225
static int omap_usb_init(struct phy *x)
drivers/phy/ti/phy-omap-usb2.c
227
struct omap_usb *phy = phy_get_drvdata(x);
drivers/phy/ti/phy-omap-usb2.c
230
omap_usb2_enable_clocks(phy);
drivers/phy/ti/phy-omap-usb2.c
232
if (phy->flags & OMAP_USB2_CALIBRATE_FALSE_DISCONNECT) {
drivers/phy/ti/phy-omap-usb2.c
241
val = omap_usb_readl(phy->phy_base, USB2PHY_ANA_CONFIG1);
drivers/phy/ti/phy-omap-usb2.c
243
omap_usb_writel(phy->phy_base, USB2PHY_ANA_CONFIG1, val);
drivers/phy/ti/phy-omap-usb2.c
246
if (phy->flags & OMAP_USB2_DISABLE_CHRG_DET) {
drivers/phy/ti/phy-omap-usb2.c
247
val = omap_usb_readl(phy->phy_base, USB2PHY_CHRG_DET);
drivers/phy/ti/phy-omap-usb2.c
250
omap_usb_writel(phy->phy_base, USB2PHY_CHRG_DET, val);
drivers/phy/ti/phy-omap-usb2.c
256
static int omap_usb_exit(struct phy *x)
drivers/phy/ti/phy-omap-usb2.c
258
struct omap_usb *phy = phy_get_drvdata(x);
drivers/phy/ti/phy-omap-usb2.c
260
return omap_usb2_disable_clocks(phy);
drivers/phy/ti/phy-omap-usb2.c
346
static void omap_usb2_init_errata(struct omap_usb *phy)
drivers/phy/ti/phy-omap-usb2.c
363
phy->flags |= OMAP_USB2_DISABLE_CHRG_DET;
drivers/phy/ti/phy-omap-usb2.c
375
struct omap_usb *phy;
drivers/phy/ti/phy-omap-usb2.c
376
struct phy *generic_phy;
drivers/phy/ti/phy-omap-usb2.c
389
phy = devm_kzalloc(&pdev->dev, sizeof(*phy), GFP_KERNEL);
drivers/phy/ti/phy-omap-usb2.c
390
if (!phy)
drivers/phy/ti/phy-omap-usb2.c
397
phy->dev = &pdev->dev;
drivers/phy/ti/phy-omap-usb2.c
399
phy->phy.dev = phy->dev;
drivers/phy/ti/phy-omap-usb2.c
400
phy->phy.label = phy_data->label;
drivers/phy/ti/phy-omap-usb2.c
401
phy->phy.otg = otg;
drivers/phy/ti/phy-omap-usb2.c
402
phy->phy.type = USB_PHY_TYPE_USB2;
drivers/phy/ti/phy-omap-usb2.c
403
phy->mask = phy_data->mask;
drivers/phy/ti/phy-omap-usb2.c
404
phy->power_on = phy_data->power_on;
drivers/phy/ti/phy-omap-usb2.c
405
phy->power_off = phy_data->power_off;
drivers/phy/ti/phy-omap-usb2.c
406
phy->flags = phy_data->flags;
drivers/phy/ti/phy-omap-usb2.c
408
omap_usb2_init_errata(phy);
drivers/phy/ti/phy-omap-usb2.c
410
phy->phy_base = devm_platform_ioremap_resource(pdev, 0);
drivers/phy/ti/phy-omap-usb2.c
411
if (IS_ERR(phy->phy_base))
drivers/phy/ti/phy-omap-usb2.c
412
return PTR_ERR(phy->phy_base);
drivers/phy/ti/phy-omap-usb2.c
414
phy->syscon_phy_power = syscon_regmap_lookup_by_phandle(node,
drivers/phy/ti/phy-omap-usb2.c
416
if (IS_ERR(phy->syscon_phy_power)) {
drivers/phy/ti/phy-omap-usb2.c
419
phy->syscon_phy_power = NULL;
drivers/phy/ti/phy-omap-usb2.c
433
phy->control_dev = &control_pdev->dev;
drivers/phy/ti/phy-omap-usb2.c
436
phy->control_dev);
drivers/phy/ti/phy-omap-usb2.c
442
&phy->power_reg)) {
drivers/phy/ti/phy-omap-usb2.c
449
phy->wkupclk = devm_clk_get(phy->dev, "wkupclk");
drivers/phy/ti/phy-omap-usb2.c
450
if (IS_ERR(phy->wkupclk)) {
drivers/phy/ti/phy-omap-usb2.c
451
if (PTR_ERR(phy->wkupclk) == -EPROBE_DEFER)
drivers/phy/ti/phy-omap-usb2.c
455
PTR_ERR(phy->wkupclk));
drivers/phy/ti/phy-omap-usb2.c
456
phy->wkupclk = devm_clk_get(phy->dev, "usb_phy_cm_clk32k");
drivers/phy/ti/phy-omap-usb2.c
458
if (IS_ERR(phy->wkupclk))
drivers/phy/ti/phy-omap-usb2.c
459
return dev_err_probe(&pdev->dev, PTR_ERR(phy->wkupclk),
drivers/phy/ti/phy-omap-usb2.c
466
phy->optclk = devm_clk_get(phy->dev, "refclk");
drivers/phy/ti/phy-omap-usb2.c
467
if (IS_ERR(phy->optclk)) {
drivers/phy/ti/phy-omap-usb2.c
468
if (PTR_ERR(phy->optclk) == -EPROBE_DEFER)
drivers/phy/ti/phy-omap-usb2.c
472
phy->optclk = devm_clk_get(phy->dev, "usb_otg_ss_refclk960m");
drivers/phy/ti/phy-omap-usb2.c
474
if (IS_ERR(phy->optclk)) {
drivers/phy/ti/phy-omap-usb2.c
475
if (PTR_ERR(phy->optclk) != -EPROBE_DEFER) {
drivers/phy/ti/phy-omap-usb2.c
491
otg->usb_phy = &phy->phy;
drivers/phy/ti/phy-omap-usb2.c
493
platform_set_drvdata(pdev, phy);
drivers/phy/ti/phy-omap-usb2.c
494
pm_runtime_enable(phy->dev);
drivers/phy/ti/phy-omap-usb2.c
496
generic_phy = devm_phy_create(phy->dev, NULL, &ops);
drivers/phy/ti/phy-omap-usb2.c
498
pm_runtime_disable(phy->dev);
drivers/phy/ti/phy-omap-usb2.c
502
phy_set_drvdata(generic_phy, phy);
drivers/phy/ti/phy-omap-usb2.c
505
phy_provider = devm_of_phy_provider_register(phy->dev,
drivers/phy/ti/phy-omap-usb2.c
508
pm_runtime_disable(phy->dev);
drivers/phy/ti/phy-omap-usb2.c
512
usb_add_phy_dev(&phy->phy);
drivers/phy/ti/phy-omap-usb2.c
519
struct omap_usb *phy = platform_get_drvdata(pdev);
drivers/phy/ti/phy-omap-usb2.c
521
usb_remove_phy(&phy->phy);
drivers/phy/ti/phy-omap-usb2.c
522
pm_runtime_disable(phy->dev);
drivers/phy/ti/phy-omap-usb2.c
55
struct usb_phy phy;
drivers/phy/ti/phy-omap-usb2.c
71
#define phy_to_omapusb(x) container_of((x), struct omap_usb, phy)
drivers/phy/ti/phy-ti-pipe3.c
300
static struct pipe3_dpll_params *ti_pipe3_get_dpll_params(struct ti_pipe3 *phy)
drivers/phy/ti/phy-ti-pipe3.c
303
struct pipe3_dpll_map *dpll_map = phy->dpll_map;
drivers/phy/ti/phy-ti-pipe3.c
305
rate = clk_get_rate(phy->sys_clk);
drivers/phy/ti/phy-ti-pipe3.c
312
dev_err(phy->dev, "No DPLL configuration for %lu Hz SYS CLK\n", rate);
drivers/phy/ti/phy-ti-pipe3.c
317
static int ti_pipe3_enable_clocks(struct ti_pipe3 *phy);
drivers/phy/ti/phy-ti-pipe3.c
318
static void ti_pipe3_disable_clocks(struct ti_pipe3 *phy);
drivers/phy/ti/phy-ti-pipe3.c
320
static int ti_pipe3_power_off(struct phy *x)
drivers/phy/ti/phy-ti-pipe3.c
323
struct ti_pipe3 *phy = phy_get_drvdata(x);
drivers/phy/ti/phy-ti-pipe3.c
325
if (!phy->phy_power_syscon) {
drivers/phy/ti/phy-ti-pipe3.c
326
omap_control_phy_power(phy->control_dev, 0);
drivers/phy/ti/phy-ti-pipe3.c
330
ret = regmap_update_bits(phy->phy_power_syscon, phy->power_reg,
drivers/phy/ti/phy-ti-pipe3.c
335
static void ti_pipe3_calibrate(struct ti_pipe3 *phy);
drivers/phy/ti/phy-ti-pipe3.c
337
static int ti_pipe3_power_on(struct phy *x)
drivers/phy/ti/phy-ti-pipe3.c
342
struct ti_pipe3 *phy = phy_get_drvdata(x);
drivers/phy/ti/phy-ti-pipe3.c
345
if (!phy->phy_power_syscon) {
drivers/phy/ti/phy-ti-pipe3.c
346
omap_control_phy_power(phy->control_dev, 1);
drivers/phy/ti/phy-ti-pipe3.c
350
rate = clk_get_rate(phy->sys_clk);
drivers/phy/ti/phy-ti-pipe3.c
352
dev_err(phy->dev, "Invalid clock rate\n");
drivers/phy/ti/phy-ti-pipe3.c
358
regmap_update_bits(phy->phy_power_syscon, phy->power_reg,
drivers/phy/ti/phy-ti-pipe3.c
365
if (phy->mode == PIPE3_MODE_SATA || phy->mode == PIPE3_MODE_USBSS) {
drivers/phy/ti/phy-ti-pipe3.c
372
regmap_update_bits(phy->phy_power_syscon, phy->power_reg,
drivers/phy/ti/phy-ti-pipe3.c
377
regmap_update_bits(phy->phy_power_syscon, phy->power_reg,
drivers/phy/ti/phy-ti-pipe3.c
381
if (phy->mode == PIPE3_MODE_PCIE)
drivers/phy/ti/phy-ti-pipe3.c
382
ti_pipe3_calibrate(phy);
drivers/phy/ti/phy-ti-pipe3.c
387
static int ti_pipe3_dpll_wait_lock(struct ti_pipe3 *phy)
drivers/phy/ti/phy-ti-pipe3.c
395
val = ti_pipe3_readl(phy->pll_ctrl_base, PLL_STATUS);
drivers/phy/ti/phy-ti-pipe3.c
400
dev_err(phy->dev, "DPLL failed to lock\n");
drivers/phy/ti/phy-ti-pipe3.c
404
static int ti_pipe3_dpll_program(struct ti_pipe3 *phy)
drivers/phy/ti/phy-ti-pipe3.c
409
dpll_params = ti_pipe3_get_dpll_params(phy);
drivers/phy/ti/phy-ti-pipe3.c
413
val = ti_pipe3_readl(phy->pll_ctrl_base, PLL_CONFIGURATION1);
drivers/phy/ti/phy-ti-pipe3.c
416
ti_pipe3_writel(phy->pll_ctrl_base, PLL_CONFIGURATION1, val);
drivers/phy/ti/phy-ti-pipe3.c
418
val = ti_pipe3_readl(phy->pll_ctrl_base, PLL_CONFIGURATION2);
drivers/phy/ti/phy-ti-pipe3.c
421
ti_pipe3_writel(phy->pll_ctrl_base, PLL_CONFIGURATION2, val);
drivers/phy/ti/phy-ti-pipe3.c
423
val = ti_pipe3_readl(phy->pll_ctrl_base, PLL_CONFIGURATION1);
drivers/phy/ti/phy-ti-pipe3.c
426
ti_pipe3_writel(phy->pll_ctrl_base, PLL_CONFIGURATION1, val);
drivers/phy/ti/phy-ti-pipe3.c
428
val = ti_pipe3_readl(phy->pll_ctrl_base, PLL_CONFIGURATION4);
drivers/phy/ti/phy-ti-pipe3.c
431
ti_pipe3_writel(phy->pll_ctrl_base, PLL_CONFIGURATION4, val);
drivers/phy/ti/phy-ti-pipe3.c
433
val = ti_pipe3_readl(phy->pll_ctrl_base, PLL_CONFIGURATION3);
drivers/phy/ti/phy-ti-pipe3.c
436
ti_pipe3_writel(phy->pll_ctrl_base, PLL_CONFIGURATION3, val);
drivers/phy/ti/phy-ti-pipe3.c
438
ti_pipe3_writel(phy->pll_ctrl_base, PLL_GO, SET_PLL_GO);
drivers/phy/ti/phy-ti-pipe3.c
440
return ti_pipe3_dpll_wait_lock(phy);
drivers/phy/ti/phy-ti-pipe3.c
443
static void ti_pipe3_calibrate(struct ti_pipe3 *phy)
drivers/phy/ti/phy-ti-pipe3.c
446
struct pipe3_settings *s = &phy->settings;
drivers/phy/ti/phy-ti-pipe3.c
448
val = ti_pipe3_readl(phy->phy_rx, PIPE3_PHY_RX_ANA_PROGRAMMABILITY);
drivers/phy/ti/phy-ti-pipe3.c
451
ti_pipe3_writel(phy->phy_rx, PIPE3_PHY_RX_ANA_PROGRAMMABILITY, val);
drivers/phy/ti/phy-ti-pipe3.c
453
val = ti_pipe3_readl(phy->phy_rx, PIPE3_PHY_RX_DIGITAL_MODES);
drivers/phy/ti/phy-ti-pipe3.c
466
ti_pipe3_writel(phy->phy_rx, PIPE3_PHY_RX_DIGITAL_MODES, val);
drivers/phy/ti/phy-ti-pipe3.c
468
val = ti_pipe3_readl(phy->phy_rx, PIPE3_PHY_RX_TRIM);
drivers/phy/ti/phy-ti-pipe3.c
471
ti_pipe3_writel(phy->phy_rx, PIPE3_PHY_RX_TRIM, val);
drivers/phy/ti/phy-ti-pipe3.c
473
val = ti_pipe3_readl(phy->phy_rx, PIPE3_PHY_RX_DLL);
drivers/phy/ti/phy-ti-pipe3.c
476
ti_pipe3_writel(phy->phy_rx, PIPE3_PHY_RX_DLL, val);
drivers/phy/ti/phy-ti-pipe3.c
478
val = ti_pipe3_readl(phy->phy_rx, PIPE3_PHY_RX_EQUALIZER);
drivers/phy/ti/phy-ti-pipe3.c
486
ti_pipe3_writel(phy->phy_rx, PIPE3_PHY_RX_EQUALIZER, val);
drivers/phy/ti/phy-ti-pipe3.c
488
if (phy->mode == PIPE3_MODE_SATA) {
drivers/phy/ti/phy-ti-pipe3.c
489
val = ti_pipe3_readl(phy->phy_rx,
drivers/phy/ti/phy-ti-pipe3.c
492
ti_pipe3_writel(phy->phy_rx, SATA_PHY_RX_IO_AND_A2D_OVERRIDES,
drivers/phy/ti/phy-ti-pipe3.c
497
static int ti_pipe3_init(struct phy *x)
drivers/phy/ti/phy-ti-pipe3.c
499
struct ti_pipe3 *phy = phy_get_drvdata(x);
drivers/phy/ti/phy-ti-pipe3.c
503
ti_pipe3_enable_clocks(phy);
drivers/phy/ti/phy-ti-pipe3.c
509
if (phy->mode == PIPE3_MODE_PCIE) {
drivers/phy/ti/phy-ti-pipe3.c
510
if (!phy->pcs_syscon) {
drivers/phy/ti/phy-ti-pipe3.c
511
omap_control_pcie_pcs(phy->control_dev, 0x96);
drivers/phy/ti/phy-ti-pipe3.c
516
ret = regmap_update_bits(phy->pcs_syscon, phy->pcie_pcs_reg,
drivers/phy/ti/phy-ti-pipe3.c
522
val = ti_pipe3_readl(phy->pll_ctrl_base, PLL_CONFIGURATION2);
drivers/phy/ti/phy-ti-pipe3.c
525
ti_pipe3_writel(phy->pll_ctrl_base, PLL_CONFIGURATION2, val);
drivers/phy/ti/phy-ti-pipe3.c
526
ret = ti_pipe3_dpll_wait_lock(phy);
drivers/phy/ti/phy-ti-pipe3.c
530
val = ti_pipe3_readl(phy->pll_ctrl_base, PLL_STATUS);
drivers/phy/ti/phy-ti-pipe3.c
531
if ((val & PLL_LOCK) && phy->mode == PIPE3_MODE_SATA)
drivers/phy/ti/phy-ti-pipe3.c
535
ret = ti_pipe3_dpll_program(phy);
drivers/phy/ti/phy-ti-pipe3.c
537
ti_pipe3_disable_clocks(phy);
drivers/phy/ti/phy-ti-pipe3.c
541
ti_pipe3_calibrate(phy);
drivers/phy/ti/phy-ti-pipe3.c
546
static int ti_pipe3_exit(struct phy *x)
drivers/phy/ti/phy-ti-pipe3.c
548
struct ti_pipe3 *phy = phy_get_drvdata(x);
drivers/phy/ti/phy-ti-pipe3.c
555
if (phy->mode == PIPE3_MODE_SATA && !phy->dpll_reset_syscon)
drivers/phy/ti/phy-ti-pipe3.c
559
if (phy->mode != PIPE3_MODE_PCIE) {
drivers/phy/ti/phy-ti-pipe3.c
561
val = ti_pipe3_readl(phy->pll_ctrl_base, PLL_CONFIGURATION2);
drivers/phy/ti/phy-ti-pipe3.c
563
ti_pipe3_writel(phy->pll_ctrl_base, PLL_CONFIGURATION2, val);
drivers/phy/ti/phy-ti-pipe3.c
569
val = ti_pipe3_readl(phy->pll_ctrl_base, PLL_STATUS);
drivers/phy/ti/phy-ti-pipe3.c
575
dev_err(phy->dev, "Failed to power down: PLL_STATUS 0x%x\n",
drivers/phy/ti/phy-ti-pipe3.c
582
if (phy->mode == PIPE3_MODE_SATA) {
drivers/phy/ti/phy-ti-pipe3.c
583
regmap_update_bits(phy->dpll_reset_syscon, phy->dpll_reset_reg,
drivers/phy/ti/phy-ti-pipe3.c
585
regmap_update_bits(phy->dpll_reset_syscon, phy->dpll_reset_reg,
drivers/phy/ti/phy-ti-pipe3.c
589
ti_pipe3_disable_clocks(phy);
drivers/phy/ti/phy-ti-pipe3.c
603
static int ti_pipe3_get_clk(struct ti_pipe3 *phy)
drivers/phy/ti/phy-ti-pipe3.c
606
struct device *dev = phy->dev;
drivers/phy/ti/phy-ti-pipe3.c
608
phy->refclk = devm_clk_get(dev, "refclk");
drivers/phy/ti/phy-ti-pipe3.c
609
if (IS_ERR(phy->refclk)) {
drivers/phy/ti/phy-ti-pipe3.c
614
if (phy->mode != PIPE3_MODE_SATA)
drivers/phy/ti/phy-ti-pipe3.c
615
return PTR_ERR(phy->refclk);
drivers/phy/ti/phy-ti-pipe3.c
618
if (phy->mode != PIPE3_MODE_SATA) {
drivers/phy/ti/phy-ti-pipe3.c
619
phy->wkupclk = devm_clk_get(dev, "wkupclk");
drivers/phy/ti/phy-ti-pipe3.c
620
if (IS_ERR(phy->wkupclk)) {
drivers/phy/ti/phy-ti-pipe3.c
622
return PTR_ERR(phy->wkupclk);
drivers/phy/ti/phy-ti-pipe3.c
625
phy->wkupclk = ERR_PTR(-ENODEV);
drivers/phy/ti/phy-ti-pipe3.c
628
if (phy->mode != PIPE3_MODE_PCIE || phy->phy_power_syscon) {
drivers/phy/ti/phy-ti-pipe3.c
629
phy->sys_clk = devm_clk_get(dev, "sysclk");
drivers/phy/ti/phy-ti-pipe3.c
630
if (IS_ERR(phy->sys_clk)) {
drivers/phy/ti/phy-ti-pipe3.c
636
if (phy->mode == PIPE3_MODE_PCIE) {
drivers/phy/ti/phy-ti-pipe3.c
658
phy->div_clk = devm_clk_get(dev, "div-clk");
drivers/phy/ti/phy-ti-pipe3.c
659
if (IS_ERR(phy->div_clk)) {
drivers/phy/ti/phy-ti-pipe3.c
661
return PTR_ERR(phy->div_clk);
drivers/phy/ti/phy-ti-pipe3.c
664
phy->div_clk = ERR_PTR(-ENODEV);
drivers/phy/ti/phy-ti-pipe3.c
677
static int ti_pipe3_get_sysctrl(struct ti_pipe3 *phy)
drivers/phy/ti/phy-ti-pipe3.c
679
struct device *dev = phy->dev;
drivers/phy/ti/phy-ti-pipe3.c
685
phy->phy_power_syscon = syscon_regmap_lookup_by_phandle(node,
drivers/phy/ti/phy-ti-pipe3.c
687
if (IS_ERR(phy->phy_power_syscon)) {
drivers/phy/ti/phy-ti-pipe3.c
690
phy->phy_power_syscon = NULL;
drivers/phy/ti/phy-ti-pipe3.c
694
&phy->power_reg)) {
drivers/phy/ti/phy-ti-pipe3.c
700
if (!phy->phy_power_syscon) {
drivers/phy/ti/phy-ti-pipe3.c
714
phy->control_dev = &control_pdev->dev;
drivers/phy/ti/phy-ti-pipe3.c
717
phy->control_dev);
drivers/phy/ti/phy-ti-pipe3.c
722
if (phy->mode == PIPE3_MODE_PCIE) {
drivers/phy/ti/phy-ti-pipe3.c
723
phy->pcs_syscon = syscon_regmap_lookup_by_phandle(node,
drivers/phy/ti/phy-ti-pipe3.c
725
if (IS_ERR(phy->pcs_syscon)) {
drivers/phy/ti/phy-ti-pipe3.c
728
phy->pcs_syscon = NULL;
drivers/phy/ti/phy-ti-pipe3.c
732
&phy->pcie_pcs_reg)) {
drivers/phy/ti/phy-ti-pipe3.c
740
if (phy->mode == PIPE3_MODE_SATA) {
drivers/phy/ti/phy-ti-pipe3.c
741
phy->dpll_reset_syscon = syscon_regmap_lookup_by_phandle(node,
drivers/phy/ti/phy-ti-pipe3.c
743
if (IS_ERR(phy->dpll_reset_syscon)) {
drivers/phy/ti/phy-ti-pipe3.c
746
phy->dpll_reset_syscon = NULL;
drivers/phy/ti/phy-ti-pipe3.c
750
&phy->dpll_reset_reg)) {
drivers/phy/ti/phy-ti-pipe3.c
761
static int ti_pipe3_get_tx_rx_base(struct ti_pipe3 *phy)
drivers/phy/ti/phy-ti-pipe3.c
763
struct device *dev = phy->dev;
drivers/phy/ti/phy-ti-pipe3.c
766
phy->phy_rx = devm_platform_ioremap_resource_byname(pdev, "phy_rx");
drivers/phy/ti/phy-ti-pipe3.c
767
if (IS_ERR(phy->phy_rx))
drivers/phy/ti/phy-ti-pipe3.c
768
return PTR_ERR(phy->phy_rx);
drivers/phy/ti/phy-ti-pipe3.c
770
phy->phy_tx = devm_platform_ioremap_resource_byname(pdev, "phy_tx");
drivers/phy/ti/phy-ti-pipe3.c
772
return PTR_ERR_OR_ZERO(phy->phy_tx);
drivers/phy/ti/phy-ti-pipe3.c
775
static int ti_pipe3_get_pll_base(struct ti_pipe3 *phy)
drivers/phy/ti/phy-ti-pipe3.c
777
struct device *dev = phy->dev;
drivers/phy/ti/phy-ti-pipe3.c
780
if (phy->mode == PIPE3_MODE_PCIE)
drivers/phy/ti/phy-ti-pipe3.c
783
phy->pll_ctrl_base =
drivers/phy/ti/phy-ti-pipe3.c
785
return PTR_ERR_OR_ZERO(phy->pll_ctrl_base);
drivers/phy/ti/phy-ti-pipe3.c
790
struct ti_pipe3 *phy;
drivers/phy/ti/phy-ti-pipe3.c
791
struct phy *generic_phy;
drivers/phy/ti/phy-ti-pipe3.c
797
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
drivers/phy/ti/phy-ti-pipe3.c
798
if (!phy)
drivers/phy/ti/phy-ti-pipe3.c
805
phy->dev = dev;
drivers/phy/ti/phy-ti-pipe3.c
806
phy->mode = data->mode;
drivers/phy/ti/phy-ti-pipe3.c
807
phy->dpll_map = data->dpll_map;
drivers/phy/ti/phy-ti-pipe3.c
808
phy->settings = data->settings;
drivers/phy/ti/phy-ti-pipe3.c
810
ret = ti_pipe3_get_pll_base(phy);
drivers/phy/ti/phy-ti-pipe3.c
814
ret = ti_pipe3_get_tx_rx_base(phy);
drivers/phy/ti/phy-ti-pipe3.c
818
ret = ti_pipe3_get_sysctrl(phy);
drivers/phy/ti/phy-ti-pipe3.c
822
ret = ti_pipe3_get_clk(phy);
drivers/phy/ti/phy-ti-pipe3.c
826
platform_set_drvdata(pdev, phy);
drivers/phy/ti/phy-ti-pipe3.c
832
if (phy->mode == PIPE3_MODE_SATA) {
drivers/phy/ti/phy-ti-pipe3.c
833
if (!IS_ERR(phy->refclk)) {
drivers/phy/ti/phy-ti-pipe3.c
834
clk_prepare_enable(phy->refclk);
drivers/phy/ti/phy-ti-pipe3.c
835
phy->sata_refclk_enabled = true;
drivers/phy/ti/phy-ti-pipe3.c
843
phy_set_drvdata(generic_phy, phy);
drivers/phy/ti/phy-ti-pipe3.c
853
struct ti_pipe3 *phy = platform_get_drvdata(pdev);
drivers/phy/ti/phy-ti-pipe3.c
855
if (phy->mode == PIPE3_MODE_SATA) {
drivers/phy/ti/phy-ti-pipe3.c
856
clk_disable_unprepare(phy->refclk);
drivers/phy/ti/phy-ti-pipe3.c
857
phy->sata_refclk_enabled = false;
drivers/phy/ti/phy-ti-pipe3.c
862
static int ti_pipe3_enable_clocks(struct ti_pipe3 *phy)
drivers/phy/ti/phy-ti-pipe3.c
866
if (!IS_ERR(phy->refclk)) {
drivers/phy/ti/phy-ti-pipe3.c
867
ret = clk_prepare_enable(phy->refclk);
drivers/phy/ti/phy-ti-pipe3.c
869
dev_err(phy->dev, "Failed to enable refclk %d\n", ret);
drivers/phy/ti/phy-ti-pipe3.c
874
if (!IS_ERR(phy->wkupclk)) {
drivers/phy/ti/phy-ti-pipe3.c
875
ret = clk_prepare_enable(phy->wkupclk);
drivers/phy/ti/phy-ti-pipe3.c
877
dev_err(phy->dev, "Failed to enable wkupclk %d\n", ret);
drivers/phy/ti/phy-ti-pipe3.c
882
if (!IS_ERR(phy->div_clk)) {
drivers/phy/ti/phy-ti-pipe3.c
883
ret = clk_prepare_enable(phy->div_clk);
drivers/phy/ti/phy-ti-pipe3.c
885
dev_err(phy->dev, "Failed to enable div_clk %d\n", ret);
drivers/phy/ti/phy-ti-pipe3.c
893
if (!IS_ERR(phy->wkupclk))
drivers/phy/ti/phy-ti-pipe3.c
894
clk_disable_unprepare(phy->wkupclk);
drivers/phy/ti/phy-ti-pipe3.c
897
if (!IS_ERR(phy->refclk))
drivers/phy/ti/phy-ti-pipe3.c
898
clk_disable_unprepare(phy->refclk);
drivers/phy/ti/phy-ti-pipe3.c
903
static void ti_pipe3_disable_clocks(struct ti_pipe3 *phy)
drivers/phy/ti/phy-ti-pipe3.c
905
if (!IS_ERR(phy->wkupclk))
drivers/phy/ti/phy-ti-pipe3.c
906
clk_disable_unprepare(phy->wkupclk);
drivers/phy/ti/phy-ti-pipe3.c
907
if (!IS_ERR(phy->refclk))
drivers/phy/ti/phy-ti-pipe3.c
908
clk_disable_unprepare(phy->refclk);
drivers/phy/ti/phy-ti-pipe3.c
909
if (!IS_ERR(phy->div_clk))
drivers/phy/ti/phy-ti-pipe3.c
910
clk_disable_unprepare(phy->div_clk);
drivers/phy/ti/phy-tusb1210.c
103
static int tusb1210_power_on(struct phy *phy)
drivers/phy/ti/phy-tusb1210.c
105
struct tusb1210 *tusb = phy_get_drvdata(phy);
drivers/phy/ti/phy-tusb1210.c
118
static int tusb1210_power_off(struct phy *phy)
drivers/phy/ti/phy-tusb1210.c
120
struct tusb1210 *tusb = phy_get_drvdata(phy);
drivers/phy/ti/phy-tusb1210.c
128
static int tusb1210_set_mode(struct phy *phy, enum phy_mode mode, int submode)
drivers/phy/ti/phy-tusb1210.c
130
struct tusb1210 *tusb = phy_get_drvdata(phy);
drivers/phy/ti/phy-tusb1210.c
288
mutex_lock(&tusb->phy->mutex);
drivers/phy/ti/phy-tusb1210.c
291
mutex_unlock(&tusb->phy->mutex);
drivers/phy/ti/phy-tusb1210.c
301
mutex_lock(&tusb->phy->mutex);
drivers/phy/ti/phy-tusb1210.c
303
mutex_unlock(&tusb->phy->mutex);
drivers/phy/ti/phy-tusb1210.c
317
mutex_lock(&tusb->phy->mutex);
drivers/phy/ti/phy-tusb1210.c
342
mutex_unlock(&tusb->phy->mutex);
drivers/phy/ti/phy-tusb1210.c
542
tusb->phy = ulpi_phy_create(ulpi, &phy_ops);
drivers/phy/ti/phy-tusb1210.c
543
if (IS_ERR(tusb->phy)) {
drivers/phy/ti/phy-tusb1210.c
544
ret = PTR_ERR(tusb->phy);
drivers/phy/ti/phy-tusb1210.c
548
phy_set_drvdata(tusb->phy, tusb);
drivers/phy/ti/phy-tusb1210.c
561
ulpi_phy_destroy(ulpi, tusb->phy);
drivers/phy/ti/phy-tusb1210.c
60
struct phy *phy;
drivers/phy/ti/phy-twl4030-usb.c
147
struct usb_phy phy;
drivers/phy/ti/phy-twl4030-usb.c
173
#define phy_to_twl(x) container_of((x), struct twl4030_usb, phy)
drivers/phy/ti/phy-twl4030-usb.c
492
static int twl4030_phy_power_off(struct phy *phy)
drivers/phy/ti/phy-twl4030-usb.c
494
struct twl4030_usb *twl = phy_get_drvdata(phy);
drivers/phy/ti/phy-twl4030-usb.c
501
static int twl4030_phy_power_on(struct phy *phy)
drivers/phy/ti/phy-twl4030-usb.c
503
struct twl4030_usb *twl = phy_get_drvdata(phy);
drivers/phy/ti/phy-twl4030-usb.c
632
static int twl4030_phy_init(struct phy *phy)
drivers/phy/ti/phy-twl4030-usb.c
634
struct twl4030_usb *twl = phy_get_drvdata(phy);
drivers/phy/ti/phy-twl4030-usb.c
687
struct phy *phy;
drivers/phy/ti/phy-twl4030-usb.c
717
twl->phy.dev = twl->dev;
drivers/phy/ti/phy-twl4030-usb.c
718
twl->phy.label = "twl4030";
drivers/phy/ti/phy-twl4030-usb.c
719
twl->phy.otg = otg;
drivers/phy/ti/phy-twl4030-usb.c
720
twl->phy.type = USB_PHY_TYPE_USB2;
drivers/phy/ti/phy-twl4030-usb.c
722
otg->usb_phy = &twl->phy;
drivers/phy/ti/phy-twl4030-usb.c
726
phy = devm_phy_create(twl->dev, NULL, &ops);
drivers/phy/ti/phy-twl4030-usb.c
727
if (IS_ERR(phy)) {
drivers/phy/ti/phy-twl4030-usb.c
729
return PTR_ERR(phy);
drivers/phy/ti/phy-twl4030-usb.c
732
phy_set_drvdata(phy, twl);
drivers/phy/ti/phy-twl4030-usb.c
749
usb_add_phy_dev(&twl->phy);
drivers/phy/ti/phy-twl4030-usb.c
755
ATOMIC_INIT_NOTIFIER_HEAD(&twl->phy.notifier);
drivers/phy/ti/phy-twl4030-usb.c
780
err = phy_create_lookup(phy, "usb", "musb-hdrc.0");
drivers/phy/ti/phy-twl4030-usb.c
795
usb_remove_phy(&twl->phy);
drivers/phy/xilinx/phy-zynqmp.c
1018
struct phy *phy;
drivers/phy/xilinx/phy-zynqmp.c
1023
phy = devm_phy_create(&pdev->dev, np, &xpsgtr_phyops);
drivers/phy/xilinx/phy-zynqmp.c
1024
if (IS_ERR(phy)) {
drivers/phy/xilinx/phy-zynqmp.c
1026
return PTR_ERR(phy);
drivers/phy/xilinx/phy-zynqmp.c
1029
gtr_phy->phy = phy;
drivers/phy/xilinx/phy-zynqmp.c
1030
phy_set_drvdata(phy, gtr_phy);
drivers/phy/xilinx/phy-zynqmp.c
1031
debugfs_create_devm_seqfile(&phy->dev, "status", phy->debugfs,
drivers/phy/xilinx/phy-zynqmp.c
209
struct phy *phy;
drivers/phy/xilinx/phy-zynqmp.c
346
static int xpsgtr_wait_pll_lock(struct phy *phy)
drivers/phy/xilinx/phy-zynqmp.c
348
struct xpsgtr_phy *gtr_phy = phy_get_drvdata(phy);
drivers/phy/xilinx/phy-zynqmp.c
657
static int xpsgtr_phy_init(struct phy *phy)
drivers/phy/xilinx/phy-zynqmp.c
659
struct xpsgtr_phy *gtr_phy = phy_get_drvdata(phy);
drivers/phy/xilinx/phy-zynqmp.c
713
static int xpsgtr_phy_exit(struct phy *phy)
drivers/phy/xilinx/phy-zynqmp.c
715
struct xpsgtr_phy *gtr_phy = phy_get_drvdata(phy);
drivers/phy/xilinx/phy-zynqmp.c
726
static int xpsgtr_phy_power_on(struct phy *phy)
drivers/phy/xilinx/phy-zynqmp.c
728
struct xpsgtr_phy *gtr_phy = phy_get_drvdata(phy);
drivers/phy/xilinx/phy-zynqmp.c
734
return xpsgtr_wait_pll_lock(phy);
drivers/phy/xilinx/phy-zynqmp.c
737
static int xpsgtr_phy_configure(struct phy *phy, union phy_configure_opts *opts)
drivers/phy/xilinx/phy-zynqmp.c
739
struct xpsgtr_phy *gtr_phy = phy_get_drvdata(phy);
drivers/phy/xilinx/phy-zynqmp.c
817
static struct phy *xpsgtr_xlate(struct device *dev,
drivers/phy/xilinx/phy-zynqmp.c
848
guard(mutex)(&gtr_phy->phy->mutex);
drivers/phy/xilinx/phy-zynqmp.c
869
return gtr_phy->phy;
drivers/phy/xilinx/phy-zynqmp.c
886
mutex_lock(&gtr_phy->phy->mutex);
drivers/phy/xilinx/phy-zynqmp.c
899
mutex_unlock(&gtr_phy->phy->mutex);
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
532
static int tegra_xusb_phy_init(struct phy *phy)
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
534
struct tegra_xusb_padctl *padctl = phy_get_drvdata(phy);
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
541
static int tegra_xusb_phy_exit(struct phy *phy)
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
543
struct tegra_xusb_padctl *padctl = phy_get_drvdata(phy);
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
550
static int pcie_phy_power_on(struct phy *phy)
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
552
struct tegra_xusb_padctl *padctl = phy_get_drvdata(phy);
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
586
static int pcie_phy_power_off(struct phy *phy)
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
588
struct tegra_xusb_padctl *padctl = phy_get_drvdata(phy);
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
606
static int sata_phy_power_on(struct phy *phy)
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
608
struct tegra_xusb_padctl *padctl = phy_get_drvdata(phy);
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
646
static int sata_phy_power_off(struct phy *phy)
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
648
struct tegra_xusb_padctl *padctl = phy_get_drvdata(phy);
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
680
static struct phy *tegra_xusb_padctl_xlate(struct device *dev,
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
872
struct phy *phy;
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
91
struct phy *phys[2];
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
921
phy = devm_phy_create(&pdev->dev, NULL, &pcie_phy_ops);
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
922
if (IS_ERR(phy)) {
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
923
err = PTR_ERR(phy);
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
927
padctl->phys[TEGRA_XUSB_PADCTL_PCIE] = phy;
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
928
phy_set_drvdata(phy, padctl);
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
930
phy = devm_phy_create(&pdev->dev, NULL, &sata_phy_ops);
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
931
if (IS_ERR(phy)) {
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
932
err = PTR_ERR(phy);
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
936
padctl->phys[TEGRA_XUSB_PADCTL_SATA] = phy;
drivers/pinctrl/tegra/pinctrl-tegra-xusb.c
937
phy_set_drvdata(phy, padctl);
drivers/power/supply/isp1704_charger.c
231
switch (isp->phy->last_event) {
drivers/power/supply/isp1704_charger.c
249
if (isp->phy->otg->gadget)
drivers/power/supply/isp1704_charger.c
250
usb_gadget_connect(isp->phy->otg->gadget);
drivers/power/supply/isp1704_charger.c
279
if (isp->phy->otg->gadget)
drivers/power/supply/isp1704_charger.c
280
usb_gadget_disconnect(isp->phy->otg->gadget);
drivers/power/supply/isp1704_charger.c
399
isp->phy = devm_usb_get_phy_by_phandle(&pdev->dev, "usb-phy", 0);
drivers/power/supply/isp1704_charger.c
401
isp->phy = devm_usb_get_phy(&pdev->dev, USB_PHY_TYPE_USB2);
drivers/power/supply/isp1704_charger.c
403
if (IS_ERR(isp->phy)) {
drivers/power/supply/isp1704_charger.c
404
ret = PTR_ERR(isp->phy);
drivers/power/supply/isp1704_charger.c
443
ret = usb_register_notifier(isp->phy, &isp->nb);
drivers/power/supply/isp1704_charger.c
458
if (isp->phy->otg->gadget)
drivers/power/supply/isp1704_charger.c
459
usb_gadget_disconnect(isp->phy->otg->gadget);
drivers/power/supply/isp1704_charger.c
461
if (isp->phy->last_event == USB_EVENT_NONE)
drivers/power/supply/isp1704_charger.c
465
if (isp->phy->last_event == USB_EVENT_VBUS &&
drivers/power/supply/isp1704_charger.c
466
!isp->phy->otg->default_a)
drivers/power/supply/isp1704_charger.c
484
usb_unregister_notifier(isp->phy, &isp->nb);
drivers/power/supply/isp1704_charger.c
50
struct usb_phy *phy;
drivers/power/supply/isp1704_charger.c
63
return usb_phy_io_read(isp->phy, reg);
drivers/power/supply/isp1704_charger.c
68
return usb_phy_io_write(isp->phy, val, reg);
drivers/scsi/aic94xx/aic94xx.h
73
int asd_control_phy(struct asd_sas_phy *phy, enum phy_func func, void *arg);
drivers/scsi/aic94xx/aic94xx_dump.c
739
void asd_dump_frame_rcvd(struct asd_phy *phy,
drivers/scsi/aic94xx/aic94xx_dump.c
754
spin_lock_irqsave(&phy->sas_phy.frame_rcvd_lock, flags);
drivers/scsi/aic94xx/aic94xx_dump.c
755
for (i = 0; i < phy->sas_phy.frame_rcvd_size; i+=4)
drivers/scsi/aic94xx/aic94xx_dump.c
758
phy->frame_rcvd[i],
drivers/scsi/aic94xx/aic94xx_dump.c
759
phy->frame_rcvd[i+1],
drivers/scsi/aic94xx/aic94xx_dump.c
760
phy->frame_rcvd[i+2],
drivers/scsi/aic94xx/aic94xx_dump.c
761
phy->frame_rcvd[i+3]);
drivers/scsi/aic94xx/aic94xx_dump.c
762
spin_unlock_irqrestore(&phy->sas_phy.frame_rcvd_lock, flags);
drivers/scsi/aic94xx/aic94xx_dump.h
15
void asd_dump_frame_rcvd(struct asd_phy *phy,
drivers/scsi/aic94xx/aic94xx_dump.h
21
static inline void asd_dump_frame_rcvd(struct asd_phy *phy,
drivers/scsi/aic94xx/aic94xx_hwi.c
116
struct asd_phy *phy = &asd_ha->phys[i];
drivers/scsi/aic94xx/aic94xx_hwi.c
118
phy->phy_desc = &asd_ha->hw_prof.phy_desc[i];
drivers/scsi/aic94xx/aic94xx_hwi.c
119
phy->asd_port = NULL;
drivers/scsi/aic94xx/aic94xx_hwi.c
121
phy->sas_phy.enabled = 0;
drivers/scsi/aic94xx/aic94xx_hwi.c
122
phy->sas_phy.id = i;
drivers/scsi/aic94xx/aic94xx_hwi.c
123
phy->sas_phy.sas_addr = &phy->phy_desc->sas_addr[0];
drivers/scsi/aic94xx/aic94xx_hwi.c
124
phy->sas_phy.frame_rcvd = &phy->frame_rcvd[0];
drivers/scsi/aic94xx/aic94xx_hwi.c
125
phy->sas_phy.ha = &asd_ha->sas_ha;
drivers/scsi/aic94xx/aic94xx_hwi.c
126
phy->sas_phy.lldd_phy = phy;
drivers/scsi/aic94xx/aic94xx_hwi.c
1302
struct asd_phy *phy = &asd_ha->phys[phy_id];
drivers/scsi/aic94xx/aic94xx_hwi.c
1311
phy->phy_desc->phy_control_0);
drivers/scsi/aic94xx/aic94xx_hwi.c
1313
phy->phy_desc->phy_control_1);
drivers/scsi/aic94xx/aic94xx_hwi.c
1315
phy->phy_desc->phy_control_2);
drivers/scsi/aic94xx/aic94xx_hwi.c
1317
phy->phy_desc->phy_control_3);
drivers/scsi/aic94xx/aic94xx_hwi.c
1323
phy->id_frm_tok->dma_handle);
drivers/scsi/aic94xx/aic94xx_hwi.c
53
static void asd_init_phy_identify(struct asd_phy *phy)
drivers/scsi/aic94xx/aic94xx_hwi.c
55
phy->identify_frame = phy->id_frm_tok->vaddr;
drivers/scsi/aic94xx/aic94xx_hwi.c
57
memset(phy->identify_frame, 0, sizeof(*phy->identify_frame));
drivers/scsi/aic94xx/aic94xx_hwi.c
59
phy->identify_frame->dev_type = SAS_END_DEVICE;
drivers/scsi/aic94xx/aic94xx_hwi.c
60
if (phy->sas_phy.role & PHY_ROLE_INITIATOR)
drivers/scsi/aic94xx/aic94xx_hwi.c
61
phy->identify_frame->initiator_bits = phy->sas_phy.iproto;
drivers/scsi/aic94xx/aic94xx_hwi.c
62
if (phy->sas_phy.role & PHY_ROLE_TARGET)
drivers/scsi/aic94xx/aic94xx_hwi.c
63
phy->identify_frame->target_bits = phy->sas_phy.tproto;
drivers/scsi/aic94xx/aic94xx_hwi.c
64
memcpy(phy->identify_frame->sas_addr, phy->phy_desc->sas_addr,
drivers/scsi/aic94xx/aic94xx_hwi.c
66
phy->identify_frame->phy_id = phy->sas_phy.id;
drivers/scsi/aic94xx/aic94xx_hwi.c
69
static int asd_init_phy(struct asd_phy *phy)
drivers/scsi/aic94xx/aic94xx_hwi.c
71
struct asd_ha_struct *asd_ha = phy->sas_phy.ha->lldd_ha;
drivers/scsi/aic94xx/aic94xx_hwi.c
72
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/aic94xx/aic94xx_hwi.c
81
phy->id_frm_tok = asd_alloc_coherent(asd_ha,
drivers/scsi/aic94xx/aic94xx_hwi.c
82
sizeof(*phy->identify_frame),
drivers/scsi/aic94xx/aic94xx_hwi.c
84
if (!phy->id_frm_tok) {
drivers/scsi/aic94xx/aic94xx_hwi.c
88
asd_init_phy_identify(phy);
drivers/scsi/aic94xx/aic94xx_hwi.c
90
memset(phy->frame_rcvd, 0, sizeof(phy->frame_rcvd));
drivers/scsi/aic94xx/aic94xx_init.c
563
struct asd_phy *phy = &asd_ha->phys[i];
drivers/scsi/aic94xx/aic94xx_init.c
565
asd_free_coherent(asd_ha, phy->id_frm_tok);
drivers/scsi/aic94xx/aic94xx_scb.c
105
sas_phy_disconnected(&phy->sas_phy);
drivers/scsi/aic94xx/aic94xx_scb.c
106
sas_notify_phy_event(&phy->sas_phy, PHYE_OOB_ERROR, GFP_ATOMIC);
drivers/scsi/aic94xx/aic94xx_scb.c
112
static unsigned ord_phy(struct asd_ha_struct *asd_ha, struct asd_phy *phy)
drivers/scsi/aic94xx/aic94xx_scb.c
118
if (&asd_ha->phys[i] == phy)
drivers/scsi/aic94xx/aic94xx_scb.c
137
static void asd_get_attached_sas_addr(struct asd_phy *phy, u8 *sas_addr)
drivers/scsi/aic94xx/aic94xx_scb.c
139
if (phy->sas_phy.frame_rcvd[0] == 0x34
drivers/scsi/aic94xx/aic94xx_scb.c
140
&& phy->sas_phy.oob_mode == SATA_OOB_MODE) {
drivers/scsi/aic94xx/aic94xx_scb.c
141
struct asd_ha_struct *asd_ha = phy->sas_phy.ha->lldd_ha;
drivers/scsi/aic94xx/aic94xx_scb.c
143
u64 addr = be64_to_cpu(*(__be64 *)phy->phy_desc->sas_addr);
drivers/scsi/aic94xx/aic94xx_scb.c
145
addr += asd_ha->hw_prof.sata_name_base + ord_phy(asd_ha, phy);
drivers/scsi/aic94xx/aic94xx_scb.c
149
(void *) phy->sas_phy.frame_rcvd;
drivers/scsi/aic94xx/aic94xx_scb.c
154
static void asd_form_port(struct asd_ha_struct *asd_ha, struct asd_phy *phy)
drivers/scsi/aic94xx/aic94xx_scb.c
159
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/aic94xx/aic94xx_scb.c
163
if (!phy->asd_port) {
drivers/scsi/aic94xx/aic94xx_scb.c
195
phy->asd_port = port;
drivers/scsi/aic94xx/aic94xx_scb.c
198
__func__, phy->asd_port->phy_mask, sas_phy->id);
drivers/scsi/aic94xx/aic94xx_scb.c
199
asd_update_port_links(asd_ha, phy);
drivers/scsi/aic94xx/aic94xx_scb.c
203
static void asd_deform_port(struct asd_ha_struct *asd_ha, struct asd_phy *phy)
drivers/scsi/aic94xx/aic94xx_scb.c
205
struct asd_port *port = phy->asd_port;
drivers/scsi/aic94xx/aic94xx_scb.c
206
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/aic94xx/aic94xx_scb.c
213
phy->asd_port = NULL;
drivers/scsi/aic94xx/aic94xx_scb.c
225
struct asd_phy *phy = &ascb->ha->phys[phy_id];
drivers/scsi/aic94xx/aic94xx_scb.c
228
size = min(size, (u16) sizeof(phy->frame_rcvd));
drivers/scsi/aic94xx/aic94xx_scb.c
230
spin_lock_irqsave(&phy->sas_phy.frame_rcvd_lock, flags);
drivers/scsi/aic94xx/aic94xx_scb.c
231
memcpy(phy->sas_phy.frame_rcvd, edb->vaddr, size);
drivers/scsi/aic94xx/aic94xx_scb.c
232
phy->sas_phy.frame_rcvd_size = size;
drivers/scsi/aic94xx/aic94xx_scb.c
233
asd_get_attached_sas_addr(phy, phy->sas_phy.attached_sas_addr);
drivers/scsi/aic94xx/aic94xx_scb.c
234
spin_unlock_irqrestore(&phy->sas_phy.frame_rcvd_lock, flags);
drivers/scsi/aic94xx/aic94xx_scb.c
235
asd_dump_frame_rcvd(phy, dl);
drivers/scsi/aic94xx/aic94xx_scb.c
236
asd_form_port(ascb->ha, phy);
drivers/scsi/aic94xx/aic94xx_scb.c
237
sas_notify_port_event(&phy->sas_phy, PORTE_BYTES_DMAED, GFP_ATOMIC);
drivers/scsi/aic94xx/aic94xx_scb.c
247
struct asd_phy *phy = &asd_ha->phys[phy_id];
drivers/scsi/aic94xx/aic94xx_scb.c
272
asd_deform_port(asd_ha, phy);
drivers/scsi/aic94xx/aic94xx_scb.c
301
struct asd_phy *phy = &asd_ha->phys[phy_id];
drivers/scsi/aic94xx/aic94xx_scb.c
339
asd_deform_port(asd_ha, phy);
drivers/scsi/aic94xx/aic94xx_scb.c
36
static void get_lrate_mode(struct asd_phy *phy, u8 oob_mode)
drivers/scsi/aic94xx/aic94xx_scb.c
38
struct sas_phy *sas_phy = phy->sas_phy.phy;
drivers/scsi/aic94xx/aic94xx_scb.c
408
struct asd_phy *phy = &asd_ha->phys[phy_id];
drivers/scsi/aic94xx/aic94xx_scb.c
43
phy->sas_phy.linkrate = SAS_LINK_RATE_6_0_GBPS;
drivers/scsi/aic94xx/aic94xx_scb.c
44
phy->sas_phy.phy->negotiated_linkrate = SAS_LINK_RATE_6_0_GBPS;
drivers/scsi/aic94xx/aic94xx_scb.c
47
phy->sas_phy.linkrate = SAS_LINK_RATE_3_0_GBPS;
drivers/scsi/aic94xx/aic94xx_scb.c
48
phy->sas_phy.phy->negotiated_linkrate = SAS_LINK_RATE_3_0_GBPS;
drivers/scsi/aic94xx/aic94xx_scb.c
51
phy->sas_phy.linkrate = SAS_LINK_RATE_1_5_GBPS;
drivers/scsi/aic94xx/aic94xx_scb.c
52
phy->sas_phy.phy->negotiated_linkrate = SAS_LINK_RATE_1_5_GBPS;
drivers/scsi/aic94xx/aic94xx_scb.c
55
sas_phy->negotiated_linkrate = phy->sas_phy.linkrate;
drivers/scsi/aic94xx/aic94xx_scb.c
571
asd_deform_port(asd_ha, phy);
drivers/scsi/aic94xx/aic94xx_scb.c
58
sas_phy->maximum_linkrate = phy->phy_desc->max_sas_lrate;
drivers/scsi/aic94xx/aic94xx_scb.c
59
sas_phy->minimum_linkrate = phy->phy_desc->min_sas_lrate;
drivers/scsi/aic94xx/aic94xx_scb.c
62
phy->sas_phy.oob_mode = SAS_OOB_MODE;
drivers/scsi/aic94xx/aic94xx_scb.c
633
struct asd_phy *phy = &ascb->ha->phys[phy_id];
drivers/scsi/aic94xx/aic94xx_scb.c
64
phy->sas_phy.oob_mode = SATA_OOB_MODE;
drivers/scsi/aic94xx/aic94xx_scb.c
658
get_lrate_mode(phy, oob_mode);
drivers/scsi/aic94xx/aic94xx_scb.c
661
__func__, phy_id,phy->sas_phy.linkrate,
drivers/scsi/aic94xx/aic94xx_scb.c
662
phy->sas_phy.iproto);
drivers/scsi/aic94xx/aic94xx_scb.c
72
struct asd_phy *phy = &asd_ha->phys[phy_id];
drivers/scsi/aic94xx/aic94xx_scb.c
768
struct asd_phy *phy = &ascb->ha->phys[phy_id];
drivers/scsi/aic94xx/aic94xx_scb.c
783
set_speed_mask(&control_phy->speed_mask, phy->phy_desc);
drivers/scsi/aic94xx/aic94xx_scb.c
786
if (phy->sas_phy.role == PHY_ROLE_INITIATOR)
drivers/scsi/aic94xx/aic94xx_scb.c
788
else if (phy->sas_phy.role == PHY_ROLE_TARGET)
drivers/scsi/aic94xx/aic94xx_scb.c
801
if (phy->phy_desc->flags & ASD_SATA_SPINUP_HOLD)
drivers/scsi/aic94xx/aic94xx_scb.c
82
sas_phy_disconnected(&phy->sas_phy);
drivers/scsi/aic94xx/aic94xx_scb.c
83
sas_notify_phy_event(&phy->sas_phy, PHYE_LOSS_OF_SIGNAL,
drivers/scsi/aic94xx/aic94xx_scb.c
89
get_lrate_mode(phy, oob_mode);
drivers/scsi/aic94xx/aic94xx_scb.c
890
int asd_control_phy(struct asd_sas_phy *phy, enum phy_func func, void *arg)
drivers/scsi/aic94xx/aic94xx_scb.c
892
struct asd_ha_struct *asd_ha = phy->ha->lldd_ha;
drivers/scsi/aic94xx/aic94xx_scb.c
893
struct asd_phy_desc *pd = asd_ha->phys[phy->id].phy_desc;
drivers/scsi/aic94xx/aic94xx_scb.c
91
phy_id, phy->sas_phy.linkrate, phy->sas_phy.iproto);
drivers/scsi/aic94xx/aic94xx_scb.c
92
sas_notify_phy_event(&phy->sas_phy, PHYE_OOB_DONE, GFP_ATOMIC);
drivers/scsi/aic94xx/aic94xx_scb.c
922
asd_build_control_phy(ascb, phy->id, phy_func_table[func]);
drivers/scsi/aic94xx/aic94xx_scb.c
97
sas_notify_phy_event(&phy->sas_phy, PHYE_SPINUP_HOLD,
drivers/scsi/aic94xx/aic94xx_seq.c
1367
void asd_update_port_links(struct asd_ha_struct *asd_ha, struct asd_phy *phy)
drivers/scsi/aic94xx/aic94xx_seq.c
1369
const u8 phy_mask = (u8) phy->asd_port->phy_mask;
drivers/scsi/aic94xx/aic94xx_seq.h
47
void asd_update_port_links(struct asd_ha_struct *asd_ha, struct asd_phy *phy);
drivers/scsi/aic94xx/aic94xx_tmf.c
165
struct sas_phy *phy = sas_get_local_phy(dev);
drivers/scsi/aic94xx/aic94xx_tmf.c
174
reset_type ? "hard" : "soft", dev_name(&phy->dev));
drivers/scsi/aic94xx/aic94xx_tmf.c
175
res = sas_phy_reset(phy, reset_type);
drivers/scsi/aic94xx/aic94xx_tmf.c
192
dev_printk(KERN_ERR, &phy->dev,
drivers/scsi/aic94xx/aic94xx_tmf.c
197
sas_put_local_phy(phy);
drivers/scsi/bfa/bfa_core.c
157
struct bfa_phy_s *phy = BFA_PHY(bfa);
drivers/scsi/bfa/bfa_core.c
160
bfa_phy_attach(phy, &bfa->ioc, bfa, bfa->trcmod, mincfg);
drivers/scsi/bfa/bfa_core.c
161
bfa_phy_memclaim(phy, phy_dma->kva_curp, phy_dma->dma_curp, mincfg);
drivers/scsi/bfa/bfa_ioc.c
5283
bfa_phy_present(struct bfa_phy_s *phy)
drivers/scsi/bfa/bfa_ioc.c
5285
return (phy->ioc->attr->card_type == BFA_MFG_TYPE_LIGHTNING);
drivers/scsi/bfa/bfa_ioc.c
5291
struct bfa_phy_s *phy = cbarg;
drivers/scsi/bfa/bfa_ioc.c
5293
bfa_trc(phy, event);
drivers/scsi/bfa/bfa_ioc.c
5298
if (phy->op_busy) {
drivers/scsi/bfa/bfa_ioc.c
5299
phy->status = BFA_STATUS_IOC_FAILURE;
drivers/scsi/bfa/bfa_ioc.c
5300
phy->cbfn(phy->cbarg, phy->status);
drivers/scsi/bfa/bfa_ioc.c
5301
phy->op_busy = 0;
drivers/scsi/bfa/bfa_ioc.c
5318
struct bfa_phy_s *phy = cbarg;
drivers/scsi/bfa/bfa_ioc.c
5320
(struct bfi_phy_query_req_s *) phy->mb.msg;
drivers/scsi/bfa/bfa_ioc.c
5322
msg->instance = phy->instance;
drivers/scsi/bfa/bfa_ioc.c
5324
bfa_ioc_portid(phy->ioc));
drivers/scsi/bfa/bfa_ioc.c
5325
bfa_alen_set(&msg->alen, sizeof(struct bfa_phy_attr_s), phy->dbuf_pa);
drivers/scsi/bfa/bfa_ioc.c
5326
bfa_ioc_mbox_queue(phy->ioc, &phy->mb);
drivers/scsi/bfa/bfa_ioc.c
5337
struct bfa_phy_s *phy = cbarg;
drivers/scsi/bfa/bfa_ioc.c
5339
(struct bfi_phy_write_req_s *) phy->mb.msg;
drivers/scsi/bfa/bfa_ioc.c
5344
msg->instance = phy->instance;
drivers/scsi/bfa/bfa_ioc.c
5345
msg->offset = cpu_to_be32(phy->addr_off + phy->offset);
drivers/scsi/bfa/bfa_ioc.c
5346
len = (phy->residue < BFA_PHY_DMA_BUF_SZ) ?
drivers/scsi/bfa/bfa_ioc.c
5347
phy->residue : BFA_PHY_DMA_BUF_SZ;
drivers/scsi/bfa/bfa_ioc.c
5351
msg->last = (len == phy->residue) ? 1 : 0;
drivers/scsi/bfa/bfa_ioc.c
5354
bfa_ioc_portid(phy->ioc));
drivers/scsi/bfa/bfa_ioc.c
5355
bfa_alen_set(&msg->alen, len, phy->dbuf_pa);
drivers/scsi/bfa/bfa_ioc.c
5357
buf = (u16 *) (phy->ubuf + phy->offset);
drivers/scsi/bfa/bfa_ioc.c
5358
dbuf = (u16 *)phy->dbuf_kva;
drivers/scsi/bfa/bfa_ioc.c
5363
bfa_ioc_mbox_queue(phy->ioc, &phy->mb);
drivers/scsi/bfa/bfa_ioc.c
5365
phy->residue -= len;
drivers/scsi/bfa/bfa_ioc.c
5366
phy->offset += len;
drivers/scsi/bfa/bfa_ioc.c
5377
struct bfa_phy_s *phy = cbarg;
drivers/scsi/bfa/bfa_ioc.c
5379
(struct bfi_phy_read_req_s *) phy->mb.msg;
drivers/scsi/bfa/bfa_ioc.c
5382
msg->instance = phy->instance;
drivers/scsi/bfa/bfa_ioc.c
5383
msg->offset = cpu_to_be32(phy->addr_off + phy->offset);
drivers/scsi/bfa/bfa_ioc.c
5384
len = (phy->residue < BFA_PHY_DMA_BUF_SZ) ?
drivers/scsi/bfa/bfa_ioc.c
5385
phy->residue : BFA_PHY_DMA_BUF_SZ;
drivers/scsi/bfa/bfa_ioc.c
5388
bfa_ioc_portid(phy->ioc));
drivers/scsi/bfa/bfa_ioc.c
5389
bfa_alen_set(&msg->alen, len, phy->dbuf_pa);
drivers/scsi/bfa/bfa_ioc.c
5390
bfa_ioc_mbox_queue(phy->ioc, &phy->mb);
drivers/scsi/bfa/bfa_ioc.c
5401
struct bfa_phy_s *phy = cbarg;
drivers/scsi/bfa/bfa_ioc.c
5403
(struct bfi_phy_stats_req_s *) phy->mb.msg;
drivers/scsi/bfa/bfa_ioc.c
5405
msg->instance = phy->instance;
drivers/scsi/bfa/bfa_ioc.c
5407
bfa_ioc_portid(phy->ioc));
drivers/scsi/bfa/bfa_ioc.c
5408
bfa_alen_set(&msg->alen, sizeof(struct bfa_phy_stats_s), phy->dbuf_pa);
drivers/scsi/bfa/bfa_ioc.c
5409
bfa_ioc_mbox_queue(phy->ioc, &phy->mb);
drivers/scsi/bfa/bfa_ioc.c
5437
bfa_phy_attach(struct bfa_phy_s *phy, struct bfa_ioc_s *ioc, void *dev,
drivers/scsi/bfa/bfa_ioc.c
5440
phy->ioc = ioc;
drivers/scsi/bfa/bfa_ioc.c
5441
phy->trcmod = trcmod;
drivers/scsi/bfa/bfa_ioc.c
5442
phy->cbfn = NULL;
drivers/scsi/bfa/bfa_ioc.c
5443
phy->cbarg = NULL;
drivers/scsi/bfa/bfa_ioc.c
5444
phy->op_busy = 0;
drivers/scsi/bfa/bfa_ioc.c
5446
bfa_ioc_mbox_regisr(phy->ioc, BFI_MC_PHY, bfa_phy_intr, phy);
drivers/scsi/bfa/bfa_ioc.c
5447
bfa_q_qe_init(&phy->ioc_notify);
drivers/scsi/bfa/bfa_ioc.c
5448
bfa_ioc_notify_init(&phy->ioc_notify, bfa_phy_notify, phy);
drivers/scsi/bfa/bfa_ioc.c
5449
list_add_tail(&phy->ioc_notify.qe, &phy->ioc->notify_q);
drivers/scsi/bfa/bfa_ioc.c
5453
phy->dbuf_kva = NULL;
drivers/scsi/bfa/bfa_ioc.c
5454
phy->dbuf_pa = 0;
drivers/scsi/bfa/bfa_ioc.c
5467
bfa_phy_memclaim(struct bfa_phy_s *phy, u8 *dm_kva, u64 dm_pa,
drivers/scsi/bfa/bfa_ioc.c
5473
phy->dbuf_kva = dm_kva;
drivers/scsi/bfa/bfa_ioc.c
5474
phy->dbuf_pa = dm_pa;
drivers/scsi/bfa/bfa_ioc.c
5475
memset(phy->dbuf_kva, 0, BFA_PHY_DMA_BUF_SZ);
drivers/scsi/bfa/bfa_ioc.c
5500
bfa_phy_get_attr(struct bfa_phy_s *phy, u8 instance,
drivers/scsi/bfa/bfa_ioc.c
5503
bfa_trc(phy, BFI_PHY_H2I_QUERY_REQ);
drivers/scsi/bfa/bfa_ioc.c
5504
bfa_trc(phy, instance);
drivers/scsi/bfa/bfa_ioc.c
5506
if (!bfa_phy_present(phy))
drivers/scsi/bfa/bfa_ioc.c
5509
if (!bfa_ioc_is_operational(phy->ioc))
drivers/scsi/bfa/bfa_ioc.c
5512
if (phy->op_busy || bfa_phy_busy(phy->ioc)) {
drivers/scsi/bfa/bfa_ioc.c
5513
bfa_trc(phy, phy->op_busy);
drivers/scsi/bfa/bfa_ioc.c
5517
phy->op_busy = 1;
drivers/scsi/bfa/bfa_ioc.c
5518
phy->cbfn = cbfn;
drivers/scsi/bfa/bfa_ioc.c
5519
phy->cbarg = cbarg;
drivers/scsi/bfa/bfa_ioc.c
5520
phy->instance = instance;
drivers/scsi/bfa/bfa_ioc.c
5521
phy->ubuf = (uint8_t *) attr;
drivers/scsi/bfa/bfa_ioc.c
5522
bfa_phy_query_send(phy);
drivers/scsi/bfa/bfa_ioc.c
5539
bfa_phy_get_stats(struct bfa_phy_s *phy, u8 instance,
drivers/scsi/bfa/bfa_ioc.c
5543
bfa_trc(phy, BFI_PHY_H2I_STATS_REQ);
drivers/scsi/bfa/bfa_ioc.c
5544
bfa_trc(phy, instance);
drivers/scsi/bfa/bfa_ioc.c
5546
if (!bfa_phy_present(phy))
drivers/scsi/bfa/bfa_ioc.c
5549
if (!bfa_ioc_is_operational(phy->ioc))
drivers/scsi/bfa/bfa_ioc.c
5552
if (phy->op_busy || bfa_phy_busy(phy->ioc)) {
drivers/scsi/bfa/bfa_ioc.c
5553
bfa_trc(phy, phy->op_busy);
drivers/scsi/bfa/bfa_ioc.c
5557
phy->op_busy = 1;
drivers/scsi/bfa/bfa_ioc.c
5558
phy->cbfn = cbfn;
drivers/scsi/bfa/bfa_ioc.c
5559
phy->cbarg = cbarg;
drivers/scsi/bfa/bfa_ioc.c
5560
phy->instance = instance;
drivers/scsi/bfa/bfa_ioc.c
5561
phy->ubuf = (u8 *) stats;
drivers/scsi/bfa/bfa_ioc.c
5562
bfa_phy_stats_send(phy);
drivers/scsi/bfa/bfa_ioc.c
5581
bfa_phy_update(struct bfa_phy_s *phy, u8 instance,
drivers/scsi/bfa/bfa_ioc.c
5585
bfa_trc(phy, BFI_PHY_H2I_WRITE_REQ);
drivers/scsi/bfa/bfa_ioc.c
5586
bfa_trc(phy, instance);
drivers/scsi/bfa/bfa_ioc.c
5587
bfa_trc(phy, len);
drivers/scsi/bfa/bfa_ioc.c
5588
bfa_trc(phy, offset);
drivers/scsi/bfa/bfa_ioc.c
5590
if (!bfa_phy_present(phy))
drivers/scsi/bfa/bfa_ioc.c
5593
if (!bfa_ioc_is_operational(phy->ioc))
drivers/scsi/bfa/bfa_ioc.c
5600
if (phy->op_busy || bfa_phy_busy(phy->ioc)) {
drivers/scsi/bfa/bfa_ioc.c
5601
bfa_trc(phy, phy->op_busy);
drivers/scsi/bfa/bfa_ioc.c
5605
phy->op_busy = 1;
drivers/scsi/bfa/bfa_ioc.c
5606
phy->cbfn = cbfn;
drivers/scsi/bfa/bfa_ioc.c
5607
phy->cbarg = cbarg;
drivers/scsi/bfa/bfa_ioc.c
5608
phy->instance = instance;
drivers/scsi/bfa/bfa_ioc.c
5609
phy->residue = len;
drivers/scsi/bfa/bfa_ioc.c
5610
phy->offset = 0;
drivers/scsi/bfa/bfa_ioc.c
5611
phy->addr_off = offset;
drivers/scsi/bfa/bfa_ioc.c
5612
phy->ubuf = buf;
drivers/scsi/bfa/bfa_ioc.c
5614
bfa_phy_write_send(phy);
drivers/scsi/bfa/bfa_ioc.c
5632
bfa_phy_read(struct bfa_phy_s *phy, u8 instance,
drivers/scsi/bfa/bfa_ioc.c
5636
bfa_trc(phy, BFI_PHY_H2I_READ_REQ);
drivers/scsi/bfa/bfa_ioc.c
5637
bfa_trc(phy, instance);
drivers/scsi/bfa/bfa_ioc.c
5638
bfa_trc(phy, len);
drivers/scsi/bfa/bfa_ioc.c
5639
bfa_trc(phy, offset);
drivers/scsi/bfa/bfa_ioc.c
5641
if (!bfa_phy_present(phy))
drivers/scsi/bfa/bfa_ioc.c
5644
if (!bfa_ioc_is_operational(phy->ioc))
drivers/scsi/bfa/bfa_ioc.c
5651
if (phy->op_busy || bfa_phy_busy(phy->ioc)) {
drivers/scsi/bfa/bfa_ioc.c
5652
bfa_trc(phy, phy->op_busy);
drivers/scsi/bfa/bfa_ioc.c
5656
phy->op_busy = 1;
drivers/scsi/bfa/bfa_ioc.c
5657
phy->cbfn = cbfn;
drivers/scsi/bfa/bfa_ioc.c
5658
phy->cbarg = cbarg;
drivers/scsi/bfa/bfa_ioc.c
5659
phy->instance = instance;
drivers/scsi/bfa/bfa_ioc.c
5660
phy->residue = len;
drivers/scsi/bfa/bfa_ioc.c
5661
phy->offset = 0;
drivers/scsi/bfa/bfa_ioc.c
5662
phy->addr_off = offset;
drivers/scsi/bfa/bfa_ioc.c
5663
phy->ubuf = buf;
drivers/scsi/bfa/bfa_ioc.c
5664
bfa_phy_read_send(phy);
drivers/scsi/bfa/bfa_ioc.c
5678
struct bfa_phy_s *phy = phyarg;
drivers/scsi/bfa/bfa_ioc.c
5690
bfa_trc(phy, msg->mh.msg_id);
drivers/scsi/bfa/bfa_ioc.c
5692
if (!phy->op_busy) {
drivers/scsi/bfa/bfa_ioc.c
5694
bfa_trc(phy, 0x9999);
drivers/scsi/bfa/bfa_ioc.c
5701
bfa_trc(phy, status);
drivers/scsi/bfa/bfa_ioc.c
5705
(struct bfa_phy_attr_s *) phy->ubuf;
drivers/scsi/bfa/bfa_ioc.c
5706
bfa_phy_ntoh32((u32 *)attr, (u32 *)phy->dbuf_kva,
drivers/scsi/bfa/bfa_ioc.c
5708
bfa_trc(phy, attr->status);
drivers/scsi/bfa/bfa_ioc.c
5709
bfa_trc(phy, attr->length);
drivers/scsi/bfa/bfa_ioc.c
5712
phy->status = status;
drivers/scsi/bfa/bfa_ioc.c
5713
phy->op_busy = 0;
drivers/scsi/bfa/bfa_ioc.c
5714
if (phy->cbfn)
drivers/scsi/bfa/bfa_ioc.c
5715
phy->cbfn(phy->cbarg, phy->status);
drivers/scsi/bfa/bfa_ioc.c
5719
bfa_trc(phy, status);
drivers/scsi/bfa/bfa_ioc.c
5723
(struct bfa_phy_stats_s *) phy->ubuf;
drivers/scsi/bfa/bfa_ioc.c
5724
bfa_phy_ntoh32((u32 *)stats, (u32 *)phy->dbuf_kva,
drivers/scsi/bfa/bfa_ioc.c
5726
bfa_trc(phy, stats->status);
drivers/scsi/bfa/bfa_ioc.c
5729
phy->status = status;
drivers/scsi/bfa/bfa_ioc.c
5730
phy->op_busy = 0;
drivers/scsi/bfa/bfa_ioc.c
5731
if (phy->cbfn)
drivers/scsi/bfa/bfa_ioc.c
5732
phy->cbfn(phy->cbarg, phy->status);
drivers/scsi/bfa/bfa_ioc.c
5736
bfa_trc(phy, status);
drivers/scsi/bfa/bfa_ioc.c
5738
if (status != BFA_STATUS_OK || phy->residue == 0) {
drivers/scsi/bfa/bfa_ioc.c
5739
phy->status = status;
drivers/scsi/bfa/bfa_ioc.c
5740
phy->op_busy = 0;
drivers/scsi/bfa/bfa_ioc.c
5741
if (phy->cbfn)
drivers/scsi/bfa/bfa_ioc.c
5742
phy->cbfn(phy->cbarg, phy->status);
drivers/scsi/bfa/bfa_ioc.c
5744
bfa_trc(phy, phy->offset);
drivers/scsi/bfa/bfa_ioc.c
5745
bfa_phy_write_send(phy);
drivers/scsi/bfa/bfa_ioc.c
5750
bfa_trc(phy, status);
drivers/scsi/bfa/bfa_ioc.c
5753
phy->status = status;
drivers/scsi/bfa/bfa_ioc.c
5754
phy->op_busy = 0;
drivers/scsi/bfa/bfa_ioc.c
5755
if (phy->cbfn)
drivers/scsi/bfa/bfa_ioc.c
5756
phy->cbfn(phy->cbarg, phy->status);
drivers/scsi/bfa/bfa_ioc.c
5759
u16 *buf = (u16 *)(phy->ubuf + phy->offset);
drivers/scsi/bfa/bfa_ioc.c
5760
u16 *dbuf = (u16 *)phy->dbuf_kva;
drivers/scsi/bfa/bfa_ioc.c
5763
bfa_trc(phy, phy->offset);
drivers/scsi/bfa/bfa_ioc.c
5764
bfa_trc(phy, len);
drivers/scsi/bfa/bfa_ioc.c
5769
phy->residue -= len;
drivers/scsi/bfa/bfa_ioc.c
5770
phy->offset += len;
drivers/scsi/bfa/bfa_ioc.c
5772
if (phy->residue == 0) {
drivers/scsi/bfa/bfa_ioc.c
5773
phy->status = status;
drivers/scsi/bfa/bfa_ioc.c
5774
phy->op_busy = 0;
drivers/scsi/bfa/bfa_ioc.c
5775
if (phy->cbfn)
drivers/scsi/bfa/bfa_ioc.c
5776
phy->cbfn(phy->cbarg, phy->status);
drivers/scsi/bfa/bfa_ioc.c
5778
bfa_phy_read_send(phy);
drivers/scsi/bfa/bfa_ioc.h
712
#define BFA_PHY(__bfa) (&(__bfa)->modules.phy)
drivers/scsi/bfa/bfa_ioc.h
716
bfa_status_t bfa_phy_get_attr(struct bfa_phy_s *phy, u8 instance,
drivers/scsi/bfa/bfa_ioc.h
719
bfa_status_t bfa_phy_get_stats(struct bfa_phy_s *phy, u8 instance,
drivers/scsi/bfa/bfa_ioc.h
722
bfa_status_t bfa_phy_update(struct bfa_phy_s *phy, u8 instance,
drivers/scsi/bfa/bfa_ioc.h
725
bfa_status_t bfa_phy_read(struct bfa_phy_s *phy, u8 instance,
drivers/scsi/bfa/bfa_ioc.h
730
void bfa_phy_attach(struct bfa_phy_s *phy, struct bfa_ioc_s *ioc,
drivers/scsi/bfa/bfa_ioc.h
732
void bfa_phy_memclaim(struct bfa_phy_s *phy,
drivers/scsi/bfa/bfa_modules.h
39
struct bfa_phy_s phy; /* phy module */
drivers/scsi/esas2r/atioctl.h
369
phy[32];
drivers/scsi/hisi_sas/hisi_sas.h
381
struct hisi_sas_phy *phy;
drivers/scsi/hisi_sas/hisi_sas.h
441
struct hisi_sas_phy phy[HISI_SAS_MAX_PHYS];
drivers/scsi/hisi_sas/hisi_sas.h
675
extern void hisi_sas_phy_bcast(struct hisi_sas_phy *phy);
drivers/scsi/hisi_sas/hisi_sas.h
684
extern bool hisi_sas_notify_phy_event(struct hisi_sas_phy *phy,
drivers/scsi/hisi_sas/hisi_sas_main.c
1005
bool hisi_sas_notify_phy_event(struct hisi_sas_phy *phy,
drivers/scsi/hisi_sas/hisi_sas_main.c
1008
struct hisi_hba *hisi_hba = phy->hisi_hba;
drivers/scsi/hisi_sas/hisi_sas_main.c
1013
return queue_work(hisi_hba->wq, &phy->works[event]);
drivers/scsi/hisi_sas/hisi_sas_main.c
1019
struct hisi_sas_phy *phy = timer_container_of(phy, t, timer);
drivers/scsi/hisi_sas/hisi_sas_main.c
1020
struct hisi_hba *hisi_hba = phy->hisi_hba;
drivers/scsi/hisi_sas/hisi_sas_main.c
1022
int phy_no = phy->sas_phy.id;
drivers/scsi/hisi_sas/hisi_sas_main.c
1025
hisi_sas_notify_phy_event(phy, HISI_PHYE_LINK_RESET);
drivers/scsi/hisi_sas/hisi_sas_main.c
1032
struct hisi_sas_phy *phy = &hisi_hba->phy[phy_no];
drivers/scsi/hisi_sas/hisi_sas_main.c
1037
spin_lock_irqsave(&phy->lock, flags);
drivers/scsi/hisi_sas/hisi_sas_main.c
1038
if (phy->phy_attached) {
drivers/scsi/hisi_sas/hisi_sas_main.c
1039
spin_unlock_irqrestore(&phy->lock, flags);
drivers/scsi/hisi_sas/hisi_sas_main.c
1043
if (!timer_pending(&phy->timer)) {
drivers/scsi/hisi_sas/hisi_sas_main.c
1044
if (phy->wait_phyup_cnt < HISI_SAS_WAIT_PHYUP_RETRIES) {
drivers/scsi/hisi_sas/hisi_sas_main.c
1045
phy->wait_phyup_cnt++;
drivers/scsi/hisi_sas/hisi_sas_main.c
1046
phy->timer.expires = jiffies +
drivers/scsi/hisi_sas/hisi_sas_main.c
1048
add_timer(&phy->timer);
drivers/scsi/hisi_sas/hisi_sas_main.c
1049
spin_unlock_irqrestore(&phy->lock, flags);
drivers/scsi/hisi_sas/hisi_sas_main.c
1054
phy_no, phy->wait_phyup_cnt);
drivers/scsi/hisi_sas/hisi_sas_main.c
1055
phy->wait_phyup_cnt = 0;
drivers/scsi/hisi_sas/hisi_sas_main.c
1057
spin_unlock_irqrestore(&phy->lock, flags);
drivers/scsi/hisi_sas/hisi_sas_main.c
1064
struct hisi_sas_phy *phy = &hisi_hba->phy[phy_no];
drivers/scsi/hisi_sas/hisi_sas_main.c
1065
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/hisi_sas/hisi_sas_main.c
1068
phy->hisi_hba = hisi_hba;
drivers/scsi/hisi_sas/hisi_sas_main.c
1069
phy->port = NULL;
drivers/scsi/hisi_sas/hisi_sas_main.c
1070
phy->minimum_linkrate = SAS_LINK_RATE_1_5_GBPS;
drivers/scsi/hisi_sas/hisi_sas_main.c
1071
phy->maximum_linkrate = hisi_hba->hw->phy_get_max_linkrate();
drivers/scsi/hisi_sas/hisi_sas_main.c
1080
sas_phy->frame_rcvd = &phy->frame_rcvd[0];
drivers/scsi/hisi_sas/hisi_sas_main.c
1082
sas_phy->lldd_phy = phy;
drivers/scsi/hisi_sas/hisi_sas_main.c
1085
INIT_WORK(&phy->works[i], hisi_sas_phye_fns[i]);
drivers/scsi/hisi_sas/hisi_sas_main.c
1087
spin_lock_init(&phy->lock);
drivers/scsi/hisi_sas/hisi_sas_main.c
1089
timer_setup(&phy->timer, hisi_sas_wait_phyup_timedout, 0);
drivers/scsi/hisi_sas/hisi_sas_main.c
1095
struct hisi_sas_phy *phy = &hisi_hba->phy[phy_no];
drivers/scsi/hisi_sas/hisi_sas_main.c
1096
struct asd_sas_phy *aphy = &phy->sas_phy;
drivers/scsi/hisi_sas/hisi_sas_main.c
1097
struct sas_phy *sphy = aphy->phy;
drivers/scsi/hisi_sas/hisi_sas_main.c
1100
spin_lock_irqsave(&phy->lock, flags);
drivers/scsi/hisi_sas/hisi_sas_main.c
1104
if (!phy->enable)
drivers/scsi/hisi_sas/hisi_sas_main.c
1111
phy->enable = enable;
drivers/scsi/hisi_sas/hisi_sas_main.c
1112
spin_unlock_irqrestore(&phy->lock, flags);
drivers/scsi/hisi_sas/hisi_sas_main.c
1118
struct hisi_sas_phy *phy = sas_phy->lldd_phy;
drivers/scsi/hisi_sas/hisi_sas_main.c
1127
port->id = phy->port_id;
drivers/scsi/hisi_sas/hisi_sas_main.c
1128
phy->port = port;
drivers/scsi/hisi_sas/hisi_sas_main.c
1250
struct hisi_sas_phy *phy = &hisi_hba->phy[phy_no];
drivers/scsi/hisi_sas/hisi_sas_main.c
1251
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/hisi_sas/hisi_sas_main.c
1258
max = sas_phy->phy->maximum_linkrate;
drivers/scsi/hisi_sas/hisi_sas_main.c
1262
min = sas_phy->phy->minimum_linkrate;
drivers/scsi/hisi_sas/hisi_sas_main.c
1269
sas_phy->phy->maximum_linkrate = max;
drivers/scsi/hisi_sas/hisi_sas_main.c
1270
sas_phy->phy->minimum_linkrate = min;
drivers/scsi/hisi_sas/hisi_sas_main.c
1283
struct hisi_sas_phy *phy = container_of(sas_phy,
drivers/scsi/hisi_sas/hisi_sas_main.c
1290
u8 sts = phy->phy_attached;
drivers/scsi/hisi_sas/hisi_sas_main.c
1294
phy->reset_completion = &completion;
drivers/scsi/hisi_sas/hisi_sas_main.c
1331
if (phy->in_reset)
drivers/scsi/hisi_sas/hisi_sas_main.c
1336
phy->reset_completion = NULL;
drivers/scsi/hisi_sas/hisi_sas_main.c
1406
struct hisi_sas_phy *phy = NULL;
drivers/scsi/hisi_sas/hisi_sas_main.c
1419
phy = sas_phy->lldd_phy;
drivers/scsi/hisi_sas/hisi_sas_main.c
1424
if (phy) {
drivers/scsi/hisi_sas/hisi_sas_main.c
1425
port->id = phy->port_id;
drivers/scsi/hisi_sas/hisi_sas_main.c
1429
device->linkrate = phy->sas_phy.linkrate;
drivers/scsi/hisi_sas/hisi_sas_main.c
1444
struct hisi_sas_phy *phy = &hisi_hba->phy[phy_no];
drivers/scsi/hisi_sas/hisi_sas_main.c
1445
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/hisi_sas/hisi_sas_main.c
1449
if (!sas_phy->phy->enabled)
drivers/scsi/hisi_sas/hisi_sas_main.c
1474
hisi_sas_notify_phy_event(phy,
drivers/scsi/hisi_sas/hisi_sas_main.c
1589
struct hisi_sas_phy *phy = data;
drivers/scsi/hisi_sas/hisi_sas_main.c
1590
struct hisi_hba *hisi_hba = phy->hisi_hba;
drivers/scsi/hisi_sas/hisi_sas_main.c
1593
int phy_no = phy->sas_phy.id;
drivers/scsi/hisi_sas/hisi_sas_main.c
1595
phy->reset_completion = &completion;
drivers/scsi/hisi_sas/hisi_sas_main.c
1601
phy->reset_completion = NULL;
drivers/scsi/hisi_sas/hisi_sas_main.c
1612
struct hisi_sas_phy *phy = &hisi_hba->phy[phy_no];
drivers/scsi/hisi_sas/hisi_sas_main.c
1613
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/hisi_sas/hisi_sas_main.c
1615
if (!sas_phy->phy->enabled)
drivers/scsi/hisi_sas/hisi_sas_main.c
1624
phy, &async);
drivers/scsi/hisi_sas/hisi_sas_main.c
1833
struct hisi_sas_phy *phy =
drivers/scsi/hisi_sas/hisi_sas_main.c
1837
spin_lock_irqsave(&phy->lock, flags);
drivers/scsi/hisi_sas/hisi_sas_main.c
1838
phy->in_reset = 1;
drivers/scsi/hisi_sas/hisi_sas_main.c
1839
spin_unlock_irqrestore(&phy->lock, flags);
drivers/scsi/hisi_sas/hisi_sas_main.c
1851
struct hisi_sas_phy *phy =
drivers/scsi/hisi_sas/hisi_sas_main.c
1855
spin_lock_irqsave(&phy->lock, flags);
drivers/scsi/hisi_sas/hisi_sas_main.c
1856
phy->in_reset = 0;
drivers/scsi/hisi_sas/hisi_sas_main.c
1857
spin_unlock_irqrestore(&phy->lock, flags);
drivers/scsi/hisi_sas/hisi_sas_main.c
1928
struct sas_phy *phy = sas_get_local_phy(device);
drivers/scsi/hisi_sas/hisi_sas_main.c
1930
rc = sas_phy_reset(phy, true);
drivers/scsi/hisi_sas/hisi_sas_main.c
1933
sas_put_local_phy(phy);
drivers/scsi/hisi_sas/hisi_sas_main.c
2084
static void hisi_sas_phy_disconnected(struct hisi_sas_phy *phy)
drivers/scsi/hisi_sas/hisi_sas_main.c
2086
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/hisi_sas/hisi_sas_main.c
2087
struct sas_phy *sphy = sas_phy->phy;
drivers/scsi/hisi_sas/hisi_sas_main.c
2090
phy->phy_attached = 0;
drivers/scsi/hisi_sas/hisi_sas_main.c
2091
phy->phy_type = 0;
drivers/scsi/hisi_sas/hisi_sas_main.c
2092
phy->port = NULL;
drivers/scsi/hisi_sas/hisi_sas_main.c
2094
spin_lock_irqsave(&phy->lock, flags);
drivers/scsi/hisi_sas/hisi_sas_main.c
2095
if (phy->enable)
drivers/scsi/hisi_sas/hisi_sas_main.c
2099
spin_unlock_irqrestore(&phy->lock, flags);
drivers/scsi/hisi_sas/hisi_sas_main.c
2105
struct hisi_sas_phy *phy = &hisi_hba->phy[phy_no];
drivers/scsi/hisi_sas/hisi_sas_main.c
2106
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/hisi_sas/hisi_sas_main.c
2114
struct hisi_sas_port *port = phy->port;
drivers/scsi/hisi_sas/hisi_sas_main.c
2117
phy->in_reset) {
drivers/scsi/hisi_sas/hisi_sas_main.c
2126
if (phy->phy_type & PORT_TYPE_SAS) {
drivers/scsi/hisi_sas/hisi_sas_main.c
2132
} else if (phy->phy_type & PORT_TYPE_SATA)
drivers/scsi/hisi_sas/hisi_sas_main.c
2135
hisi_sas_phy_disconnected(phy);
drivers/scsi/hisi_sas/hisi_sas_main.c
2140
void hisi_sas_phy_bcast(struct hisi_sas_phy *phy)
drivers/scsi/hisi_sas/hisi_sas_main.c
2142
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/hisi_sas/hisi_sas_main.c
2143
struct hisi_hba *hisi_hba = phy->hisi_hba;
drivers/scsi/hisi_sas/hisi_sas_main.c
2374
struct hisi_sas_phy *phy = &hisi_hba->phy[i];
drivers/scsi/hisi_sas/hisi_sas_main.c
2376
timer_delete_sync(&phy->timer);
drivers/scsi/hisi_sas/hisi_sas_main.c
2598
sha->sas_phy[i] = &hisi_hba->phy[i].sas_phy;
drivers/scsi/hisi_sas/hisi_sas_main.c
652
struct hisi_sas_phy *phy = &hisi_hba->phy[phy_no];
drivers/scsi/hisi_sas/hisi_sas_main.c
653
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/hisi_sas/hisi_sas_main.c
655
if (!phy->phy_attached)
drivers/scsi/hisi_sas/hisi_sas_main.c
660
if (sas_phy->phy) {
drivers/scsi/hisi_sas/hisi_sas_main.c
661
struct sas_phy *sphy = sas_phy->phy;
drivers/scsi/hisi_sas/hisi_sas_main.c
668
sphy->minimum_linkrate = phy->minimum_linkrate;
drivers/scsi/hisi_sas/hisi_sas_main.c
671
sphy->maximum_linkrate = phy->maximum_linkrate;
drivers/scsi/hisi_sas/hisi_sas_main.c
674
if (phy->phy_type & PORT_TYPE_SAS) {
drivers/scsi/hisi_sas/hisi_sas_main.c
677
id = (struct sas_identify_frame *)phy->frame_rcvd;
drivers/scsi/hisi_sas/hisi_sas_main.c
678
id->dev_type = phy->identify.device_type;
drivers/scsi/hisi_sas/hisi_sas_main.c
680
id->target_bits = phy->identify.target_port_protocols;
drivers/scsi/hisi_sas/hisi_sas_main.c
681
} else if (phy->phy_type & PORT_TYPE_SATA) {
drivers/scsi/hisi_sas/hisi_sas_main.c
685
sas_phy->frame_rcvd_size = phy->frame_rcvd_size;
drivers/scsi/hisi_sas/hisi_sas_main.c
942
struct hisi_sas_phy *phy =
drivers/scsi/hisi_sas/hisi_sas_main.c
943
container_of(work, typeof(*phy), works[event]);
drivers/scsi/hisi_sas/hisi_sas_main.c
944
struct hisi_hba *hisi_hba = phy->hisi_hba;
drivers/scsi/hisi_sas/hisi_sas_main.c
945
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/hisi_sas/hisi_sas_main.c
947
struct hisi_sas_port *port = phy->port;
drivers/scsi/hisi_sas/hisi_sas_main.c
953
sas_port && port && (port->id != phy->port_id)) {
drivers/scsi/hisi_sas/hisi_sas_main.c
955
phy_no, port->id, phy->port_id);
drivers/scsi/hisi_sas/hisi_sas_main.c
963
hisi_sas_notify_phy_event(phy, HISI_PHYE_LINK_RESET);
drivers/scsi/hisi_sas/hisi_sas_main.c
968
phy->wait_phyup_cnt = 0;
drivers/scsi/hisi_sas/hisi_sas_main.c
969
if (phy->identify.target_port_protocols == SAS_PROTOCOL_SSP)
drivers/scsi/hisi_sas/hisi_sas_main.c
981
struct hisi_sas_phy *phy =
drivers/scsi/hisi_sas/hisi_sas_main.c
982
container_of(work, typeof(*phy), works[HISI_PHYE_LINK_RESET]);
drivers/scsi/hisi_sas/hisi_sas_main.c
983
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/hisi_sas/hisi_sas_main.c
990
struct hisi_sas_phy *phy =
drivers/scsi/hisi_sas/hisi_sas_main.c
991
container_of(work, typeof(*phy), works[HISI_PHYE_PHY_UP_PM]);
drivers/scsi/hisi_sas/hisi_sas_main.c
992
struct hisi_hba *hisi_hba = phy->hisi_hba;
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1317
struct hisi_sas_phy *phy = p;
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1318
struct hisi_hba *hisi_hba = phy->hisi_hba;
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1320
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1365
phy->port_id = port_id;
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1366
phy->phy_type &= ~(PORT_TYPE_SAS | PORT_TYPE_SATA);
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1367
phy->phy_type |= PORT_TYPE_SAS;
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1368
phy->phy_attached = 1;
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1369
phy->identify.device_type = id->dev_type;
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1370
phy->frame_rcvd_size = sizeof(struct sas_identify_frame);
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1371
if (phy->identify.device_type == SAS_END_DEVICE)
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1372
phy->identify.target_port_protocols =
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1374
else if (phy->identify.device_type != SAS_PHY_UNUSED)
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1375
phy->identify.target_port_protocols =
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1377
hisi_sas_notify_phy_event(phy, HISI_PHYE_PHY_UP);
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1379
if (phy->reset_completion)
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1380
complete(phy->reset_completion);
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1397
struct hisi_sas_phy *phy = p;
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1398
struct hisi_hba *hisi_hba = phy->hisi_hba;
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1399
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1414
hisi_sas_phy_bcast(phy);
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1425
struct hisi_sas_phy *phy = p;
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1426
struct hisi_hba *hisi_hba = phy->hisi_hba;
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1428
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1631
struct hisi_sas_phy *phy = &hisi_hba->phy[i];
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
1640
DRV_NAME " phy", phy);
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
1229
struct hisi_sas_phy *phy = &hisi_hba->phy[i];
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
1230
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
1233
if (!sas_phy->phy || (sas_phy->phy->maximum_linkrate <
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
1237
enum sas_linkrate max = sas_phy->phy->maximum_linkrate;
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
1545
struct hisi_sas_phy *phy = &hisi_hba->phy[phy_no];
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
1549
if (phy->identify.device_type == SAS_END_DEVICE) {
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
1560
struct hisi_sas_phy *phy = &hisi_hba->phy[phy_no];
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
1561
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
1562
struct sas_phy *sphy = sas_phy->phy;
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
1582
struct hisi_sas_phy *phy = &hisi_hba->phy[i];
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
1583
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
1585
if (!sas_phy->phy->enabled)
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2513
phy_id = device->phy->identify.phy_identifier;
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2595
struct hisi_sas_phy *phy = sas_phy->lldd_phy;
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2596
struct hisi_hba *hisi_hba = phy->hisi_hba;
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2650
struct hisi_sas_phy *phy = &hisi_hba->phy[phy_no];
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2651
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2661
timer_delete(&phy->timer);
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2693
phy->port_id = port_id;
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2694
phy->phy_type &= ~(PORT_TYPE_SAS | PORT_TYPE_SATA);
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2695
phy->phy_type |= PORT_TYPE_SAS;
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2696
phy->phy_attached = 1;
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2697
phy->identify.device_type = id->dev_type;
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2698
phy->frame_rcvd_size = sizeof(struct sas_identify_frame);
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2699
if (phy->identify.device_type == SAS_END_DEVICE)
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2700
phy->identify.target_port_protocols =
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2702
else if (phy->identify.device_type != SAS_PHY_UNUSED) {
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2703
phy->identify.target_port_protocols =
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2708
hisi_sas_notify_phy_event(phy, HISI_PHYE_PHY_UP);
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2710
if (phy->reset_completion)
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2711
complete(phy->reset_completion);
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2733
struct hisi_sas_phy *phy = &hisi_hba->phy[phy_no];
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2734
struct hisi_sas_port *port = phy->port;
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2737
timer_delete(&phy->timer);
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2825
struct hisi_sas_phy *phy = &hisi_hba->phy[phy_no];
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2831
hisi_sas_phy_bcast(phy);
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2907
struct hisi_sas_phy *phy = &hisi_hba->phy[phy_no];
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
2912
hisi_sas_notify_phy_event(phy,
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
3200
struct hisi_sas_phy *phy = p;
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
3201
struct hisi_hba *hisi_hba = phy->hisi_hba;
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
3202
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
3211
timer_delete(&phy->timer);
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
3236
hisi_sas_notify_phy_event(phy, HISI_PHYE_LINK_RESET);
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
3264
phy->maximum_linkrate = hard_phy_linkrate & 0xf;
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
3265
phy->minimum_linkrate = (hard_phy_linkrate >> 4) & 0xf;
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
3275
phy->phy_type &= ~(PORT_TYPE_SAS | PORT_TYPE_SATA);
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
3276
phy->port_id = port_id;
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
3277
phy->phy_type |= PORT_TYPE_SATA;
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
3278
phy->phy_attached = 1;
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
3279
phy->identify.device_type = SAS_SATA_DEV;
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
3280
phy->frame_rcvd_size = sizeof(struct dev_to_host_fis);
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
3281
phy->identify.target_port_protocols = SAS_PROTOCOL_SATA;
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
3282
hisi_sas_notify_phy_event(phy, HISI_PHYE_PHY_UP);
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
3284
if (phy->reset_completion)
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
3285
complete(phy->reset_completion);
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
3349
struct hisi_sas_phy *phy = &hisi_hba->phy[phy_no];
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
3353
DRV_NAME " sata", phy);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1102
struct hisi_sas_phy *phy = &hisi_hba->phy[phy_no];
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1106
if (phy->identify.device_type == SAS_END_DEVICE) {
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1125
struct hisi_sas_phy *phy = &hisi_hba->phy[i];
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1126
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1128
if (!sas_phy->phy->enabled)
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1491
phy_id = device->phy->identify.phy_identifier;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1587
struct hisi_sas_phy *phy = &hisi_hba->phy[phy_no];
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1588
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1604
phy->phy_type &= ~(PORT_TYPE_SAS | PORT_TYPE_SATA);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1622
hisi_sas_notify_phy_event(phy, HISI_PHYE_LINK_RESET);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1636
phy->phy_type |= PORT_TYPE_SATA;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1637
phy->identify.device_type = SAS_SATA_DEV;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1638
phy->frame_rcvd_size = sizeof(struct dev_to_host_fis);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1639
phy->identify.target_port_protocols = SAS_PROTOCOL_SATA;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1655
phy->phy_type |= PORT_TYPE_SAS;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1656
phy->identify.device_type = id->dev_type;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1657
phy->frame_rcvd_size = sizeof(struct sas_identify_frame);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1658
if (phy->identify.device_type == SAS_END_DEVICE)
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1659
phy->identify.target_port_protocols =
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1661
else if (phy->identify.device_type != SAS_PHY_UNUSED)
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1662
phy->identify.target_port_protocols =
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1666
phy->port_id = port_id;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1667
spin_lock(&phy->lock);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1669
timer_delete(&phy->timer);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1670
phy->phy_attached = 1;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1671
spin_unlock(&phy->lock);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1679
res = hisi_sas_notify_phy_event(phy, HISI_PHYE_PHY_UP_PM);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1686
if (phy->reset_completion)
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1687
complete(phy->reset_completion);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1697
struct hisi_sas_phy *phy = &hisi_hba->phy[phy_no];
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1701
atomic_inc(&phy->down_cnt);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1703
timer_delete(&phy->timer);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1727
struct hisi_sas_phy *phy = &hisi_hba->phy[phy_no];
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1733
hisi_sas_phy_bcast(phy);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1856
struct hisi_sas_phy *phy = &hisi_hba->phy[phy_no];
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1857
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1858
struct sas_phy *sphy = sas_phy->phy;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1862
spin_lock_irqsave(&phy->lock, flags);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1882
phy->code_violation_err_count += reg_value;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1884
spin_unlock_irqrestore(&phy->lock, flags);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1891
struct hisi_sas_phy *phy = &hisi_hba->phy[phy_no];
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1907
hisi_sas_notify_phy_event(phy, HISI_PHYE_LINK_RESET);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1917
hisi_sas_notify_phy_event(phy, HISI_PHYE_LINK_RESET);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1921
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1922
struct sas_phy *sphy = sas_phy->phy;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1932
phy->code_violation_err_count);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
1949
hisi_sas_notify_phy_event(phy, HISI_PHYE_LINK_RESET);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4374
struct hisi_sas_phy *phy = s->private;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4385
atomic_set(&phy->down_cnt, 0);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4392
struct hisi_sas_phy *phy = s->private;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4394
seq_printf(s, "%d\n", atomic_read(&phy->down_cnt));
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4412
static int debugfs_is_fifo_config_valid_v3_hw(struct hisi_sas_phy *phy)
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4414
struct hisi_hba *hisi_hba = phy->hisi_hba;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4416
if (phy->fifo.signal_sel > 0xf) {
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4418
phy->fifo.signal_sel);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4422
switch (phy->fifo.dump_mode) {
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4429
phy->fifo.dump_mode);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4434
if (phy->fifo.dump_mode == FIFO_DUMP_FORVER)
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4437
switch (phy->fifo.trigger_mode) {
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4444
phy->fifo.trigger_mode);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4450
static int debugfs_update_fifo_config_v3_hw(struct hisi_sas_phy *phy)
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4452
u32 trigger_mode = phy->fifo.trigger_mode;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4453
u32 signal_sel = phy->fifo.signal_sel;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4454
u32 dump_mode = phy->fifo.dump_mode;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4455
struct hisi_hba *hisi_hba = phy->hisi_hba;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4456
int phy_no = phy->sas_phy.id;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4461
res = debugfs_is_fifo_config_valid_v3_hw(phy);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4480
phy->fifo.dump_msk);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4483
phy->fifo.trigger);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4486
phy->fifo.trigger_msk);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4500
struct hisi_sas_phy *phy = filp->private_data;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4511
val = debugfs_update_fifo_config_v3_hw(phy);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4524
static void debugfs_read_fifo_data_v3_hw(struct hisi_sas_phy *phy)
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4526
struct hisi_hba *hisi_hba = phy->hisi_hba;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4527
u32 *buf = phy->fifo.rd_data;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4528
int phy_no = phy->sas_phy.id;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4532
memset(buf, 0, sizeof(phy->fifo.rd_data));
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4553
struct hisi_sas_phy *phy = s->private;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4555
debugfs_read_fifo_data_v3_hw(phy);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4559
(__le32 *)phy->fifo.rd_data);
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4573
struct hisi_sas_phy *phy = &hisi_hba->phy[phy_no];
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4582
phy->fifo.dump_mode = val;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4587
phy->fifo.trigger_mode = val;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4592
phy->fifo.signal_sel = val;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4595
phy->fifo.dump_msk = val;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4598
phy->fifo.trigger = val;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4600
phy->fifo.trigger_msk = val;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4606
debugfs_create_file("update_config", 0200, port_dentry, phy,
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4610
&phy->fifo.signal_sel,
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4614
&phy->fifo.dump_msk,
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4618
&phy->fifo.dump_mode,
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4622
&phy->fifo.trigger_mode,
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4626
&phy->fifo.trigger,
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4630
&phy->fifo.trigger_msk,
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4633
debugfs_create_file("fifo_data", 0400, port_dentry, phy,
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4706
port->phy = &hisi_hba->phy[p];
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
4814
&hisi_hba->phy[phy_no],
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
5011
sha->sas_phy[i] = &hisi_hba->phy[i].sas_phy;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
714
struct hisi_sas_phy *phy = &hisi_hba->phy[i];
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
715
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
720
if (!sas_phy->phy || (sas_phy->phy->maximum_linkrate <
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
724
max = sas_phy->phy->maximum_linkrate;
drivers/scsi/hpsa.c
9554
struct sas_phy *phy;
drivers/scsi/hpsa.c
9560
phy = sas_phy_alloc(hpsa_sas_port->parent_node->parent_dev,
drivers/scsi/hpsa.c
9562
if (!phy) {
drivers/scsi/hpsa.c
9568
hpsa_sas_phy->phy = phy;
drivers/scsi/hpsa.c
9576
struct sas_phy *phy = hpsa_sas_phy->phy;
drivers/scsi/hpsa.c
9578
sas_port_delete_phy(hpsa_sas_phy->parent_port->port, phy);
drivers/scsi/hpsa.c
9581
sas_phy_delete(phy);
drivers/scsi/hpsa.c
9589
struct sas_phy *phy;
drivers/scsi/hpsa.c
9593
phy = hpsa_sas_phy->phy;
drivers/scsi/hpsa.c
9595
identify = &phy->identify;
drivers/scsi/hpsa.c
9601
phy->minimum_linkrate_hw = SAS_LINK_RATE_UNKNOWN;
drivers/scsi/hpsa.c
9602
phy->maximum_linkrate_hw = SAS_LINK_RATE_UNKNOWN;
drivers/scsi/hpsa.c
9603
phy->minimum_linkrate = SAS_LINK_RATE_UNKNOWN;
drivers/scsi/hpsa.c
9604
phy->maximum_linkrate = SAS_LINK_RATE_UNKNOWN;
drivers/scsi/hpsa.c
9605
phy->negotiated_linkrate = SAS_LINK_RATE_UNKNOWN;
drivers/scsi/hpsa.c
9607
rc = sas_phy_add(hpsa_sas_phy->phy);
drivers/scsi/hpsa.c
9611
sas_port_add_phy(hpsa_sas_port->port, hpsa_sas_phy->phy);
drivers/scsi/hpsa.c
9766
sas_phy_free(hpsa_sas_phy->phy);
drivers/scsi/hpsa.c
9825
hpsa_sas_get_linkerrors(struct sas_phy *phy)
drivers/scsi/hpsa.c
9861
hpsa_sas_phy_reset(struct sas_phy *phy, int hard_reset)
drivers/scsi/hpsa.c
9867
hpsa_sas_phy_enable(struct sas_phy *phy, int enable)
drivers/scsi/hpsa.c
9873
hpsa_sas_phy_setup(struct sas_phy *phy)
drivers/scsi/hpsa.c
9879
hpsa_sas_phy_release(struct sas_phy *phy)
drivers/scsi/hpsa.c
9884
hpsa_sas_phy_speed(struct sas_phy *phy, struct sas_phy_linkrates *rates)
drivers/scsi/hpsa.h
56
struct sas_phy *phy;
drivers/scsi/hptiop.c
1196
dma_addr_t phy;
drivers/scsi/hptiop.c
1214
hba->u.mvfrey.internal_mem_size, &phy, GFP_KERNEL);
drivers/scsi/hptiop.c
1219
hba->u.mvfrey.internal_req.req_shifted_phy = phy >> 5;
drivers/scsi/hptiop.c
1224
phy += 0x800;
drivers/scsi/hptiop.c
1227
hba->u.mvfrey.inlist_phy = phy;
drivers/scsi/hptiop.c
1230
phy += list_count * sizeof(struct mvfrey_inlist_entry);
drivers/scsi/hptiop.c
1233
hba->u.mvfrey.outlist_phy = phy;
drivers/scsi/hptiop.c
1236
phy += list_count * sizeof(struct mvfrey_outlist_entry);
drivers/scsi/hptiop.c
1239
hba->u.mvfrey.outlist_cptr_phy = phy;
drivers/scsi/ipr.c
1963
if (fabric->cascaded_expander == 0xff && fabric->phy == 0xff) {
drivers/scsi/ipr.c
1970
fabric->ioa_port, fabric->phy);
drivers/scsi/ipr.c
1971
} else if (fabric->phy == 0xff) {
drivers/scsi/ipr.c
1978
fabric->ioa_port, fabric->cascaded_expander, fabric->phy);
drivers/scsi/ipr.c
1985
fabric->ioa_port, fabric->cascaded_expander, fabric->phy);
drivers/scsi/ipr.c
2097
cfg->phy, link_rate[cfg->link_rate & IPR_PHY_LINK_RATE_MASK],
drivers/scsi/ipr.c
2100
if (cfg->cascaded_expander == 0xff && cfg->phy == 0xff) {
drivers/scsi/ipr.c
2108
path_type_desc[i].desc, cfg->phy,
drivers/scsi/ipr.c
2111
} else if (cfg->phy == 0xff) {
drivers/scsi/ipr.c
2120
path_type_desc[i].desc, cfg->cascaded_expander, cfg->phy,
drivers/scsi/ipr.c
2130
"WWN=%08X%08X\n", cfg->type_status, cfg->cascaded_expander, cfg->phy,
drivers/scsi/ipr.h
1019
u8 phy;
drivers/scsi/ipr.h
992
u8 phy;
drivers/scsi/isci/host.c
1875
static int is_long_cable(int phy, unsigned char selection_byte)
drivers/scsi/isci/host.c
1877
return !!(selection_byte & (1 << phy));
drivers/scsi/isci/host.c
1880
static int is_medium_cable(int phy, unsigned char selection_byte)
drivers/scsi/isci/host.c
1882
return !!(selection_byte & (1 << (phy + 4)));
drivers/scsi/isci/host.c
1886
int phy,
drivers/scsi/isci/host.c
1889
return ((selection_byte & (1 << phy)) ? 1 : 0)
drivers/scsi/isci/host.c
1890
+ (selection_byte & (1 << (phy + 4)) ? 2 : 0);
drivers/scsi/isci/host.c
1902
enum cable_selections decode_cable_selection(struct isci_host *ihost, int phy)
drivers/scsi/isci/host.c
1904
return decode_selection_byte(phy, *to_cable_select(ihost));
drivers/scsi/isci/host.h
376
#define sci_controller_clear_invalid_phy(controller, phy) \
drivers/scsi/isci/host.h
377
((controller)->invalid_phy_mask &= ~(1 << (phy)->phy_index))
drivers/scsi/isci/host.h
429
enum cable_selections decode_cable_selection(struct isci_host *ihost, int phy);
drivers/scsi/isci/phy.c
1464
struct sas_phy *phy = sas_phy->phy;
drivers/scsi/isci/phy.c
1467
phy->running_disparity_error_count = readl(&r->running_disparity_error_count);
drivers/scsi/isci/phy.c
1468
phy->loss_of_dword_sync_count = readl(&r->loss_of_sync_error_count);
drivers/scsi/isci/phy.c
1469
phy->phy_reset_problem_count = readl(&r->phy_reset_problem_count);
drivers/scsi/isci/phy.c
1470
phy->invalid_dword_count = readl(&r->invalid_dword_counter);
drivers/scsi/isci/phy.h
457
int isci_phy_control(struct asd_sas_phy *phy, enum phy_func func, void *buf);
drivers/scsi/isci/port.c
1722
void isci_port_deformed(struct asd_sas_phy *phy)
drivers/scsi/isci/port.c
1724
struct isci_host *ihost = phy->ha->lldd_ha;
drivers/scsi/isci/port.c
1725
struct isci_port *iport = phy->port->lldd_port;
drivers/scsi/isci/port.c
1747
void isci_port_formed(struct asd_sas_phy *phy)
drivers/scsi/isci/port.c
1749
struct isci_host *ihost = phy->ha->lldd_ha;
drivers/scsi/isci/port.c
1750
struct isci_phy *iphy = to_iphy(phy);
drivers/scsi/isci/port.c
1751
struct asd_sas_port *port = phy->port;
drivers/scsi/isci/port.c
220
iphy->sas_phy.phy->negotiated_linkrate = sci_phy_linkrate(iphy);
drivers/scsi/isci/port.h
199
#define sci_port_active_phy(port, phy) \
drivers/scsi/isci/port.h
200
(((port)->active_phy_mask & (1 << (phy)->phy_index)) != 0)
drivers/scsi/isci/task.c
720
struct sas_phy *phy = sas_get_local_phy(dev);
drivers/scsi/isci/task.c
738
if (scsi_is_sas_phy_local(phy)) {
drivers/scsi/isci/task.c
739
struct isci_phy *iphy = &ihost->phys[phy->number];
drivers/scsi/isci/task.c
744
reset_stat = sas_phy_reset(phy, !dev_is_sata(dev));
drivers/scsi/isci/task.c
752
sas_put_local_phy(phy);
drivers/scsi/libsas/sas_ata.c
255
static int sas_get_ata_info(struct domain_device *dev, struct ex_phy *phy)
drivers/scsi/libsas/sas_ata.c
257
if (phy->attached_tproto & SAS_PROTOCOL_STP)
drivers/scsi/libsas/sas_ata.c
258
dev->tproto = phy->attached_tproto;
drivers/scsi/libsas/sas_ata.c
259
if (phy->attached_sata_dev)
drivers/scsi/libsas/sas_ata.c
262
if (phy->attached_dev_type == SAS_SATA_PENDING)
drivers/scsi/libsas/sas_ata.c
268
res = sas_get_report_phy_sata(dev->parent, phy->phy_id,
drivers/scsi/libsas/sas_ata.c
273
phy->phy_id, res);
drivers/scsi/libsas/sas_ata.c
283
static int sas_ata_clear_pending(struct domain_device *dev, struct ex_phy *phy)
drivers/scsi/libsas/sas_ata.c
294
res = sas_get_ata_info(dev, phy);
drivers/scsi/libsas/sas_ata.c
304
struct sas_phy *phy = sas_get_local_phy(dev);
drivers/scsi/libsas/sas_ata.c
310
res = sas_get_phy_attached_dev(ex_dev, phy->number, sas_addr, &type);
drivers/scsi/libsas/sas_ata.c
311
sas_put_local_phy(phy);
drivers/scsi/libsas/sas_ata.c
332
struct sas_phy *phy = sas_get_local_phy(dev);
drivers/scsi/libsas/sas_ata.c
333
struct ex_phy *ex_phy = &ex_dev->ex_dev.ex_phy[phy->number];
drivers/scsi/libsas/sas_ata.c
335
res = sas_ex_phy_discover(ex_dev, phy->number);
drivers/scsi/libsas/sas_ata.c
336
sas_put_local_phy(phy);
drivers/scsi/libsas/sas_ata.c
403
struct sas_phy *phy;
drivers/scsi/libsas/sas_ata.c
406
phy = sas_get_local_phy(dev);
drivers/scsi/libsas/sas_ata.c
407
if (scsi_is_sas_phy_local(phy))
drivers/scsi/libsas/sas_ata.c
411
sas_put_local_phy(phy);
drivers/scsi/libsas/sas_ata.c
671
int sas_ata_add_dev(struct domain_device *parent, struct ex_phy *phy,
drivers/scsi/libsas/sas_ata.c
678
struct sas_phy *cphy = child->phy;
drivers/scsi/libsas/sas_ata.c
701
ret = sas_get_ata_info(child, phy);
drivers/scsi/libsas/sas_ata.c
710
rphy = sas_end_device_alloc(phy->port);
drivers/scsi/libsas/sas_discover.c
133
rphy->identify.phy_identifier = phy->phy->identify.phy_identifier;
drivers/scsi/libsas/sas_discover.c
160
list_for_each_entry(phy, &port->phy_list, port_phy_el)
drivers/scsi/libsas/sas_discover.c
161
sas_phy_set_target(phy, dev);
drivers/scsi/libsas/sas_discover.c
233
struct asd_sas_phy *phy;
drivers/scsi/libsas/sas_discover.c
254
list_for_each_entry(phy, &port->phy_list, port_phy_el) {
drivers/scsi/libsas/sas_discover.c
256
si->dft->lldd_port_deformed(phy);
drivers/scsi/libsas/sas_discover.c
257
phy->suspended = 1;
drivers/scsi/libsas/sas_discover.c
295
sas_port_put_phy(dev->phy);
drivers/scsi/libsas/sas_discover.c
296
dev->phy = NULL;
drivers/scsi/libsas/sas_discover.c
440
sas_port_put_phy(dev->phy);
drivers/scsi/libsas/sas_discover.c
441
dev->phy = new_phy;
drivers/scsi/libsas/sas_discover.c
51
struct asd_sas_phy *phy;
drivers/scsi/libsas/sas_discover.c
66
phy = container_of(port->phy_list.next, struct asd_sas_phy, port_phy_el);
drivers/scsi/libsas/sas_discover.c
67
spin_lock(&phy->frame_rcvd_lock);
drivers/scsi/libsas/sas_discover.c
68
memcpy(dev->frame_rcvd, phy->frame_rcvd, min(sizeof(dev->frame_rcvd),
drivers/scsi/libsas/sas_discover.c
69
(size_t)phy->frame_rcvd_size));
drivers/scsi/libsas/sas_discover.c
70
spin_unlock(&phy->frame_rcvd_lock);
drivers/scsi/libsas/sas_event.c
127
struct asd_sas_phy *phy = ev->phy;
drivers/scsi/libsas/sas_event.c
128
struct sas_ha_struct *ha = phy->ha;
drivers/scsi/libsas/sas_event.c
138
struct asd_sas_phy *phy = ev->phy;
drivers/scsi/libsas/sas_event.c
139
struct sas_ha_struct *ha = phy->ha;
drivers/scsi/libsas/sas_event.c
147
static bool sas_defer_event(struct asd_sas_phy *phy, struct asd_sas_event *ev)
drivers/scsi/libsas/sas_event.c
149
struct sas_ha_struct *ha = phy->ha;
drivers/scsi/libsas/sas_event.c
154
if (test_bit(SAS_HA_RESUMING, &ha->state) && !phy->suspended) {
drivers/scsi/libsas/sas_event.c
164
void sas_notify_port_event(struct asd_sas_phy *phy, enum port_event event,
drivers/scsi/libsas/sas_event.c
167
struct sas_ha_struct *ha = phy->ha;
drivers/scsi/libsas/sas_event.c
172
ev = sas_alloc_event(phy, gfp_flags);
drivers/scsi/libsas/sas_event.c
179
INIT_SAS_EVENT(ev, sas_port_event_worker, phy, event);
drivers/scsi/libsas/sas_event.c
181
if (sas_defer_event(phy, ev))
drivers/scsi/libsas/sas_event.c
191
void sas_notify_phy_event(struct asd_sas_phy *phy, enum phy_event event,
drivers/scsi/libsas/sas_event.c
194
struct sas_ha_struct *ha = phy->ha;
drivers/scsi/libsas/sas_event.c
199
ev = sas_alloc_event(phy, gfp_flags);
drivers/scsi/libsas/sas_event.c
206
INIT_SAS_EVENT(ev, sas_phy_event_worker, phy, event);
drivers/scsi/libsas/sas_event.c
208
if (sas_defer_event(phy, ev))
drivers/scsi/libsas/sas_expander.c
1069
struct ex_phy *phy = &ex->ex_phy[i];
drivers/scsi/libsas/sas_expander.c
1071
if (phy->phy_state == PHY_VACANT ||
drivers/scsi/libsas/sas_expander.c
1072
phy->phy_state == PHY_NOT_PRESENT)
drivers/scsi/libsas/sas_expander.c
1075
if (dev_is_expander(phy->attached_dev_type) &&
drivers/scsi/libsas/sas_expander.c
1076
phy->routing_attr == SUBTRACTIVE_ROUTING) {
drivers/scsi/libsas/sas_expander.c
1078
memcpy(sub_addr, phy->attached_sas_addr, SAS_ADDR_SIZE);
drivers/scsi/libsas/sas_expander.c
1172
struct ex_phy *phy = &ex->ex_phy[i];
drivers/scsi/libsas/sas_expander.c
1174
if (phy->phy_state == PHY_VACANT ||
drivers/scsi/libsas/sas_expander.c
1175
phy->phy_state == PHY_NOT_PRESENT)
drivers/scsi/libsas/sas_expander.c
1178
if (dev_is_expander(phy->attached_dev_type) &&
drivers/scsi/libsas/sas_expander.c
1179
phy->routing_attr == SUBTRACTIVE_ROUTING) {
drivers/scsi/libsas/sas_expander.c
1182
sub_sas_addr = &phy->attached_sas_addr[0];
drivers/scsi/libsas/sas_expander.c
1184
SAS_ADDR(phy->attached_sas_addr)) {
drivers/scsi/libsas/sas_expander.c
1188
SAS_ADDR(phy->attached_sas_addr),
drivers/scsi/libsas/sas_expander.c
1356
struct ex_phy *phy = &ex->ex_phy[phy_id];
drivers/scsi/libsas/sas_expander.c
1407
phy->last_da_index < i) {
drivers/scsi/libsas/sas_expander.c
1408
phy->last_da_index = i;
drivers/scsi/libsas/sas_expander.c
1509
struct ex_phy *phy = &ex_parent->ex_phy[i];
drivers/scsi/libsas/sas_expander.c
1511
if ((phy->routing_attr == TABLE_ROUTING) &&
drivers/scsi/libsas/sas_expander.c
1512
sas_phy_match_dev_addr(child, phy)) {
drivers/scsi/libsas/sas_expander.c
171
static char sas_route_char(struct domain_device *dev, struct ex_phy *phy)
drivers/scsi/libsas/sas_expander.c
173
switch (phy->routing_attr) {
drivers/scsi/libsas/sas_expander.c
1847
struct ex_phy *phy = &ex_dev->ex_phy[phy_id];
drivers/scsi/libsas/sas_expander.c
1852
if (sas_phy_match_dev_addr(child, phy)) {
drivers/scsi/libsas/sas_expander.c
1862
sas_disable_routing(parent, phy->attached_sas_addr);
drivers/scsi/libsas/sas_expander.c
1864
memset(phy->attached_sas_addr, 0, SAS_ADDR_SIZE);
drivers/scsi/libsas/sas_expander.c
1865
if (phy->port) {
drivers/scsi/libsas/sas_expander.c
1866
sas_port_delete_phy(phy->port, phy->phy);
drivers/scsi/libsas/sas_expander.c
1867
sas_device_set_phy(found, phy->port);
drivers/scsi/libsas/sas_expander.c
1868
if (phy->port->num_phys == 0) {
drivers/scsi/libsas/sas_expander.c
1869
list_add_tail(&phy->port->del_list,
drivers/scsi/libsas/sas_expander.c
1871
if (ex_dev->parent_port == phy->port)
drivers/scsi/libsas/sas_expander.c
1874
phy->port = NULL;
drivers/scsi/libsas/sas_expander.c
1965
struct ex_phy *phy = &ex->ex_phy[phy_id];
drivers/scsi/libsas/sas_expander.c
1986
phy->phy_state = PHY_NOT_PRESENT;
drivers/scsi/libsas/sas_expander.c
1990
phy->phy_state = PHY_VACANT;
drivers/scsi/libsas/sas_expander.c
2005
phy->phy_state = PHY_EMPTY;
drivers/scsi/libsas/sas_expander.c
2014
} else if (SAS_ADDR(sas_addr) == SAS_ADDR(phy->attached_sas_addr) &&
drivers/scsi/libsas/sas_expander.c
2015
dev_type_flutter(type, phy->attached_dev_type)) {
drivers/scsi/libsas/sas_expander.c
2021
if (ata_dev && phy->attached_dev_type == SAS_SATA_PENDING)
drivers/scsi/libsas/sas_expander.c
2031
SAS_ADDR(phy->attached_sas_addr));
drivers/scsi/libsas/sas_expander.c
2067
struct ex_phy *phy = &ex->ex_phy[i];
drivers/scsi/libsas/sas_expander.c
2071
if (sas_phy_addr_match(phy, changed_phy)) {
drivers/scsi/libsas/sas_expander.c
209
struct ex_phy *phy = &ex->ex_phy[phy_id];
drivers/scsi/libsas/sas_expander.c
211
bool new_phy = !phy->phy;
drivers/scsi/libsas/sas_expander.c
2116
struct ex_phy *phy;
drivers/scsi/libsas/sas_expander.c
2120
phy = &ex_dev->ex_phy[phy_id];
drivers/scsi/libsas/sas_expander.c
2121
if (sas_phy_match_dev_addr(dev, phy))
drivers/scsi/libsas/sas_expander.c
217
phy->phy = sas_phy_alloc(&rphy->dev, phy_id);
drivers/scsi/libsas/sas_expander.c
220
BUG_ON(!phy->phy);
drivers/scsi/libsas/sas_expander.c
225
phy->phy_state = PHY_VACANT;
drivers/scsi/libsas/sas_expander.c
228
phy->phy_state = PHY_NOT_PRESENT;
drivers/scsi/libsas/sas_expander.c
231
phy->phy_state = PHY_EMPTY; /* do not know yet */
drivers/scsi/libsas/sas_expander.c
236
dev_type = phy->attached_dev_type;
drivers/scsi/libsas/sas_expander.c
237
linkrate = phy->linkrate;
drivers/scsi/libsas/sas_expander.c
238
memcpy(sas_addr, phy->attached_sas_addr, SAS_ADDR_SIZE);
drivers/scsi/libsas/sas_expander.c
241
if (phy->phy_state == PHY_VACANT) {
drivers/scsi/libsas/sas_expander.c
242
memset(phy->attached_sas_addr, 0, SAS_ADDR_SIZE);
drivers/scsi/libsas/sas_expander.c
243
phy->attached_dev_type = SAS_PHY_UNUSED;
drivers/scsi/libsas/sas_expander.c
245
phy->phy_id = phy_id;
drivers/scsi/libsas/sas_expander.c
251
phy->attached_dev_type = to_dev_type(dr);
drivers/scsi/libsas/sas_expander.c
254
phy->phy_id = phy_id;
drivers/scsi/libsas/sas_expander.c
255
phy->linkrate = dr->linkrate;
drivers/scsi/libsas/sas_expander.c
256
phy->attached_sata_host = dr->attached_sata_host;
drivers/scsi/libsas/sas_expander.c
257
phy->attached_sata_dev = dr->attached_sata_dev;
drivers/scsi/libsas/sas_expander.c
258
phy->attached_sata_ps = dr->attached_sata_ps;
drivers/scsi/libsas/sas_expander.c
259
phy->attached_iproto = dr->iproto << 1;
drivers/scsi/libsas/sas_expander.c
260
phy->attached_tproto = dr->tproto << 1;
drivers/scsi/libsas/sas_expander.c
264
if (phy->attached_dev_type == SAS_PHY_UNUSED)
drivers/scsi/libsas/sas_expander.c
265
memset(phy->attached_sas_addr, 0, SAS_ADDR_SIZE);
drivers/scsi/libsas/sas_expander.c
267
memcpy(phy->attached_sas_addr, dr->attached_sas_addr, SAS_ADDR_SIZE);
drivers/scsi/libsas/sas_expander.c
268
phy->attached_phy_id = dr->attached_phy_id;
drivers/scsi/libsas/sas_expander.c
269
phy->phy_change_count = dr->change_count;
drivers/scsi/libsas/sas_expander.c
270
phy->routing_attr = dr->routing_attr;
drivers/scsi/libsas/sas_expander.c
271
phy->virtual = dr->virtual;
drivers/scsi/libsas/sas_expander.c
272
phy->last_da_index = -1;
drivers/scsi/libsas/sas_expander.c
274
phy->phy->identify.sas_address = SAS_ADDR(phy->attached_sas_addr);
drivers/scsi/libsas/sas_expander.c
275
phy->phy->identify.device_type = dr->attached_dev_type;
drivers/scsi/libsas/sas_expander.c
276
phy->phy->identify.initiator_port_protocols = phy->attached_iproto;
drivers/scsi/libsas/sas_expander.c
277
phy->phy->identify.target_port_protocols = phy->attached_tproto;
drivers/scsi/libsas/sas_expander.c
278
if (!phy->attached_tproto && dr->attached_sata_dev)
drivers/scsi/libsas/sas_expander.c
279
phy->phy->identify.target_port_protocols = SAS_PROTOCOL_SATA;
drivers/scsi/libsas/sas_expander.c
280
phy->phy->identify.phy_identifier = phy_id;
drivers/scsi/libsas/sas_expander.c
281
phy->phy->minimum_linkrate_hw = dr->hmin_linkrate;
drivers/scsi/libsas/sas_expander.c
282
phy->phy->maximum_linkrate_hw = dr->hmax_linkrate;
drivers/scsi/libsas/sas_expander.c
283
phy->phy->minimum_linkrate = dr->pmin_linkrate;
drivers/scsi/libsas/sas_expander.c
284
phy->phy->maximum_linkrate = dr->pmax_linkrate;
drivers/scsi/libsas/sas_expander.c
285
phy->phy->negotiated_linkrate = phy->linkrate;
drivers/scsi/libsas/sas_expander.c
286
phy->phy->enabled = (phy->linkrate != SAS_PHY_DISABLED);
drivers/scsi/libsas/sas_expander.c
290
if (sas_phy_add(phy->phy)) {
drivers/scsi/libsas/sas_expander.c
291
sas_phy_free(phy->phy);
drivers/scsi/libsas/sas_expander.c
296
switch (phy->attached_dev_type) {
drivers/scsi/libsas/sas_expander.c
304
if (phy->attached_iproto) {
drivers/scsi/libsas/sas_expander.c
305
if (phy->attached_tproto)
drivers/scsi/libsas/sas_expander.c
31
sas_port_add_phy(port, ex_phy->phy);
drivers/scsi/libsas/sas_expander.c
327
if (new_phy || phy->attached_dev_type != dev_type ||
drivers/scsi/libsas/sas_expander.c
328
phy->linkrate != linkrate ||
drivers/scsi/libsas/sas_expander.c
329
SAS_ADDR(phy->attached_sas_addr) != SAS_ADDR(sas_addr))
drivers/scsi/libsas/sas_expander.c
343
SAS_ADDR(dev->sas_addr), phy->phy_id,
drivers/scsi/libsas/sas_expander.c
344
sas_route_char(dev, phy), phy->linkrate,
drivers/scsi/libsas/sas_expander.c
345
SAS_ADDR(phy->attached_sas_addr), type);
drivers/scsi/libsas/sas_expander.c
619
struct ex_phy *phy = &ex->ex_phy[phy_id];
drivers/scsi/libsas/sas_expander.c
622
phy->linkrate = SAS_PHY_DISABLED;
drivers/scsi/libsas/sas_expander.c
631
struct ex_phy *phy = &ex->ex_phy[i];
drivers/scsi/libsas/sas_expander.c
633
if (phy->phy_state == PHY_VACANT ||
drivers/scsi/libsas/sas_expander.c
634
phy->phy_state == PHY_NOT_PRESENT)
drivers/scsi/libsas/sas_expander.c
637
if (SAS_ADDR(phy->attached_sas_addr) == SAS_ADDR(sas_addr))
drivers/scsi/libsas/sas_expander.c
658
int sas_smp_get_phy_events(struct sas_phy *phy)
drivers/scsi/libsas/sas_expander.c
663
struct sas_rphy *rphy = dev_to_rphy(phy->dev.parent);
drivers/scsi/libsas/sas_expander.c
677
req[9] = phy->number;
drivers/scsi/libsas/sas_expander.c
685
phy->invalid_dword_count = get_unaligned_be32(&resp[12]);
drivers/scsi/libsas/sas_expander.c
686
phy->running_disparity_error_count = get_unaligned_be32(&resp[16]);
drivers/scsi/libsas/sas_expander.c
687
phy->loss_of_dword_sync_count = get_unaligned_be32(&resp[20]);
drivers/scsi/libsas/sas_expander.c
688
phy->phy_reset_problem_count = get_unaligned_be32(&resp[24]);
drivers/scsi/libsas/sas_expander.c
756
struct ex_phy *phy = &parent_ex->ex_phy[i];
drivers/scsi/libsas/sas_expander.c
758
if (phy->phy_state == PHY_VACANT ||
drivers/scsi/libsas/sas_expander.c
759
phy->phy_state == PHY_NOT_PRESENT)
drivers/scsi/libsas/sas_expander.c
762
if (sas_phy_match_dev_addr(child, phy)) {
drivers/scsi/libsas/sas_expander.c
764
phy->linkrate);
drivers/scsi/libsas/sas_expander.c
766
phy->linkrate);
drivers/scsi/libsas/sas_expander.c
768
sas_port_add_phy(port, phy->phy);
drivers/scsi/libsas/sas_expander.c
775
static int sas_ex_add_dev(struct domain_device *parent, struct ex_phy *phy,
drivers/scsi/libsas/sas_expander.c
782
rphy = sas_end_device_alloc(phy->port);
drivers/scsi/libsas/sas_expander.c
786
child->tproto = phy->attached_tproto;
drivers/scsi/libsas/sas_expander.c
813
struct ex_phy *phy = &parent_ex->ex_phy[phy_id];
drivers/scsi/libsas/sas_expander.c
817
if (phy->attached_sata_host || phy->attached_sata_ps)
drivers/scsi/libsas/sas_expander.c
827
child->iproto = phy->attached_iproto;
drivers/scsi/libsas/sas_expander.c
828
memcpy(child->sas_addr, phy->attached_sas_addr, SAS_ADDR_SIZE);
drivers/scsi/libsas/sas_expander.c
830
if (!phy->port) {
drivers/scsi/libsas/sas_expander.c
831
phy->port = sas_port_alloc(&parent->rphy->dev, phy_id);
drivers/scsi/libsas/sas_expander.c
832
if (unlikely(!phy->port))
drivers/scsi/libsas/sas_expander.c
834
if (unlikely(sas_port_add(phy->port) != 0)) {
drivers/scsi/libsas/sas_expander.c
835
sas_port_free(phy->port);
drivers/scsi/libsas/sas_expander.c
839
sas_ex_get_linkrate(parent, child, phy);
drivers/scsi/libsas/sas_expander.c
840
sas_device_set_phy(child, phy->port);
drivers/scsi/libsas/sas_expander.c
842
if ((phy->attached_tproto & SAS_PROTOCOL_STP) || phy->attached_sata_dev) {
drivers/scsi/libsas/sas_expander.c
843
res = sas_ata_add_dev(parent, phy, child, phy_id);
drivers/scsi/libsas/sas_expander.c
844
} else if (phy->attached_tproto & SAS_PROTOCOL_SSP) {
drivers/scsi/libsas/sas_expander.c
845
res = sas_ex_add_dev(parent, phy, child, phy_id);
drivers/scsi/libsas/sas_expander.c
848
phy->attached_tproto, SAS_ADDR(parent->sas_addr),
drivers/scsi/libsas/sas_expander.c
860
sas_port_delete(phy->port);
drivers/scsi/libsas/sas_expander.c
862
phy->port = NULL;
drivers/scsi/libsas/sas_expander.c
870
struct ex_phy *phy = &parent->ex_dev.ex_phy[phy_id];
drivers/scsi/libsas/sas_expander.c
876
if (ephy == phy)
drivers/scsi/libsas/sas_expander.c
879
if (!memcmp(phy->attached_sas_addr, ephy->attached_sas_addr,
drivers/scsi/libsas/sas_expander.c
881
sas_port_add_ex_phy(ephy->port, phy);
drivers/scsi/libsas/sas_expander.c
893
struct ex_phy *phy = &parent->ex_dev.ex_phy[phy_id];
drivers/scsi/libsas/sas_expander.c
900
if (phy->routing_attr == DIRECT_ROUTING) {
drivers/scsi/libsas/sas_expander.c
903
SAS_ADDR(phy->attached_sas_addr),
drivers/scsi/libsas/sas_expander.c
904
phy->attached_phy_id);
drivers/scsi/libsas/sas_expander.c
911
phy->port = sas_port_alloc(&parent->rphy->dev, phy_id);
drivers/scsi/libsas/sas_expander.c
913
BUG_ON(sas_port_add(phy->port) != 0);
drivers/scsi/libsas/sas_expander.c
916
switch (phy->attached_dev_type) {
drivers/scsi/libsas/sas_expander.c
918
rphy = sas_expander_alloc(phy->port,
drivers/scsi/libsas/sas_expander.c
922
rphy = sas_expander_alloc(phy->port,
drivers/scsi/libsas/sas_expander.c
933
child->dev_type = phy->attached_dev_type;
drivers/scsi/libsas/sas_expander.c
937
child->iproto = phy->attached_iproto;
drivers/scsi/libsas/sas_expander.c
938
child->tproto = phy->attached_tproto;
drivers/scsi/libsas/sas_expander.c
939
memcpy(child->sas_addr, phy->attached_sas_addr, SAS_ADDR_SIZE);
drivers/scsi/libsas/sas_expander.c
941
sas_ex_get_linkrate(parent, child, phy);
drivers/scsi/libsas/sas_expander.c
960
sas_port_delete(phy->port);
drivers/scsi/libsas/sas_expander.c
961
phy->port = NULL;
drivers/scsi/libsas/sas_host_smp.c
22
struct sas_phy *phy;
drivers/scsi/libsas/sas_host_smp.c
31
phy = sas_ha->sas_phy[phy_id]->phy;
drivers/scsi/libsas/sas_host_smp.c
33
resp_data[13] = phy->negotiated_linkrate;
drivers/scsi/libsas/sas_host_smp.c
37
resp_data[40] = (phy->minimum_linkrate << 4) |
drivers/scsi/libsas/sas_host_smp.c
38
phy->minimum_linkrate_hw;
drivers/scsi/libsas/sas_host_smp.c
39
resp_data[41] = (phy->maximum_linkrate << 4) |
drivers/scsi/libsas/sas_host_smp.c
40
phy->maximum_linkrate_hw;
drivers/scsi/libsas/sas_init.c
180
static int sas_get_linkerrors(struct sas_phy *phy)
drivers/scsi/libsas/sas_init.c
182
if (scsi_is_sas_phy_local(phy)) {
drivers/scsi/libsas/sas_init.c
183
struct Scsi_Host *shost = dev_to_shost(phy->dev.parent);
drivers/scsi/libsas/sas_init.c
185
struct asd_sas_phy *asd_phy = sas_ha->sas_phy[phy->number];
drivers/scsi/libsas/sas_init.c
192
return sas_smp_get_phy_events(phy);
drivers/scsi/libsas/sas_init.c
222
static int transport_sas_phy_reset(struct sas_phy *phy, int hard_reset)
drivers/scsi/libsas/sas_init.c
231
if (scsi_is_sas_phy_local(phy)) {
drivers/scsi/libsas/sas_init.c
232
struct Scsi_Host *shost = dev_to_shost(phy->dev.parent);
drivers/scsi/libsas/sas_init.c
234
struct asd_sas_phy *asd_phy = sas_ha->sas_phy[phy->number];
drivers/scsi/libsas/sas_init.c
242
struct sas_rphy *rphy = dev_to_rphy(phy->dev.parent);
drivers/scsi/libsas/sas_init.c
244
struct domain_device *ata_dev = sas_ex_to_ata(ddev, phy->number);
drivers/scsi/libsas/sas_init.c
251
return sas_smp_phy_control(ddev, phy->number, reset_type, NULL);
drivers/scsi/libsas/sas_init.c
255
int sas_phy_enable(struct sas_phy *phy, int enable)
drivers/scsi/libsas/sas_init.c
265
if (scsi_is_sas_phy_local(phy)) {
drivers/scsi/libsas/sas_init.c
266
struct Scsi_Host *shost = dev_to_shost(phy->dev.parent);
drivers/scsi/libsas/sas_init.c
268
struct asd_sas_phy *asd_phy = sas_ha->sas_phy[phy->number];
drivers/scsi/libsas/sas_init.c
273
ret = transport_sas_phy_reset(phy, 0);
drivers/scsi/libsas/sas_init.c
277
struct sas_rphy *rphy = dev_to_rphy(phy->dev.parent);
drivers/scsi/libsas/sas_init.c
281
ret = transport_sas_phy_reset(phy, 0);
drivers/scsi/libsas/sas_init.c
283
ret = sas_smp_phy_control(ddev, phy->number, cmd, NULL);
drivers/scsi/libsas/sas_init.c
289
int sas_phy_reset(struct sas_phy *phy, int hard_reset)
drivers/scsi/libsas/sas_init.c
294
if (!phy->enabled)
drivers/scsi/libsas/sas_init.c
302
if (scsi_is_sas_phy_local(phy)) {
drivers/scsi/libsas/sas_init.c
303
struct Scsi_Host *shost = dev_to_shost(phy->dev.parent);
drivers/scsi/libsas/sas_init.c
305
struct asd_sas_phy *asd_phy = sas_ha->sas_phy[phy->number];
drivers/scsi/libsas/sas_init.c
311
struct sas_rphy *rphy = dev_to_rphy(phy->dev.parent);
drivers/scsi/libsas/sas_init.c
313
ret = sas_smp_phy_control(ddev, phy->number, reset_type, NULL);
drivers/scsi/libsas/sas_init.c
319
static int sas_set_phy_speed(struct sas_phy *phy,
drivers/scsi/libsas/sas_init.c
325
rates->minimum_linkrate > phy->maximum_linkrate) ||
drivers/scsi/libsas/sas_init.c
327
rates->maximum_linkrate < phy->minimum_linkrate))
drivers/scsi/libsas/sas_init.c
331
rates->minimum_linkrate < phy->minimum_linkrate_hw)
drivers/scsi/libsas/sas_init.c
332
rates->minimum_linkrate = phy->minimum_linkrate_hw;
drivers/scsi/libsas/sas_init.c
335
rates->maximum_linkrate > phy->maximum_linkrate_hw)
drivers/scsi/libsas/sas_init.c
336
rates->maximum_linkrate = phy->maximum_linkrate_hw;
drivers/scsi/libsas/sas_init.c
338
if (scsi_is_sas_phy_local(phy)) {
drivers/scsi/libsas/sas_init.c
339
struct Scsi_Host *shost = dev_to_shost(phy->dev.parent);
drivers/scsi/libsas/sas_init.c
341
struct asd_sas_phy *asd_phy = sas_ha->sas_phy[phy->number];
drivers/scsi/libsas/sas_init.c
348
struct sas_rphy *rphy = dev_to_rphy(phy->dev.parent);
drivers/scsi/libsas/sas_init.c
350
ret = sas_smp_phy_control(ddev, phy->number,
drivers/scsi/libsas/sas_init.c
367
struct asd_sas_phy *phy = ha->sas_phy[i];
drivers/scsi/libsas/sas_init.c
369
memset(phy->attached_sas_addr, 0, SAS_ADDR_SIZE);
drivers/scsi/libsas/sas_init.c
370
phy->frame_rcvd_size = 0;
drivers/scsi/libsas/sas_init.c
380
struct asd_sas_phy *phy = ha->sas_phy[i];
drivers/scsi/libsas/sas_init.c
382
if (phy->suspended)
drivers/scsi/libsas/sas_init.c
430
struct asd_sas_phy *phy = ha->sas_phy[i];
drivers/scsi/libsas/sas_init.c
432
if (phy->suspended) {
drivers/scsi/libsas/sas_init.c
433
dev_warn(&phy->phy->dev, "resume timeout\n");
drivers/scsi/libsas/sas_init.c
434
sas_notify_phy_event(phy, PHYE_RESUME_TIMEOUT,
drivers/scsi/libsas/sas_init.c
486
static void sas_phy_release(struct sas_phy *phy)
drivers/scsi/libsas/sas_init.c
488
kfree(phy->hostdata);
drivers/scsi/libsas/sas_init.c
489
phy->hostdata = NULL;
drivers/scsi/libsas/sas_init.c
496
d->reset_result = transport_sas_phy_reset(d->phy, d->hard_reset);
drivers/scsi/libsas/sas_init.c
503
d->enable_result = sas_phy_enable(d->phy, d->enable);
drivers/scsi/libsas/sas_init.c
506
static int sas_phy_setup(struct sas_phy *phy)
drivers/scsi/libsas/sas_init.c
516
d->phy = phy;
drivers/scsi/libsas/sas_init.c
517
phy->hostdata = d;
drivers/scsi/libsas/sas_init.c
522
static int queue_phy_reset(struct sas_phy *phy, int hard_reset)
drivers/scsi/libsas/sas_init.c
524
struct Scsi_Host *shost = dev_to_shost(phy->dev.parent);
drivers/scsi/libsas/sas_init.c
526
struct sas_phy_data *d = phy->hostdata;
drivers/scsi/libsas/sas_init.c
551
static int queue_phy_enable(struct sas_phy *phy, int enable)
drivers/scsi/libsas/sas_init.c
553
struct Scsi_Host *shost = dev_to_shost(phy->dev.parent);
drivers/scsi/libsas/sas_init.c
555
struct sas_phy_data *d = phy->hostdata;
drivers/scsi/libsas/sas_init.c
639
struct asd_sas_event *sas_alloc_event(struct asd_sas_phy *phy,
drivers/scsi/libsas/sas_init.c
643
struct sas_ha_struct *sas_ha = phy->ha;
drivers/scsi/libsas/sas_init.c
651
atomic_inc(&phy->event_nr);
drivers/scsi/libsas/sas_init.c
653
if (atomic_read(&phy->event_nr) > phy->ha->event_thres) {
drivers/scsi/libsas/sas_init.c
655
if (cmpxchg(&phy->in_shutdown, 0, 1) == 0) {
drivers/scsi/libsas/sas_init.c
657
phy->id);
drivers/scsi/libsas/sas_init.c
658
sas_notify_phy_event(phy, PHYE_SHUTDOWN,
drivers/scsi/libsas/sas_init.c
665
atomic_dec(&phy->event_nr);
drivers/scsi/libsas/sas_init.c
675
struct asd_sas_phy *phy = event->phy;
drivers/scsi/libsas/sas_init.c
678
atomic_dec(&phy->event_nr);
drivers/scsi/libsas/sas_internal.h
100
int sas_try_ata_reset(struct asd_sas_phy *phy);
drivers/scsi/libsas/sas_internal.h
127
struct ex_phy *phy)
drivers/scsi/libsas/sas_internal.h
129
return SAS_ADDR(dev->sas_addr) == SAS_ADDR(phy->attached_sas_addr);
drivers/scsi/libsas/sas_internal.h
133
struct ex_phy *phy)
drivers/scsi/libsas/sas_internal.h
135
return SAS_ADDR(port->sas_addr) == SAS_ADDR(phy->attached_sas_addr);
drivers/scsi/libsas/sas_internal.h
179
struct sas_phy *phy = p->phy;
drivers/scsi/libsas/sas_internal.h
183
phy->identify.device_type = SAS_END_DEVICE;
drivers/scsi/libsas/sas_internal.h
185
phy->identify.device_type = dev->dev_type;
drivers/scsi/libsas/sas_internal.h
186
phy->identify.target_port_protocols = dev->tproto;
drivers/scsi/libsas/sas_internal.h
188
phy->identify.device_type = SAS_PHY_UNUSED;
drivers/scsi/libsas/sas_internal.h
189
phy->identify.target_port_protocols = 0;
drivers/scsi/libsas/sas_internal.h
217
int sas_ata_add_dev(struct domain_device *parent, struct ex_phy *phy,
drivers/scsi/libsas/sas_internal.h
277
static inline int sas_ata_add_dev(struct domain_device *parent, struct ex_phy *phy,
drivers/scsi/libsas/sas_internal.h
32
struct sas_phy *phy;
drivers/scsi/libsas/sas_internal.h
59
struct asd_sas_event *sas_alloc_event(struct asd_sas_phy *phy, gfp_t gfp_flags);
drivers/scsi/libsas/sas_internal.h
74
void sas_deform_port(struct asd_sas_phy *phy, bool gone);
drivers/scsi/libsas/sas_internal.h
90
int sas_smp_get_phy_events(struct sas_phy *phy);
drivers/scsi/libsas/sas_phy.c
100
if (phy->enabled) {
drivers/scsi/libsas/sas_phy.c
103
phy->error = 0;
drivers/scsi/libsas/sas_phy.c
104
phy->enabled = 0;
drivers/scsi/libsas/sas_phy.c
105
ret = i->dft->lldd_control_phy(phy, PHY_FUNC_DISABLE, NULL);
drivers/scsi/libsas/sas_phy.c
107
pr_notice("lldd disable phy%d returned %d\n", phy->id,
drivers/scsi/libsas/sas_phy.c
110
pr_notice("phy%d is not enabled, cannot shutdown\n", phy->id);
drivers/scsi/libsas/sas_phy.c
111
phy->in_shutdown = 0;
drivers/scsi/libsas/sas_phy.c
123
struct asd_sas_phy *phy = sas_ha->sas_phy[i];
drivers/scsi/libsas/sas_phy.c
125
phy->error = 0;
drivers/scsi/libsas/sas_phy.c
126
atomic_set(&phy->event_nr, 0);
drivers/scsi/libsas/sas_phy.c
127
INIT_LIST_HEAD(&phy->port_phy_el);
drivers/scsi/libsas/sas_phy.c
129
phy->port = NULL;
drivers/scsi/libsas/sas_phy.c
130
phy->ha = sas_ha;
drivers/scsi/libsas/sas_phy.c
131
spin_lock_init(&phy->frame_rcvd_lock);
drivers/scsi/libsas/sas_phy.c
132
spin_lock_init(&phy->sas_prim_lock);
drivers/scsi/libsas/sas_phy.c
133
phy->frame_rcvd_size = 0;
drivers/scsi/libsas/sas_phy.c
135
phy->phy = sas_phy_alloc(&sas_ha->shost->shost_gendev, i);
drivers/scsi/libsas/sas_phy.c
136
if (!phy->phy) {
drivers/scsi/libsas/sas_phy.c
141
phy->phy->identify.initiator_port_protocols =
drivers/scsi/libsas/sas_phy.c
142
phy->iproto;
drivers/scsi/libsas/sas_phy.c
143
phy->phy->identify.target_port_protocols = phy->tproto;
drivers/scsi/libsas/sas_phy.c
144
phy->phy->identify.sas_address = SAS_ADDR(sas_ha->sas_addr);
drivers/scsi/libsas/sas_phy.c
145
phy->phy->identify.phy_identifier = i;
drivers/scsi/libsas/sas_phy.c
146
phy->phy->minimum_linkrate_hw = SAS_LINK_RATE_UNKNOWN;
drivers/scsi/libsas/sas_phy.c
147
phy->phy->maximum_linkrate_hw = SAS_LINK_RATE_UNKNOWN;
drivers/scsi/libsas/sas_phy.c
148
phy->phy->minimum_linkrate = SAS_LINK_RATE_UNKNOWN;
drivers/scsi/libsas/sas_phy.c
149
phy->phy->maximum_linkrate = SAS_LINK_RATE_UNKNOWN;
drivers/scsi/libsas/sas_phy.c
150
phy->phy->negotiated_linkrate = SAS_LINK_RATE_UNKNOWN;
drivers/scsi/libsas/sas_phy.c
152
err = sas_phy_add(phy->phy);
drivers/scsi/libsas/sas_phy.c
154
sas_phy_free(phy->phy);
drivers/scsi/libsas/sas_phy.c
162
struct asd_sas_phy *phy = sas_ha->sas_phy[i];
drivers/scsi/libsas/sas_phy.c
164
sas_phy_delete(phy->phy);
drivers/scsi/libsas/sas_phy.c
165
sas_phy_free(phy->phy);
drivers/scsi/libsas/sas_phy.c
175
struct asd_sas_phy *phy = sas_ha->sas_phy[i];
drivers/scsi/libsas/sas_phy.c
177
sas_phy_delete(phy->phy);
drivers/scsi/libsas/sas_phy.c
178
sas_phy_free(phy->phy);
drivers/scsi/libsas/sas_phy.c
20
struct asd_sas_phy *phy = ev->phy;
drivers/scsi/libsas/sas_phy.c
22
phy->error = 0;
drivers/scsi/libsas/sas_phy.c
23
sas_deform_port(phy, true);
drivers/scsi/libsas/sas_phy.c
29
struct asd_sas_phy *phy = ev->phy;
drivers/scsi/libsas/sas_phy.c
31
phy->error = 0;
drivers/scsi/libsas/sas_phy.c
37
struct asd_sas_phy *phy = ev->phy;
drivers/scsi/libsas/sas_phy.c
38
struct sas_ha_struct *sas_ha = phy->ha;
drivers/scsi/libsas/sas_phy.c
39
struct asd_sas_port *port = phy->port;
drivers/scsi/libsas/sas_phy.c
43
sas_deform_port(phy, true);
drivers/scsi/libsas/sas_phy.c
45
if (!port && phy->enabled && i->dft->lldd_control_phy) {
drivers/scsi/libsas/sas_phy.c
46
phy->error++;
drivers/scsi/libsas/sas_phy.c
47
switch (phy->error) {
drivers/scsi/libsas/sas_phy.c
50
i->dft->lldd_control_phy(phy, PHY_FUNC_HARD_RESET,
drivers/scsi/libsas/sas_phy.c
55
phy->error = 0;
drivers/scsi/libsas/sas_phy.c
56
phy->enabled = 0;
drivers/scsi/libsas/sas_phy.c
57
i->dft->lldd_control_phy(phy, PHY_FUNC_DISABLE, NULL);
drivers/scsi/libsas/sas_phy.c
66
struct asd_sas_phy *phy = ev->phy;
drivers/scsi/libsas/sas_phy.c
67
struct sas_ha_struct *sas_ha = phy->ha;
drivers/scsi/libsas/sas_phy.c
71
phy->error = 0;
drivers/scsi/libsas/sas_phy.c
72
i->dft->lldd_control_phy(phy, PHY_FUNC_RELEASE_SPINUP_HOLD, NULL);
drivers/scsi/libsas/sas_phy.c
78
struct asd_sas_phy *phy = ev->phy;
drivers/scsi/libsas/sas_phy.c
81
if (!phy->suspended) {
drivers/scsi/libsas/sas_phy.c
82
dev_info(&phy->phy->dev, "resume timeout cancelled\n");
drivers/scsi/libsas/sas_phy.c
86
phy->error = 0;
drivers/scsi/libsas/sas_phy.c
87
phy->suspended = 0;
drivers/scsi/libsas/sas_phy.c
88
sas_deform_port(phy, true);
drivers/scsi/libsas/sas_phy.c
95
struct asd_sas_phy *phy = ev->phy;
drivers/scsi/libsas/sas_phy.c
96
struct sas_ha_struct *sas_ha = phy->ha;
drivers/scsi/libsas/sas_port.c
104
static void sas_form_port(struct asd_sas_phy *phy)
drivers/scsi/libsas/sas_port.c
107
struct sas_ha_struct *sas_ha = phy->ha;
drivers/scsi/libsas/sas_port.c
108
struct asd_sas_port *port = phy->port;
drivers/scsi/libsas/sas_port.c
115
if (!phy_is_wideport_member(port, phy))
drivers/scsi/libsas/sas_port.c
116
sas_deform_port(phy, false);
drivers/scsi/libsas/sas_port.c
117
else if (phy->suspended) {
drivers/scsi/libsas/sas_port.c
118
phy->suspended = 0;
drivers/scsi/libsas/sas_port.c
119
sas_resume_port(phy);
drivers/scsi/libsas/sas_port.c
126
__func__, phy->id, phy->port->id,
drivers/scsi/libsas/sas_port.c
127
phy->port->num_phys);
drivers/scsi/libsas/sas_port.c
138
phy_is_wideport_member(port, phy) && port->num_phys > 0) {
drivers/scsi/libsas/sas_port.c
141
sas_form_port_add_phy(port, phy, true);
drivers/scsi/libsas/sas_port.c
15
static bool phy_is_wideport_member(struct asd_sas_port *port, struct asd_sas_phy *phy)
drivers/scsi/libsas/sas_port.c
155
sas_form_port_add_phy(port, phy, false);
drivers/scsi/libsas/sas_port.c
17
struct sas_ha_struct *sas_ha = phy->ha;
drivers/scsi/libsas/sas_port.c
172
port->port = sas_port_alloc(phy->phy->dev.parent, port->id);
drivers/scsi/libsas/sas_port.c
176
sas_port_add_phy(port->port, phy->phy);
drivers/scsi/libsas/sas_port.c
179
dev_name(&phy->phy->dev), dev_name(&port->port->dev),
drivers/scsi/libsas/sas_port.c
188
si->dft->lldd_port_formed(phy);
drivers/scsi/libsas/sas_port.c
19
if (memcmp(port->attached_sas_addr, phy->attached_sas_addr,
drivers/scsi/libsas/sas_port.c
190
sas_discover_event(phy->port, DISCE_DISCOVER_DOMAIN);
drivers/scsi/libsas/sas_port.c
209
void sas_deform_port(struct asd_sas_phy *phy, bool gone)
drivers/scsi/libsas/sas_port.c
21
memcmp(port->sas_addr, phy->sas_addr, SAS_ADDR_SIZE) != 0))
drivers/scsi/libsas/sas_port.c
211
struct sas_ha_struct *sas_ha = phy->ha;
drivers/scsi/libsas/sas_port.c
212
struct asd_sas_port *port = phy->port;
drivers/scsi/libsas/sas_port.c
231
sas_port_delete_phy(port->port, phy->phy);
drivers/scsi/libsas/sas_port.c
236
si->dft->lldd_port_deformed(phy);
drivers/scsi/libsas/sas_port.c
241
list_del_init(&phy->port_phy_el);
drivers/scsi/libsas/sas_port.c
242
sas_phy_set_target(phy, NULL);
drivers/scsi/libsas/sas_port.c
243
phy->port = NULL;
drivers/scsi/libsas/sas_port.c
245
port->phy_mask &= ~(1U << phy->id);
drivers/scsi/libsas/sas_port.c
26
static void sas_resume_port(struct asd_sas_phy *phy)
drivers/scsi/libsas/sas_port.c
276
struct asd_sas_phy *phy = ev->phy;
drivers/scsi/libsas/sas_port.c
278
sas_form_port(phy);
drivers/scsi/libsas/sas_port.c
284
struct asd_sas_phy *phy = ev->phy;
drivers/scsi/libsas/sas_port.c
288
spin_lock_irqsave(&phy->sas_prim_lock, flags);
drivers/scsi/libsas/sas_port.c
289
prim = phy->sas_prim;
drivers/scsi/libsas/sas_port.c
29
struct asd_sas_port *port = phy->port;
drivers/scsi/libsas/sas_port.c
290
spin_unlock_irqrestore(&phy->sas_prim_lock, flags);
drivers/scsi/libsas/sas_port.c
293
sas_discover_event(phy->port, DISCE_REVALIDATE_DOMAIN);
drivers/scsi/libsas/sas_port.c
295
if (phy->port)
drivers/scsi/libsas/sas_port.c
296
flush_workqueue(phy->port->ha->disco_q);
drivers/scsi/libsas/sas_port.c
30
struct sas_ha_struct *sas_ha = phy->ha;
drivers/scsi/libsas/sas_port.c
302
struct asd_sas_phy *phy = ev->phy;
drivers/scsi/libsas/sas_port.c
304
sas_deform_port(phy, true);
drivers/scsi/libsas/sas_port.c
310
struct asd_sas_phy *phy = ev->phy;
drivers/scsi/libsas/sas_port.c
312
sas_deform_port(phy, true);
drivers/scsi/libsas/sas_port.c
318
struct asd_sas_phy *phy = ev->phy;
drivers/scsi/libsas/sas_port.c
320
sas_deform_port(phy, true);
drivers/scsi/libsas/sas_port.c
34
si->dft->lldd_port_formed(phy);
drivers/scsi/libsas/sas_port.c
60
struct ex_phy *phy = &dev->ex_dev.ex_phy[i];
drivers/scsi/libsas/sas_port.c
62
phy->phy_change_count = -1;
drivers/scsi/libsas/sas_port.c
71
struct asd_sas_phy *phy, bool wideport)
drivers/scsi/libsas/sas_port.c
73
list_add_tail(&phy->port_phy_el, &port->phy_list);
drivers/scsi/libsas/sas_port.c
74
sas_phy_set_target(phy, port->port_dev);
drivers/scsi/libsas/sas_port.c
75
phy->port = port;
drivers/scsi/libsas/sas_port.c
77
port->phy_mask |= (1U << phy->id);
drivers/scsi/libsas/sas_port.c
80
pr_debug("phy%d matched wide port%d\n", phy->id,
drivers/scsi/libsas/sas_port.c
83
memcpy(port->sas_addr, phy->sas_addr, SAS_ADDR_SIZE);
drivers/scsi/libsas/sas_port.c
86
memcpy(port->attached_sas_addr, phy->attached_sas_addr,
drivers/scsi/libsas/sas_port.c
88
port->iproto = phy->iproto;
drivers/scsi/libsas/sas_port.c
89
port->tproto = phy->tproto;
drivers/scsi/libsas/sas_port.c
90
port->oob_mode = phy->oob_mode;
drivers/scsi/libsas/sas_port.c
91
port->linkrate = phy->linkrate;
drivers/scsi/libsas/sas_port.c
93
port->linkrate = max(port->linkrate, phy->linkrate);
drivers/scsi/libsas/sas_scsi_host.c
374
struct sas_phy *phy;
drivers/scsi/libsas/sas_scsi_host.c
380
BUG_ON(!dev->phy);
drivers/scsi/libsas/sas_scsi_host.c
383
phy = dev->phy;
drivers/scsi/libsas/sas_scsi_host.c
384
get_device(&phy->dev);
drivers/scsi/libsas/sas_scsi_host.c
387
return phy;
drivers/scsi/mpi3mr/mpi/mpi30_cnfg.h
1020
u8 phy[MPI3_IO_UNIT5_PHY_MAX];
drivers/scsi/mpi3mr/mpi/mpi30_cnfg.h
1909
u8 phy;
drivers/scsi/mpi3mr/mpi/mpi30_cnfg.h
1952
struct mpi3_sasexpander2_phy_element phy[MPI3_SASEXPANDER2_MAX_NUM_PHYS];
drivers/scsi/mpi3mr/mpi/mpi30_cnfg.h
276
struct mpi3_man5_phy_entry phy[MPI3_MAN5_PHY_MAX];
drivers/scsi/mpi3mr/mpi3mr.h
585
struct sas_phy *phy;
drivers/scsi/mpi3mr/mpi3mr.h
622
struct mpi3mr_sas_phy *phy;
drivers/scsi/mpi3mr/mpi3mr_os.c
5719
kfree(mrioc->sas_hba.phy);
drivers/scsi/mpi3mr/mpi3mr_os.c
5720
mrioc->sas_hba.phy = NULL;
drivers/scsi/mpi3mr/mpi3mr_transport.c
1001
dev_info(&phy->dev,
drivers/scsi/mpi3mr/mpi3mr_transport.c
1009
mr_sas_phy->phy = phy;
drivers/scsi/mpi3mr/mpi3mr_transport.c
1093
mr_sas_phy = &mr_sas_node->phy[phy_number];
drivers/scsi/mpi3mr/mpi3mr_transport.c
1106
if (mr_sas_phy->phy)
drivers/scsi/mpi3mr/mpi3mr_transport.c
1107
mr_sas_phy->phy->negotiated_linkrate =
drivers/scsi/mpi3mr/mpi3mr_transport.c
1111
dev_info(&mr_sas_phy->phy->dev,
drivers/scsi/mpi3mr/mpi3mr_transport.c
1170
mrioc->sas_hba.phy[i].handle = mrioc->sas_hba.handle;
drivers/scsi/mpi3mr/mpi3mr_transport.c
1175
mrioc->sas_hba.phy[i].hba_port =
drivers/scsi/mpi3mr/mpi3mr_transport.c
1179
mrioc->sas_hba.phy[i].hba_port);
drivers/scsi/mpi3mr/mpi3mr_transport.c
1223
mrioc->sas_hba.phy = kzalloc_objs(struct mpi3mr_sas_phy, num_phys);
drivers/scsi/mpi3mr/mpi3mr_transport.c
1224
if (!mrioc->sas_hba.phy)
drivers/scsi/mpi3mr/mpi3mr_transport.c
1269
mrioc->sas_hba.phy[i].handle = mrioc->sas_hba.handle;
drivers/scsi/mpi3mr/mpi3mr_transport.c
1270
mrioc->sas_hba.phy[i].phy_id = i;
drivers/scsi/mpi3mr/mpi3mr_transport.c
1271
mrioc->sas_hba.phy[i].hba_port =
drivers/scsi/mpi3mr/mpi3mr_transport.c
1273
mpi3mr_add_host_phy(mrioc, &mrioc->sas_hba.phy[i],
drivers/scsi/mpi3mr/mpi3mr_transport.c
1385
if ((mr_sas_node->phy[i].remote_identify.sas_address !=
drivers/scsi/mpi3mr/mpi3mr_transport.c
1387
(mr_sas_node->phy[i].hba_port != hba_port))
drivers/scsi/mpi3mr/mpi3mr_transport.c
1395
list_add_tail(&mr_sas_node->phy[i].port_siblings,
drivers/scsi/mpi3mr/mpi3mr_transport.c
1445
sas_port_add_phy(port, mr_sas_phy->phy);
drivers/scsi/mpi3mr/mpi3mr_transport.c
1573
if (mr_sas_node->phy[i].remote_identify.sas_address ==
drivers/scsi/mpi3mr/mpi3mr_transport.c
1575
memset(&mr_sas_node->phy[i].remote_identify, 0,
drivers/scsi/mpi3mr/mpi3mr_transport.c
1596
mr_sas_phy->phy);
drivers/scsi/mpi3mr/mpi3mr_transport.c
1675
mr_sas_phy = &mrioc->sas_hba.phy[i];
drivers/scsi/mpi3mr/mpi3mr_transport.c
1687
mr_sas_phy = &mrioc->sas_hba.phy[i];
drivers/scsi/mpi3mr/mpi3mr_transport.c
1936
sas_expander->phy[i].handle = handle;
drivers/scsi/mpi3mr/mpi3mr_transport.c
2118
sas_expander->phy = kzalloc_objs(struct mpi3mr_sas_phy,
drivers/scsi/mpi3mr/mpi3mr_transport.c
2120
if (!sas_expander->phy) {
drivers/scsi/mpi3mr/mpi3mr_transport.c
2156
sas_expander->phy[i].handle = handle;
drivers/scsi/mpi3mr/mpi3mr_transport.c
2157
sas_expander->phy[i].phy_id = i;
drivers/scsi/mpi3mr/mpi3mr_transport.c
2158
sas_expander->phy[i].hba_port = hba_port;
drivers/scsi/mpi3mr/mpi3mr_transport.c
2160
if ((mpi3mr_add_expander_phy(mrioc, &sas_expander->phy[i],
drivers/scsi/mpi3mr/mpi3mr_transport.c
2187
kfree(sas_expander->phy);
drivers/scsi/mpi3mr/mpi3mr_transport.c
2242
kfree(sas_expander->phy);
drivers/scsi/mpi3mr/mpi3mr_transport.c
2454
static inline u8 mpi3mr_get_port_id_by_sas_phy(struct sas_phy *phy)
drivers/scsi/mpi3mr/mpi3mr_transport.c
2457
struct mpi3mr_hba_port *hba_port = phy->hostdata;
drivers/scsi/mpi3mr/mpi3mr_transport.c
2512
static inline struct mpi3mr_ioc *phy_to_mrioc(struct sas_phy *phy)
drivers/scsi/mpi3mr/mpi3mr_transport.c
2514
struct Scsi_Host *shost = dev_to_shost(phy->dev.parent);
drivers/scsi/mpi3mr/mpi3mr_transport.c
2563
struct sas_phy *phy)
drivers/scsi/mpi3mr/mpi3mr_transport.c
2609
phy_error_log_request->phy_identifier = phy->number;
drivers/scsi/mpi3mr/mpi3mr_transport.c
2615
mpi_request.io_unit_port = (u8) mpi3mr_get_port_id_by_sas_phy(phy);
drivers/scsi/mpi3mr/mpi3mr_transport.c
2616
mpi_request.sas_address = cpu_to_le64(phy->identify.sas_address);
drivers/scsi/mpi3mr/mpi3mr_transport.c
2626
(unsigned long long)phy->identify.sas_address, phy->number);
drivers/scsi/mpi3mr/mpi3mr_transport.c
2649
phy->invalid_dword_count =
drivers/scsi/mpi3mr/mpi3mr_transport.c
2651
phy->running_disparity_error_count =
drivers/scsi/mpi3mr/mpi3mr_transport.c
2653
phy->loss_of_dword_sync_count =
drivers/scsi/mpi3mr/mpi3mr_transport.c
2655
phy->phy_reset_problem_count =
drivers/scsi/mpi3mr/mpi3mr_transport.c
2677
static int mpi3mr_transport_get_linkerrors(struct sas_phy *phy)
drivers/scsi/mpi3mr/mpi3mr_transport.c
2679
struct mpi3mr_ioc *mrioc = phy_to_mrioc(phy);
drivers/scsi/mpi3mr/mpi3mr_transport.c
2684
rc = mpi3mr_parent_present(mrioc, phy);
drivers/scsi/mpi3mr/mpi3mr_transport.c
2688
if (phy->identify.sas_address != mrioc->sas_hba.sas_address)
drivers/scsi/mpi3mr/mpi3mr_transport.c
2689
return mpi3mr_get_expander_phy_error_log(mrioc, phy);
drivers/scsi/mpi3mr/mpi3mr_transport.c
2695
MPI3_SAS_PHY_PGAD_FORM_PHY_NUMBER, phy->number))) {
drivers/scsi/mpi3mr/mpi3mr_transport.c
2706
phy->invalid_dword_count = le32_to_cpu(phy_pg1.invalid_dword_count);
drivers/scsi/mpi3mr/mpi3mr_transport.c
2707
phy->running_disparity_error_count =
drivers/scsi/mpi3mr/mpi3mr_transport.c
2709
phy->loss_of_dword_sync_count =
drivers/scsi/mpi3mr/mpi3mr_transport.c
2711
phy->phy_reset_problem_count =
drivers/scsi/mpi3mr/mpi3mr_transport.c
2824
struct sas_phy *phy, u8 phy_operation)
drivers/scsi/mpi3mr/mpi3mr_transport.c
2875
phy_control_request->phy_identifier = phy->number;
drivers/scsi/mpi3mr/mpi3mr_transport.c
2878
phy->minimum_linkrate << 4;
drivers/scsi/mpi3mr/mpi3mr_transport.c
2880
phy->maximum_linkrate << 4;
drivers/scsi/mpi3mr/mpi3mr_transport.c
2886
mpi_request.io_unit_port = (u8) mpi3mr_get_port_id_by_sas_phy(phy);
drivers/scsi/mpi3mr/mpi3mr_transport.c
2887
mpi_request.sas_address = cpu_to_le64(phy->identify.sas_address);
drivers/scsi/mpi3mr/mpi3mr_transport.c
2897
(unsigned long long)phy->identify.sas_address, phy->number,
drivers/scsi/mpi3mr/mpi3mr_transport.c
2937
mpi3mr_transport_phy_reset(struct sas_phy *phy, int hard_reset)
drivers/scsi/mpi3mr/mpi3mr_transport.c
2939
struct mpi3mr_ioc *mrioc = phy_to_mrioc(phy);
drivers/scsi/mpi3mr/mpi3mr_transport.c
2947
rc = mpi3mr_parent_present(mrioc, phy);
drivers/scsi/mpi3mr/mpi3mr_transport.c
2952
if (phy->identify.sas_address != mrioc->sas_hba.sas_address)
drivers/scsi/mpi3mr/mpi3mr_transport.c
2953
return mpi3mr_expander_phy_control(mrioc, phy,
drivers/scsi/mpi3mr/mpi3mr_transport.c
2966
phy->number;
drivers/scsi/mpi3mr/mpi3mr_transport.c
2970
(unsigned long long)phy->identify.sas_address, phy->number,
drivers/scsi/mpi3mr/mpi3mr_transport.c
2997
mpi3mr_transport_phy_enable(struct sas_phy *phy, int enable)
drivers/scsi/mpi3mr/mpi3mr_transport.c
2999
struct mpi3mr_ioc *mrioc = phy_to_mrioc(phy);
drivers/scsi/mpi3mr/mpi3mr_transport.c
3006
rc = mpi3mr_parent_present(mrioc, phy);
drivers/scsi/mpi3mr/mpi3mr_transport.c
3011
if (phy->identify.sas_address != mrioc->sas_hba.sas_address)
drivers/scsi/mpi3mr/mpi3mr_transport.c
3012
return mpi3mr_expander_phy_control(mrioc, phy,
drivers/scsi/mpi3mr/mpi3mr_transport.c
3049
if ((sas_io_unit_pg0->phy_data[phy->number].phy_flags &
drivers/scsi/mpi3mr/mpi3mr_transport.c
3076
sas_io_unit_pg1->phy_data[phy->number].phy_flags
drivers/scsi/mpi3mr/mpi3mr_transport.c
3079
sas_io_unit_pg1->phy_data[phy->number].phy_flags
drivers/scsi/mpi3mr/mpi3mr_transport.c
3086
mpi3mr_transport_phy_reset(phy, 0);
drivers/scsi/mpi3mr/mpi3mr_transport.c
3106
mpi3mr_transport_phy_speed(struct sas_phy *phy, struct sas_phy_linkrates *rates)
drivers/scsi/mpi3mr/mpi3mr_transport.c
3108
struct mpi3mr_ioc *mrioc = phy_to_mrioc(phy);
drivers/scsi/mpi3mr/mpi3mr_transport.c
3114
rc = mpi3mr_parent_present(mrioc, phy);
drivers/scsi/mpi3mr/mpi3mr_transport.c
3119
rates->minimum_linkrate = phy->minimum_linkrate;
drivers/scsi/mpi3mr/mpi3mr_transport.c
3120
else if (rates->minimum_linkrate < phy->minimum_linkrate_hw)
drivers/scsi/mpi3mr/mpi3mr_transport.c
3121
rates->minimum_linkrate = phy->minimum_linkrate_hw;
drivers/scsi/mpi3mr/mpi3mr_transport.c
3124
rates->maximum_linkrate = phy->maximum_linkrate;
drivers/scsi/mpi3mr/mpi3mr_transport.c
3125
else if (rates->maximum_linkrate > phy->maximum_linkrate_hw)
drivers/scsi/mpi3mr/mpi3mr_transport.c
3126
rates->maximum_linkrate = phy->maximum_linkrate_hw;
drivers/scsi/mpi3mr/mpi3mr_transport.c
3129
if (phy->identify.sas_address != mrioc->sas_hba.sas_address) {
drivers/scsi/mpi3mr/mpi3mr_transport.c
3130
phy->minimum_linkrate = rates->minimum_linkrate;
drivers/scsi/mpi3mr/mpi3mr_transport.c
3131
phy->maximum_linkrate = rates->maximum_linkrate;
drivers/scsi/mpi3mr/mpi3mr_transport.c
3132
return mpi3mr_expander_phy_control(mrioc, phy,
drivers/scsi/mpi3mr/mpi3mr_transport.c
3153
sas_io_unit_pg1->phy_data[phy->number].max_min_link_rate =
drivers/scsi/mpi3mr/mpi3mr_transport.c
3164
mpi3mr_transport_phy_reset(phy, 0);
drivers/scsi/mpi3mr/mpi3mr_transport.c
3169
MPI3_SAS_PHY_PGAD_FORM_PHY_NUMBER, phy->number) &&
drivers/scsi/mpi3mr/mpi3mr_transport.c
3171
phy->minimum_linkrate = mpi3mr_convert_phy_link_rate(
drivers/scsi/mpi3mr/mpi3mr_transport.c
3174
phy->maximum_linkrate = mpi3mr_convert_phy_link_rate(
drivers/scsi/mpi3mr/mpi3mr_transport.c
3176
phy->negotiated_linkrate =
drivers/scsi/mpi3mr/mpi3mr_transport.c
524
static int mpi3mr_parent_present(struct mpi3mr_ioc *mrioc, struct sas_phy *phy)
drivers/scsi/mpi3mr/mpi3mr_transport.c
527
struct mpi3mr_hba_port *hba_port = phy->hostdata;
drivers/scsi/mpi3mr/mpi3mr_transport.c
531
phy->identify.sas_address,
drivers/scsi/mpi3mr/mpi3mr_transport.c
605
dev_info(&mr_sas_phy->phy->dev,
drivers/scsi/mpi3mr/mpi3mr_transport.c
618
sas_port_delete_phy(mr_sas_port->port, mr_sas_phy->phy);
drivers/scsi/mpi3mr/mpi3mr_transport.c
637
dev_info(&mr_sas_phy->phy->dev,
drivers/scsi/mpi3mr/mpi3mr_transport.c
649
sas_port_add_phy(mr_sas_port->port, mr_sas_phy->phy);
drivers/scsi/mpi3mr/mpi3mr_transport.c
776
if ((mr_sas_node->phy[i].remote_identify.sas_address !=
drivers/scsi/mpi3mr/mpi3mr_transport.c
777
sas_address) || (mr_sas_node->phy[i].hba_port != hba_port))
drivers/scsi/mpi3mr/mpi3mr_transport.c
779
if (mr_sas_node->phy[i].phy_belongs_to_port == 1)
drivers/scsi/mpi3mr/mpi3mr_transport.c
781
mr_sas_node, &mr_sas_node->phy[i]);
drivers/scsi/mpi3mr/mpi3mr_transport.c
885
struct sas_phy *phy;
drivers/scsi/mpi3mr/mpi3mr_transport.c
890
phy = sas_phy_alloc(parent_dev, phy_index);
drivers/scsi/mpi3mr/mpi3mr_transport.c
891
if (!phy) {
drivers/scsi/mpi3mr/mpi3mr_transport.c
900
sas_phy_free(phy);
drivers/scsi/mpi3mr/mpi3mr_transport.c
903
phy->identify = mr_sas_phy->identify;
drivers/scsi/mpi3mr/mpi3mr_transport.c
908
phy->identify.phy_identifier = mr_sas_phy->phy_id;
drivers/scsi/mpi3mr/mpi3mr_transport.c
909
phy->negotiated_linkrate = mpi3mr_convert_phy_link_rate(
drivers/scsi/mpi3mr/mpi3mr_transport.c
913
phy->minimum_linkrate_hw = mpi3mr_convert_phy_link_rate(
drivers/scsi/mpi3mr/mpi3mr_transport.c
915
phy->maximum_linkrate_hw = mpi3mr_convert_phy_link_rate(
drivers/scsi/mpi3mr/mpi3mr_transport.c
917
phy->minimum_linkrate = mpi3mr_convert_phy_link_rate(
drivers/scsi/mpi3mr/mpi3mr_transport.c
919
phy->maximum_linkrate = mpi3mr_convert_phy_link_rate(
drivers/scsi/mpi3mr/mpi3mr_transport.c
921
phy->hostdata = mr_sas_phy->hba_port;
drivers/scsi/mpi3mr/mpi3mr_transport.c
923
if ((sas_phy_add(phy))) {
drivers/scsi/mpi3mr/mpi3mr_transport.c
926
sas_phy_free(phy);
drivers/scsi/mpi3mr/mpi3mr_transport.c
930
dev_info(&phy->dev,
drivers/scsi/mpi3mr/mpi3mr_transport.c
938
mr_sas_phy->phy = phy;
drivers/scsi/mpi3mr/mpi3mr_transport.c
956
struct sas_phy *phy;
drivers/scsi/mpi3mr/mpi3mr_transport.c
960
phy = sas_phy_alloc(parent_dev, phy_index);
drivers/scsi/mpi3mr/mpi3mr_transport.c
961
if (!phy) {
drivers/scsi/mpi3mr/mpi3mr_transport.c
970
sas_phy_free(phy);
drivers/scsi/mpi3mr/mpi3mr_transport.c
973
phy->identify = mr_sas_phy->identify;
drivers/scsi/mpi3mr/mpi3mr_transport.c
979
phy->identify.phy_identifier = mr_sas_phy->phy_id;
drivers/scsi/mpi3mr/mpi3mr_transport.c
980
phy->negotiated_linkrate = mpi3mr_convert_phy_link_rate(
drivers/scsi/mpi3mr/mpi3mr_transport.c
984
phy->minimum_linkrate_hw = mpi3mr_convert_phy_link_rate(
drivers/scsi/mpi3mr/mpi3mr_transport.c
986
phy->maximum_linkrate_hw = mpi3mr_convert_phy_link_rate(
drivers/scsi/mpi3mr/mpi3mr_transport.c
988
phy->minimum_linkrate = mpi3mr_convert_phy_link_rate(
drivers/scsi/mpi3mr/mpi3mr_transport.c
990
phy->maximum_linkrate = mpi3mr_convert_phy_link_rate(
drivers/scsi/mpi3mr/mpi3mr_transport.c
992
phy->hostdata = mr_sas_phy->hba_port;
drivers/scsi/mpi3mr/mpi3mr_transport.c
994
if ((sas_phy_add(phy))) {
drivers/scsi/mpi3mr/mpi3mr_transport.c
997
sas_phy_free(phy);
drivers/scsi/mpt3sas/mpt3sas_base.h
1851
struct hba_port *port, u32 phy);
drivers/scsi/mpt3sas/mpt3sas_base.h
573
u8 phy;
drivers/scsi/mpt3sas/mpt3sas_base.h
787
struct sas_phy *phy;
drivers/scsi/mpt3sas/mpt3sas_base.h
825
struct _sas_phy *phy;
drivers/scsi/mpt3sas/mpt3sas_ctl.c
220
sas_device->phy);
drivers/scsi/mpt3sas/mpt3sas_scsih.c
11395
sas_expander->phy[i].handle = handle;
drivers/scsi/mpt3sas/mpt3sas_scsih.c
12337
kfree(sas_expander->phy);
drivers/scsi/mpt3sas/mpt3sas_scsih.c
12598
kfree(ioc->sas_hba.phy);
drivers/scsi/mpt3sas/mpt3sas_scsih.c
12599
ioc->sas_hba.phy = NULL;
drivers/scsi/mpt3sas/mpt3sas_scsih.c
2791
sas_device->phy, (unsigned long long)sas_device->device_name);
drivers/scsi/mpt3sas/mpt3sas_scsih.c
3339
sas_device->phy);
drivers/scsi/mpt3sas/mpt3sas_scsih.c
504
struct hba_port *port, u32 phy)
drivers/scsi/mpt3sas/mpt3sas_scsih.c
512
if (vphy->phy_mask & (1 << phy))
drivers/scsi/mpt3sas/mpt3sas_scsih.c
5786
(u64)sas_device->sas_address, sas_device->phy);
drivers/scsi/mpt3sas/mpt3sas_scsih.c
6609
ioc, sas_node, &sas_node->phy[offset]);
drivers/scsi/mpt3sas/mpt3sas_scsih.c
6646
if (sas_node->phy[offset].phy_belongs_to_port)
drivers/scsi/mpt3sas/mpt3sas_scsih.c
6648
ioc, sas_node, &sas_node->phy[offset]);
drivers/scsi/mpt3sas/mpt3sas_scsih.c
6650
ioc, sas_node, &sas_node->phy[offset],
drivers/scsi/mpt3sas/mpt3sas_scsih.c
6944
ioc->sas_hba.phy[i].hba_vphy = 1;
drivers/scsi/mpt3sas/mpt3sas_scsih.c
6951
if (!ioc->sas_hba.phy[i].phy) {
drivers/scsi/mpt3sas/mpt3sas_scsih.c
6965
ioc->sas_hba.phy[i].phy_id = i;
drivers/scsi/mpt3sas/mpt3sas_scsih.c
6967
&ioc->sas_hba.phy[i], phy_pg0,
drivers/scsi/mpt3sas/mpt3sas_scsih.c
6971
ioc->sas_hba.phy[i].handle = ioc->sas_hba.handle;
drivers/scsi/mpt3sas/mpt3sas_scsih.c
6976
ioc->sas_hba.phy[i].port =
drivers/scsi/mpt3sas/mpt3sas_scsih.c
6980
ioc->sas_hba.phy[i].port);
drivers/scsi/mpt3sas/mpt3sas_scsih.c
6988
if (ioc->sas_hba.phy[i].phy &&
drivers/scsi/mpt3sas/mpt3sas_scsih.c
6989
ioc->sas_hba.phy[i].phy->negotiated_linkrate >=
drivers/scsi/mpt3sas/mpt3sas_scsih.c
7030
ioc->sas_hba.phy = kzalloc_objs(struct _sas_phy,
drivers/scsi/mpt3sas/mpt3sas_scsih.c
7032
if (!ioc->sas_hba.phy) {
drivers/scsi/mpt3sas/mpt3sas_scsih.c
7140
ioc->sas_hba.phy[i].hba_vphy = 1;
drivers/scsi/mpt3sas/mpt3sas_scsih.c
7143
ioc->sas_hba.phy[i].handle = ioc->sas_hba.handle;
drivers/scsi/mpt3sas/mpt3sas_scsih.c
7144
ioc->sas_hba.phy[i].phy_id = i;
drivers/scsi/mpt3sas/mpt3sas_scsih.c
7145
ioc->sas_hba.phy[i].port =
drivers/scsi/mpt3sas/mpt3sas_scsih.c
7147
mpt3sas_transport_add_host_phy(ioc, &ioc->sas_hba.phy[i],
drivers/scsi/mpt3sas/mpt3sas_scsih.c
7284
sas_expander->phy = kzalloc_objs(struct _sas_phy,
drivers/scsi/mpt3sas/mpt3sas_scsih.c
7286
if (!sas_expander->phy) {
drivers/scsi/mpt3sas/mpt3sas_scsih.c
7313
sas_expander->phy[i].handle = handle;
drivers/scsi/mpt3sas/mpt3sas_scsih.c
7314
sas_expander->phy[i].phy_id = i;
drivers/scsi/mpt3sas/mpt3sas_scsih.c
7315
sas_expander->phy[i].port =
drivers/scsi/mpt3sas/mpt3sas_scsih.c
7319
&sas_expander->phy[i], expander_pg1,
drivers/scsi/mpt3sas/mpt3sas_scsih.c
8501
sas_device->phy = sas_device_pg0.PhyNum;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1021
struct sas_phy *phy;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1026
phy = sas_phy_alloc(parent_dev, phy_index);
drivers/scsi/mpt3sas/mpt3sas_transport.c
1027
if (!phy) {
drivers/scsi/mpt3sas/mpt3sas_transport.c
1036
sas_phy_free(phy);
drivers/scsi/mpt3sas/mpt3sas_transport.c
1039
phy->identify = mpt3sas_phy->identify;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1044
phy->identify.phy_identifier = mpt3sas_phy->phy_id;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1045
phy->negotiated_linkrate = _transport_convert_phy_link_rate(
drivers/scsi/mpt3sas/mpt3sas_transport.c
1047
phy->minimum_linkrate_hw = _transport_convert_phy_link_rate(
drivers/scsi/mpt3sas/mpt3sas_transport.c
1049
phy->maximum_linkrate_hw = _transport_convert_phy_link_rate(
drivers/scsi/mpt3sas/mpt3sas_transport.c
1051
phy->minimum_linkrate = _transport_convert_phy_link_rate(
drivers/scsi/mpt3sas/mpt3sas_transport.c
1053
phy->maximum_linkrate = _transport_convert_phy_link_rate(
drivers/scsi/mpt3sas/mpt3sas_transport.c
1055
phy->hostdata = mpt3sas_phy->port;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1057
if ((sas_phy_add(phy))) {
drivers/scsi/mpt3sas/mpt3sas_transport.c
1060
sas_phy_free(phy);
drivers/scsi/mpt3sas/mpt3sas_transport.c
1064
dev_printk(KERN_INFO, &phy->dev,
drivers/scsi/mpt3sas/mpt3sas_transport.c
1072
mpt3sas_phy->phy = phy;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1091
struct sas_phy *phy;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1095
phy = sas_phy_alloc(parent_dev, phy_index);
drivers/scsi/mpt3sas/mpt3sas_transport.c
1096
if (!phy) {
drivers/scsi/mpt3sas/mpt3sas_transport.c
1105
sas_phy_free(phy);
drivers/scsi/mpt3sas/mpt3sas_transport.c
1108
phy->identify = mpt3sas_phy->identify;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1114
phy->identify.phy_identifier = mpt3sas_phy->phy_id;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1115
phy->negotiated_linkrate = _transport_convert_phy_link_rate(
drivers/scsi/mpt3sas/mpt3sas_transport.c
1118
phy->minimum_linkrate_hw = _transport_convert_phy_link_rate(
drivers/scsi/mpt3sas/mpt3sas_transport.c
1120
phy->maximum_linkrate_hw = _transport_convert_phy_link_rate(
drivers/scsi/mpt3sas/mpt3sas_transport.c
1122
phy->minimum_linkrate = _transport_convert_phy_link_rate(
drivers/scsi/mpt3sas/mpt3sas_transport.c
1124
phy->maximum_linkrate = _transport_convert_phy_link_rate(
drivers/scsi/mpt3sas/mpt3sas_transport.c
1126
phy->hostdata = mpt3sas_phy->port;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1128
if ((sas_phy_add(phy))) {
drivers/scsi/mpt3sas/mpt3sas_transport.c
1131
sas_phy_free(phy);
drivers/scsi/mpt3sas/mpt3sas_transport.c
1135
dev_printk(KERN_INFO, &phy->dev,
drivers/scsi/mpt3sas/mpt3sas_transport.c
1143
mpt3sas_phy->phy = phy;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1179
mpt3sas_phy = &sas_node->phy[phy_number];
drivers/scsi/mpt3sas/mpt3sas_transport.c
1202
if (mpt3sas_phy->phy)
drivers/scsi/mpt3sas/mpt3sas_transport.c
1203
mpt3sas_phy->phy->negotiated_linkrate =
drivers/scsi/mpt3sas/mpt3sas_transport.c
1207
dev_printk(KERN_INFO, &mpt3sas_phy->phy->dev,
drivers/scsi/mpt3sas/mpt3sas_transport.c
1217
phy_to_ioc(struct sas_phy *phy)
drivers/scsi/mpt3sas/mpt3sas_transport.c
1219
struct Scsi_Host *shost = dev_to_shost(phy->dev.parent);
drivers/scsi/mpt3sas/mpt3sas_transport.c
1267
struct sas_phy *phy)
drivers/scsi/mpt3sas/mpt3sas_transport.c
1328
phy_error_log_request->phy_identifier = phy->number;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1332
mpi_request->PhysicalPort = _transport_get_port_id_by_sas_phy(phy);
drivers/scsi/mpt3sas/mpt3sas_transport.c
1335
mpi_request->SASAddress = cpu_to_le64(phy->identify.sas_address);
drivers/scsi/mpt3sas/mpt3sas_transport.c
1347
(u64)phy->identify.sas_address,
drivers/scsi/mpt3sas/mpt3sas_transport.c
1348
phy->number));
drivers/scsi/mpt3sas/mpt3sas_transport.c
1383
phy->invalid_dword_count =
drivers/scsi/mpt3sas/mpt3sas_transport.c
1385
phy->running_disparity_error_count =
drivers/scsi/mpt3sas/mpt3sas_transport.c
1387
phy->loss_of_dword_sync_count =
drivers/scsi/mpt3sas/mpt3sas_transport.c
1389
phy->phy_reset_problem_count =
drivers/scsi/mpt3sas/mpt3sas_transport.c
1416
_transport_get_linkerrors(struct sas_phy *phy)
drivers/scsi/mpt3sas/mpt3sas_transport.c
1418
struct MPT3SAS_ADAPTER *ioc = phy_to_ioc(phy);
drivers/scsi/mpt3sas/mpt3sas_transport.c
1422
struct hba_port *port = phy->hostdata;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1427
phy->identify.sas_address,
drivers/scsi/mpt3sas/mpt3sas_transport.c
1434
if (phy->identify.sas_address != ioc->sas_hba.sas_address)
drivers/scsi/mpt3sas/mpt3sas_transport.c
1435
return _transport_get_expander_phy_error_log(ioc, phy);
drivers/scsi/mpt3sas/mpt3sas_transport.c
1439
phy->number))) {
drivers/scsi/mpt3sas/mpt3sas_transport.c
1447
phy->number,
drivers/scsi/mpt3sas/mpt3sas_transport.c
1451
phy->invalid_dword_count = le32_to_cpu(phy_pg1.InvalidDwordCount);
drivers/scsi/mpt3sas/mpt3sas_transport.c
1452
phy->running_disparity_error_count =
drivers/scsi/mpt3sas/mpt3sas_transport.c
1454
phy->loss_of_dword_sync_count =
drivers/scsi/mpt3sas/mpt3sas_transport.c
1456
phy->phy_reset_problem_count =
drivers/scsi/mpt3sas/mpt3sas_transport.c
1558
struct sas_phy *phy, u8 phy_operation)
drivers/scsi/mpt3sas/mpt3sas_transport.c
1619
phy_control_request->phy_identifier = phy->number;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1622
phy->minimum_linkrate << 4;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1624
phy->maximum_linkrate << 4;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1628
mpi_request->PhysicalPort = _transport_get_port_id_by_sas_phy(phy);
drivers/scsi/mpt3sas/mpt3sas_transport.c
1631
mpi_request->SASAddress = cpu_to_le64(phy->identify.sas_address);
drivers/scsi/mpt3sas/mpt3sas_transport.c
1643
(u64)phy->identify.sas_address,
drivers/scsi/mpt3sas/mpt3sas_transport.c
1644
phy->number, phy_operation));
drivers/scsi/mpt3sas/mpt3sas_transport.c
1705
_transport_phy_reset(struct sas_phy *phy, int hard_reset)
drivers/scsi/mpt3sas/mpt3sas_transport.c
1707
struct MPT3SAS_ADAPTER *ioc = phy_to_ioc(phy);
drivers/scsi/mpt3sas/mpt3sas_transport.c
1710
struct hba_port *port = phy->hostdata;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1716
phy->identify.sas_address,
drivers/scsi/mpt3sas/mpt3sas_transport.c
1724
if (phy->identify.sas_address != ioc->sas_hba.sas_address)
drivers/scsi/mpt3sas/mpt3sas_transport.c
1725
return _transport_expander_phy_control(ioc, phy,
drivers/scsi/mpt3sas/mpt3sas_transport.c
1734
mpi_request.PhyNum = phy->number;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1744
phy->number, le16_to_cpu(mpi_reply.IOCStatus),
drivers/scsi/mpt3sas/mpt3sas_transport.c
1759
_transport_phy_enable(struct sas_phy *phy, int enable)
drivers/scsi/mpt3sas/mpt3sas_transport.c
1761
struct MPT3SAS_ADAPTER *ioc = phy_to_ioc(phy);
drivers/scsi/mpt3sas/mpt3sas_transport.c
1770
struct hba_port *port = phy->hostdata;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1775
phy->identify.sas_address,
drivers/scsi/mpt3sas/mpt3sas_transport.c
1783
if (phy->identify.sas_address != ioc->sas_hba.sas_address)
drivers/scsi/mpt3sas/mpt3sas_transport.c
1784
return _transport_expander_phy_control(ioc, phy,
drivers/scsi/mpt3sas/mpt3sas_transport.c
1869
sas_iounit_pg1->PhyData[phy->number].PhyFlags
drivers/scsi/mpt3sas/mpt3sas_transport.c
1872
sas_iounit_pg1->PhyData[phy->number].PhyFlags
drivers/scsi/mpt3sas/mpt3sas_transport.c
1879
_transport_phy_reset(phy, 0);
drivers/scsi/mpt3sas/mpt3sas_transport.c
1897
_transport_phy_speed(struct sas_phy *phy, struct sas_phy_linkrates *rates)
drivers/scsi/mpt3sas/mpt3sas_transport.c
1899
struct MPT3SAS_ADAPTER *ioc = phy_to_ioc(phy);
drivers/scsi/mpt3sas/mpt3sas_transport.c
1908
struct hba_port *port = phy->hostdata;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1913
phy->identify.sas_address,
drivers/scsi/mpt3sas/mpt3sas_transport.c
1921
rates->minimum_linkrate = phy->minimum_linkrate;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1922
else if (rates->minimum_linkrate < phy->minimum_linkrate_hw)
drivers/scsi/mpt3sas/mpt3sas_transport.c
1923
rates->minimum_linkrate = phy->minimum_linkrate_hw;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1926
rates->maximum_linkrate = phy->maximum_linkrate;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1927
else if (rates->maximum_linkrate > phy->maximum_linkrate_hw)
drivers/scsi/mpt3sas/mpt3sas_transport.c
1928
rates->maximum_linkrate = phy->maximum_linkrate_hw;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1931
if (phy->identify.sas_address != ioc->sas_hba.sas_address) {
drivers/scsi/mpt3sas/mpt3sas_transport.c
1932
phy->minimum_linkrate = rates->minimum_linkrate;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1933
phy->maximum_linkrate = rates->maximum_linkrate;
drivers/scsi/mpt3sas/mpt3sas_transport.c
1934
return _transport_expander_phy_control(ioc, phy,
drivers/scsi/mpt3sas/mpt3sas_transport.c
1966
if (phy->number != i) {
drivers/scsi/mpt3sas/mpt3sas_transport.c
1968
(ioc->sas_hba.phy[i].phy->minimum_linkrate +
drivers/scsi/mpt3sas/mpt3sas_transport.c
1969
(ioc->sas_hba.phy[i].phy->maximum_linkrate << 4));
drivers/scsi/mpt3sas/mpt3sas_transport.c
1986
_transport_phy_reset(phy, 0);
drivers/scsi/mpt3sas/mpt3sas_transport.c
1990
phy->number)) {
drivers/scsi/mpt3sas/mpt3sas_transport.c
1991
phy->minimum_linkrate = _transport_convert_phy_link_rate(
drivers/scsi/mpt3sas/mpt3sas_transport.c
1993
phy->maximum_linkrate = _transport_convert_phy_link_rate(
drivers/scsi/mpt3sas/mpt3sas_transport.c
1995
phy->negotiated_linkrate = _transport_convert_phy_link_rate(
drivers/scsi/mpt3sas/mpt3sas_transport.c
534
dev_printk(KERN_INFO, &mpt3sas_phy->phy->dev,
drivers/scsi/mpt3sas/mpt3sas_transport.c
540
sas_port_delete_phy(mpt3sas_port->port, mpt3sas_phy->phy);
drivers/scsi/mpt3sas/mpt3sas_transport.c
556
dev_printk(KERN_INFO, &mpt3sas_phy->phy->dev,
drivers/scsi/mpt3sas/mpt3sas_transport.c
562
sas_port_add_phy(mpt3sas_port->port, mpt3sas_phy->phy);
drivers/scsi/mpt3sas/mpt3sas_transport.c
659
if (sas_node->phy[i].remote_identify.sas_address != sas_address)
drivers/scsi/mpt3sas/mpt3sas_transport.c
661
if (sas_node->phy[i].port != port)
drivers/scsi/mpt3sas/mpt3sas_transport.c
663
if (sas_node->phy[i].phy_belongs_to_port == 1)
drivers/scsi/mpt3sas/mpt3sas_transport.c
665
sas_node, &sas_node->phy[i]);
drivers/scsi/mpt3sas/mpt3sas_transport.c
70
_transport_get_port_id_by_sas_phy(struct sas_phy *phy)
drivers/scsi/mpt3sas/mpt3sas_transport.c
73
struct hba_port *port = phy->hostdata;
drivers/scsi/mpt3sas/mpt3sas_transport.c
739
if (sas_node->phy[i].remote_identify.sas_address !=
drivers/scsi/mpt3sas/mpt3sas_transport.c
742
if (sas_node->phy[i].port != hba_port)
drivers/scsi/mpt3sas/mpt3sas_transport.c
744
list_add_tail(&sas_node->phy[i].port_siblings,
drivers/scsi/mpt3sas/mpt3sas_transport.c
748
if (!sas_node->phy[i].hba_vphy) {
drivers/scsi/mpt3sas/mpt3sas_transport.c
800
sas_port_add_phy(port, mpt3sas_phy->phy);
drivers/scsi/mpt3sas/mpt3sas_transport.c
982
if (sas_node->phy[i].remote_identify.sas_address == sas_address)
drivers/scsi/mpt3sas/mpt3sas_transport.c
983
memset(&sas_node->phy[i].remote_identify, 0 ,
drivers/scsi/mpt3sas/mpt3sas_transport.c
998
mpt3sas_phy->phy);
drivers/scsi/mvsas/mv_64xx.c
18
struct mvs_phy *phy = &mvi->phy[i];
drivers/scsi/mvsas/mv_64xx.c
21
phy->phy_type &= ~(PORT_TYPE_SAS | PORT_TYPE_SATA);
drivers/scsi/mvsas/mv_64xx.c
23
phy->phy_type |= PORT_TYPE_SAS;
drivers/scsi/mvsas/mv_64xx.c
25
phy->phy_type |= PORT_TYPE_SATA;
drivers/scsi/mvsas/mv_64xx.c
326
cpu_to_be64(mvi->phy[i].dev_sas_addr));
drivers/scsi/mvsas/mv_64xx.c
578
struct mvs_phy *phy = &mvi->phy[i];
drivers/scsi/mvsas/mv_64xx.c
579
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/mvsas/mv_64xx.c
582
(phy->phy_status & PHY_NEG_SPP_PHYS_LINK_RATE_MASK) >>
drivers/scsi/mvsas/mv_64xx.c
585
phy->minimum_linkrate =
drivers/scsi/mvsas/mv_64xx.c
586
(phy->phy_status &
drivers/scsi/mvsas/mv_64xx.c
588
phy->maximum_linkrate =
drivers/scsi/mvsas/mv_64xx.c
589
(phy->phy_status &
drivers/scsi/mvsas/mv_64xx.c
593
phy->dev_info = mvs_read_port_cfg_data(mvi, i);
drivers/scsi/mvsas/mv_64xx.c
596
phy->att_dev_info = mvs_read_port_cfg_data(mvi, i);
drivers/scsi/mvsas/mv_64xx.c
599
phy->att_dev_sas_addr =
drivers/scsi/mvsas/mv_64xx.c
602
phy->att_dev_sas_addr |= mvs_read_port_cfg_data(mvi, i);
drivers/scsi/mvsas/mv_64xx.c
603
phy->att_dev_sas_addr = SAS_ADDR(&phy->att_dev_sas_addr);
drivers/scsi/mvsas/mv_64xx.c
609
struct mvs_phy *phy = &mvi->phy[i];
drivers/scsi/mvsas/mv_64xx.c
612
if (((phy->phy_status & PHY_NEG_SPP_PHYS_LINK_RATE_MASK) >>
drivers/scsi/mvsas/mv_94xx.c
17
struct mvs_phy *phy = &mvi->phy[i];
drivers/scsi/mvsas/mv_94xx.c
23
phy->phy_type &= ~(PORT_TYPE_SAS | PORT_TYPE_SATA);
drivers/scsi/mvsas/mv_94xx.c
26
phy->phy_type |= PORT_TYPE_SAS;
drivers/scsi/mvsas/mv_94xx.c
30
phy->phy_type |= PORT_TYPE_SATA;
drivers/scsi/mvsas/mv_94xx.c
464
cpu_to_le64(mvi->phy[i].dev_sas_addr));
drivers/scsi/mvsas/mv_94xx.c
867
struct mvs_phy *phy = &mvi->phy[i];
drivers/scsi/mvsas/mv_94xx.c
868
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/mvsas/mv_94xx.c
869
mv_dprintk("get all reg link rate is 0x%x\n", phy->phy_status);
drivers/scsi/mvsas/mv_94xx.c
871
(phy->phy_status & PHY_NEG_SPP_PHYS_LINK_RATE_MASK) >>
drivers/scsi/mvsas/mv_94xx.c
875
phy->minimum_linkrate = SAS_LINK_RATE_1_5_GBPS;
drivers/scsi/mvsas/mv_94xx.c
876
phy->maximum_linkrate = SAS_LINK_RATE_6_0_GBPS;
drivers/scsi/mvsas/mv_94xx.c
878
phy->dev_info = mvs_94xx_make_dev_info(id);
drivers/scsi/mvsas/mv_94xx.c
880
if (phy->phy_type & PORT_TYPE_SAS) {
drivers/scsi/mvsas/mv_94xx.c
882
phy->att_dev_info = mvs_94xx_make_att_info(id);
drivers/scsi/mvsas/mv_94xx.c
883
phy->att_dev_sas_addr = *(u64 *)id->sas_addr;
drivers/scsi/mvsas/mv_94xx.c
885
phy->att_dev_info = PORT_DEV_STP_TRGT | 1;
drivers/scsi/mvsas/mv_init.c
436
&mvi->phy[i].sas_phy;
drivers/scsi/mvsas/mv_init.c
465
mvi->phy[i].dev_sas_addr = 0x5005043011ab0000ULL;
drivers/scsi/mvsas/mv_init.c
466
mvi->phy[i].dev_sas_addr =
drivers/scsi/mvsas/mv_init.c
467
cpu_to_be64((u64)(*(u64 *)&mvi->phy[i].dev_sas_addr));
drivers/scsi/mvsas/mv_init.c
470
memcpy(mvi->sas_addr, &mvi->phy[0].dev_sas_addr, SAS_ADDR_SIZE);
drivers/scsi/mvsas/mv_init.c
65
struct mvs_phy *phy = &mvi->phy[phy_id];
drivers/scsi/mvsas/mv_init.c
66
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/mvsas/mv_init.c
68
phy->mvi = mvi;
drivers/scsi/mvsas/mv_init.c
69
phy->port = NULL;
drivers/scsi/mvsas/mv_init.c
70
timer_setup(&phy->timer, NULL, 0);
drivers/scsi/mvsas/mv_init.c
80
sas_phy->frame_rcvd = &phy->frame_rcvd[0];
drivers/scsi/mvsas/mv_init.c
82
sas_phy->lldd_phy = phy;
drivers/scsi/mvsas/mv_sas.c
1002
if (phy->phy_type & PORT_TYPE_SATA) {
drivers/scsi/mvsas/mv_sas.c
1003
phy->identify.target_port_protocols = SAS_PROTOCOL_STP;
drivers/scsi/mvsas/mv_sas.c
1004
if (mvs_is_sig_fis_received(phy->irq_status)) {
drivers/scsi/mvsas/mv_sas.c
1005
mvs_sig_remove_timer(phy);
drivers/scsi/mvsas/mv_sas.c
1006
phy->phy_attached = 1;
drivers/scsi/mvsas/mv_sas.c
1007
phy->att_dev_sas_addr =
drivers/scsi/mvsas/mv_sas.c
1011
phy->frame_rcvd_size =
drivers/scsi/mvsas/mv_sas.c
1021
phy->phy_attached = 0;
drivers/scsi/mvsas/mv_sas.c
1022
phy->phy_type &= ~PORT_TYPE_SATA;
drivers/scsi/mvsas/mv_sas.c
1025
} else if (phy->phy_type & PORT_TYPE_SAS
drivers/scsi/mvsas/mv_sas.c
1026
|| phy->att_dev_info & PORT_SSP_INIT_MASK) {
drivers/scsi/mvsas/mv_sas.c
1027
phy->phy_attached = 1;
drivers/scsi/mvsas/mv_sas.c
1028
phy->identify.device_type =
drivers/scsi/mvsas/mv_sas.c
1029
phy->att_dev_info & PORT_DEV_TYPE_MASK;
drivers/scsi/mvsas/mv_sas.c
103
if (sha->sas_phy[j] == phy)
drivers/scsi/mvsas/mv_sas.c
1031
if (phy->identify.device_type == SAS_END_DEVICE)
drivers/scsi/mvsas/mv_sas.c
1032
phy->identify.target_port_protocols =
drivers/scsi/mvsas/mv_sas.c
1034
else if (phy->identify.device_type != SAS_PHY_UNUSED)
drivers/scsi/mvsas/mv_sas.c
1035
phy->identify.target_port_protocols =
drivers/scsi/mvsas/mv_sas.c
1039
phy->frame_rcvd_size =
drivers/scsi/mvsas/mv_sas.c
1043
&phy->att_dev_sas_addr, SAS_ADDR_SIZE);
drivers/scsi/mvsas/mv_sas.c
1049
i + mvi->id * mvi->chip->n_phy, phy->att_dev_info);
drivers/scsi/mvsas/mv_sas.c
1051
i + mvi->id * mvi->chip->n_phy, phy->att_dev_sas_addr);
drivers/scsi/mvsas/mv_sas.c
1054
MVS_CHIP_DISP->write_port_irq_stat(mvi, i, phy->irq_status);
drivers/scsi/mvsas/mv_sas.c
1061
struct mvs_phy *phy = sas_phy->lldd_phy;
drivers/scsi/mvsas/mv_sas.c
1082
phy->port = port;
drivers/scsi/mvsas/mv_sas.c
1084
if (phy->phy_type & PORT_TYPE_SAS) {
drivers/scsi/mvsas/mv_sas.c
1090
if (phy->att_dev_info & PORT_SSP_TRGT_MASK) {
drivers/scsi/mvsas/mv_sas.c
1102
struct mvs_phy *phy = sas_phy->lldd_phy;
drivers/scsi/mvsas/mv_sas.c
1103
struct mvs_info *mvi = phy->mvi;
drivers/scsi/mvsas/mv_sas.c
1107
while (phy != &mvi->phy[phy_no]) {
drivers/scsi/mvsas/mv_sas.c
1113
mvs_do_release_task(phy->mvi, phy_no, dev);
drivers/scsi/mvsas/mv_sas.c
1242
struct sas_phy *phy = sas_get_local_phy(dev);
drivers/scsi/mvsas/mv_sas.c
1245
rc = sas_phy_reset(phy, reset_type);
drivers/scsi/mvsas/mv_sas.c
1246
sas_put_local_phy(phy);
drivers/scsi/mvsas/mv_sas.c
1649
struct mvs_phy *phy;
drivers/scsi/mvsas/mv_sas.c
1653
phy = &mvi->phy[phy_no];
drivers/scsi/mvsas/mv_sas.c
1654
port = phy->port;
drivers/scsi/mvsas/mv_sas.c
1687
static void mvs_phy_disconnected(struct mvs_phy *phy)
drivers/scsi/mvsas/mv_sas.c
1689
phy->phy_attached = 0;
drivers/scsi/mvsas/mv_sas.c
1690
phy->att_dev_info = 0;
drivers/scsi/mvsas/mv_sas.c
1691
phy->att_dev_sas_addr = 0;
drivers/scsi/mvsas/mv_sas.c
1701
struct mvs_phy *phy = &mvi->phy[phy_no];
drivers/scsi/mvsas/mv_sas.c
1702
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/mvsas/mv_sas.c
1707
if (phy->phy_event & PHY_PLUG_OUT) {
drivers/scsi/mvsas/mv_sas.c
1711
phy->phy_event &= ~PHY_PLUG_OUT;
drivers/scsi/mvsas/mv_sas.c
1714
mvs_phy_disconnected(phy);
drivers/scsi/mvsas/mv_sas.c
1727
phy->phy_event &= ~EXP_BRCT_CHG;
drivers/scsi/mvsas/mv_sas.c
1758
struct mvs_phy *phy = timer_container_of(phy, t, timer);
drivers/scsi/mvsas/mv_sas.c
1759
struct mvs_info *mvi = phy->mvi;
drivers/scsi/mvsas/mv_sas.c
1763
if (&mvi->phy[phy_no] == phy) {
drivers/scsi/mvsas/mv_sas.c
1774
struct mvs_phy *phy = &mvi->phy[phy_no];
drivers/scsi/mvsas/mv_sas.c
1776
phy->irq_status = MVS_CHIP_DISP->read_port_irq_stat(mvi, phy_no);
drivers/scsi/mvsas/mv_sas.c
1777
MVS_CHIP_DISP->write_port_irq_stat(mvi, phy_no, phy->irq_status);
drivers/scsi/mvsas/mv_sas.c
1781
phy->irq_status);
drivers/scsi/mvsas/mv_sas.c
1788
if (phy->irq_status & PHYEV_DCDR_ERR) {
drivers/scsi/mvsas/mv_sas.c
1793
if (phy->irq_status & PHYEV_POOF) {
drivers/scsi/mvsas/mv_sas.c
1795
if (!(phy->phy_event & PHY_PLUG_OUT)) {
drivers/scsi/mvsas/mv_sas.c
1796
int dev_sata = phy->phy_type & PORT_TYPE_SATA;
drivers/scsi/mvsas/mv_sas.c
1799
phy->phy_event |= PHY_PLUG_OUT;
drivers/scsi/mvsas/mv_sas.c
1817
if (phy->irq_status & PHYEV_COMWAKE) {
drivers/scsi/mvsas/mv_sas.c
1821
if (phy->timer.function == NULL) {
drivers/scsi/mvsas/mv_sas.c
1822
phy->timer.function = mvs_sig_time_out;
drivers/scsi/mvsas/mv_sas.c
1823
phy->timer.expires = jiffies + 5*HZ;
drivers/scsi/mvsas/mv_sas.c
1824
add_timer(&phy->timer);
drivers/scsi/mvsas/mv_sas.c
1827
if (phy->irq_status & (PHYEV_SIG_FIS | PHYEV_ID_DONE)) {
drivers/scsi/mvsas/mv_sas.c
1828
phy->phy_status = mvs_is_phy_ready(mvi, phy_no);
drivers/scsi/mvsas/mv_sas.c
1830
if (phy->phy_status) {
drivers/scsi/mvsas/mv_sas.c
1833
if (phy->phy_type & PORT_TYPE_SATA) {
drivers/scsi/mvsas/mv_sas.c
1841
if (phy->phy_type & PORT_TYPE_SAS) {
drivers/scsi/mvsas/mv_sas.c
1848
if (phy->phy_event & PHY_PLUG_OUT) {
drivers/scsi/mvsas/mv_sas.c
1849
mvs_port_notify_formed(&phy->sas_phy, 0);
drivers/scsi/mvsas/mv_sas.c
1850
phy->phy_event &= ~PHY_PLUG_OUT;
drivers/scsi/mvsas/mv_sas.c
1856
} else if (phy->irq_status & PHYEV_BROAD_CH) {
drivers/scsi/mvsas/mv_sas.c
212
struct mvs_phy *phy = &mvi->phy[i];
drivers/scsi/mvsas/mv_sas.c
213
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/mvsas/mv_sas.c
215
if (!phy->phy_attached)
drivers/scsi/mvsas/mv_sas.c
218
if (!(phy->att_dev_info & PORT_DEV_TRGT_MASK)
drivers/scsi/mvsas/mv_sas.c
219
&& phy->phy_type & PORT_TYPE_SAS) {
drivers/scsi/mvsas/mv_sas.c
225
if (sas_phy->phy) {
drivers/scsi/mvsas/mv_sas.c
226
struct sas_phy *sphy = sas_phy->phy;
drivers/scsi/mvsas/mv_sas.c
229
sphy->minimum_linkrate = phy->minimum_linkrate;
drivers/scsi/mvsas/mv_sas.c
231
sphy->maximum_linkrate = phy->maximum_linkrate;
drivers/scsi/mvsas/mv_sas.c
235
if (phy->phy_type & PORT_TYPE_SAS) {
drivers/scsi/mvsas/mv_sas.c
238
id = (struct sas_identify_frame *)phy->frame_rcvd;
drivers/scsi/mvsas/mv_sas.c
239
id->dev_type = phy->identify.device_type;
drivers/scsi/mvsas/mv_sas.c
241
id->target_bits = phy->identify.target_port_protocols;
drivers/scsi/mvsas/mv_sas.c
244
if (phy->att_dev_info & PORT_SSP_TRGT_MASK) {
drivers/scsi/mvsas/mv_sas.c
248
} else if (phy->phy_type & PORT_TYPE_SATA) {
drivers/scsi/mvsas/mv_sas.c
253
sas_phy->frame_rcvd_size = phy->frame_rcvd_size;
drivers/scsi/mvsas/mv_sas.c
297
struct sas_phy *sphy = dev->phy;
drivers/scsi/mvsas/mv_sas.c
62
struct asd_sas_phy *phy;
drivers/scsi/mvsas/mv_sas.c
67
phy = container_of(sha->sas_port[i]->phy_list.next,
drivers/scsi/mvsas/mv_sas.c
72
if (sha->sas_phy[j] == phy)
drivers/scsi/mvsas/mv_sas.c
899
struct mvs_phy *phy = &mvi->phy[phy_no];
drivers/scsi/mvsas/mv_sas.c
900
struct mvs_port *port = phy->port;
drivers/scsi/mvsas/mv_sas.c
921
struct mvs_phy *phy = &mvi->phy[i];
drivers/scsi/mvsas/mv_sas.c
922
struct mvs_port *port = phy->port;
drivers/scsi/mvsas/mv_sas.c
925
if ((tmp & PHY_READY_MASK) && !(phy->irq_status & PHYEV_POOF)) {
drivers/scsi/mvsas/mv_sas.c
927
phy->phy_attached = 1;
drivers/scsi/mvsas/mv_sas.c
932
if (phy->phy_type & PORT_TYPE_SAS) {
drivers/scsi/mvsas/mv_sas.c
937
} else if (phy->phy_type & PORT_TYPE_SATA)
drivers/scsi/mvsas/mv_sas.c
939
phy->port = NULL;
drivers/scsi/mvsas/mv_sas.c
940
phy->phy_attached = 0;
drivers/scsi/mvsas/mv_sas.c
941
phy->phy_type &= ~(PORT_TYPE_SAS | PORT_TYPE_SATA);
drivers/scsi/mvsas/mv_sas.c
96
struct asd_sas_phy *phy;
drivers/scsi/mvsas/mv_sas.c
976
static void mvs_sig_remove_timer(struct mvs_phy *phy)
drivers/scsi/mvsas/mv_sas.c
978
if (phy->timer.function)
drivers/scsi/mvsas/mv_sas.c
979
timer_delete(&phy->timer);
drivers/scsi/mvsas/mv_sas.c
980
phy->timer.function = NULL;
drivers/scsi/mvsas/mv_sas.c
985
struct mvs_phy *phy = &mvi->phy[i];
drivers/scsi/mvsas/mv_sas.c
988
id = (struct sas_identify_frame *)phy->frame_rcvd;
drivers/scsi/mvsas/mv_sas.c
99
list_for_each_entry(phy,
drivers/scsi/mvsas/mv_sas.c
991
phy->irq_status = MVS_CHIP_DISP->read_port_irq_stat(mvi, i);
drivers/scsi/mvsas/mv_sas.c
992
phy->phy_status = mvs_is_phy_ready(mvi, i);
drivers/scsi/mvsas/mv_sas.c
995
if (phy->phy_status) {
drivers/scsi/mvsas/mv_sas.c
997
struct asd_sas_phy *sas_phy = &mvi->phy[i].sas_phy;
drivers/scsi/mvsas/mv_sas.h
375
struct mvs_phy phy[MVS_MAX_PHYS];
drivers/scsi/pm8001/pm8001_hwi.c
2972
pm8001_ha->phy[phy_id].reset_success = true;
drivers/scsi/pm8001/pm8001_hwi.c
2974
if (pm8001_ha->phy[phy_id].enable_completion) {
drivers/scsi/pm8001/pm8001_hwi.c
2975
complete(pm8001_ha->phy[phy_id].enable_completion);
drivers/scsi/pm8001/pm8001_hwi.c
2976
pm8001_ha->phy[phy_id].enable_completion = NULL;
drivers/scsi/pm8001/pm8001_hwi.c
2995
struct pm8001_phy *phy = &pm8001_ha->phy[i];
drivers/scsi/pm8001/pm8001_hwi.c
2996
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/pm8001/pm8001_hwi.c
2997
if (!phy->phy_attached)
drivers/scsi/pm8001/pm8001_hwi.c
3000
if (phy->phy_type & PORT_TYPE_SAS) {
drivers/scsi/pm8001/pm8001_hwi.c
3002
id = (struct sas_identify_frame *)phy->frame_rcvd;
drivers/scsi/pm8001/pm8001_hwi.c
3003
id->dev_type = phy->identify.device_type;
drivers/scsi/pm8001/pm8001_hwi.c
3005
id->target_bits = phy->identify.target_port_protocols;
drivers/scsi/pm8001/pm8001_hwi.c
3006
} else if (phy->phy_type & PORT_TYPE_SATA) {
drivers/scsi/pm8001/pm8001_hwi.c
3011
sas_phy->frame_rcvd_size = phy->frame_rcvd_size;
drivers/scsi/pm8001/pm8001_hwi.c
3016
void pm8001_get_lrate_mode(struct pm8001_phy *phy, u8 link_rate)
drivers/scsi/pm8001/pm8001_hwi.c
3018
struct sas_phy *sas_phy = phy->sas_phy.phy;
drivers/scsi/pm8001/pm8001_hwi.c
3022
phy->sas_phy.linkrate = SAS_LINK_RATE_12_0_GBPS;
drivers/scsi/pm8001/pm8001_hwi.c
3025
phy->sas_phy.linkrate = SAS_LINK_RATE_6_0_GBPS;
drivers/scsi/pm8001/pm8001_hwi.c
3028
phy->sas_phy.linkrate = SAS_LINK_RATE_3_0_GBPS;
drivers/scsi/pm8001/pm8001_hwi.c
3031
phy->sas_phy.linkrate = SAS_LINK_RATE_1_5_GBPS;
drivers/scsi/pm8001/pm8001_hwi.c
3034
sas_phy->negotiated_linkrate = phy->sas_phy.linkrate;
drivers/scsi/pm8001/pm8001_hwi.c
3035
sas_phy->maximum_linkrate_hw = phy->maximum_linkrate;
drivers/scsi/pm8001/pm8001_hwi.c
3037
sas_phy->maximum_linkrate = phy->maximum_linkrate;
drivers/scsi/pm8001/pm8001_hwi.c
3038
sas_phy->minimum_linkrate = phy->minimum_linkrate;
drivers/scsi/pm8001/pm8001_hwi.c
3053
void pm8001_get_attached_sas_addr(struct pm8001_phy *phy,
drivers/scsi/pm8001/pm8001_hwi.c
3056
if (phy->sas_phy.frame_rcvd[0] == 0x34
drivers/scsi/pm8001/pm8001_hwi.c
3057
&& phy->sas_phy.oob_mode == SATA_OOB_MODE) {
drivers/scsi/pm8001/pm8001_hwi.c
3058
struct pm8001_hba_info *pm8001_ha = phy->sas_phy.ha->lldd_ha;
drivers/scsi/pm8001/pm8001_hwi.c
3061
addr += phy->sas_phy.id;
drivers/scsi/pm8001/pm8001_hwi.c
3065
(void *) phy->sas_phy.frame_rcvd;
drivers/scsi/pm8001/pm8001_hwi.c
3119
struct pm8001_phy *phy = &pm8001_ha->phy[phy_id];
drivers/scsi/pm8001/pm8001_hwi.c
3122
phy->port = port;
drivers/scsi/pm8001/pm8001_hwi.c
3125
phy->phy_state = PHY_STATE_LINK_UP_SPC;
drivers/scsi/pm8001/pm8001_hwi.c
3139
pm8001_get_lrate_mode(phy, link_rate);
drivers/scsi/pm8001/pm8001_hwi.c
3144
pm8001_get_lrate_mode(phy, link_rate);
drivers/scsi/pm8001/pm8001_hwi.c
3149
pm8001_get_lrate_mode(phy, link_rate);
drivers/scsi/pm8001/pm8001_hwi.c
3156
phy->phy_type |= PORT_TYPE_SAS;
drivers/scsi/pm8001/pm8001_hwi.c
3157
phy->identify.device_type = deviceType;
drivers/scsi/pm8001/pm8001_hwi.c
3158
phy->phy_attached = 1;
drivers/scsi/pm8001/pm8001_hwi.c
3159
if (phy->identify.device_type == SAS_END_DEVICE)
drivers/scsi/pm8001/pm8001_hwi.c
3160
phy->identify.target_port_protocols = SAS_PROTOCOL_SSP;
drivers/scsi/pm8001/pm8001_hwi.c
3161
else if (phy->identify.device_type != SAS_PHY_UNUSED)
drivers/scsi/pm8001/pm8001_hwi.c
3162
phy->identify.target_port_protocols = SAS_PROTOCOL_SMP;
drivers/scsi/pm8001/pm8001_hwi.c
3163
phy->sas_phy.oob_mode = SAS_OOB_MODE;
drivers/scsi/pm8001/pm8001_hwi.c
3164
sas_notify_phy_event(&phy->sas_phy, PHYE_OOB_DONE, GFP_ATOMIC);
drivers/scsi/pm8001/pm8001_hwi.c
3165
spin_lock_irqsave(&phy->sas_phy.frame_rcvd_lock, flags);
drivers/scsi/pm8001/pm8001_hwi.c
3166
memcpy(phy->frame_rcvd, &pPayload->sas_identify,
drivers/scsi/pm8001/pm8001_hwi.c
3168
phy->frame_rcvd_size = sizeof(struct sas_identify_frame) - 4;
drivers/scsi/pm8001/pm8001_hwi.c
3169
pm8001_get_attached_sas_addr(phy, phy->sas_phy.attached_sas_addr);
drivers/scsi/pm8001/pm8001_hwi.c
3170
spin_unlock_irqrestore(&phy->sas_phy.frame_rcvd_lock, flags);
drivers/scsi/pm8001/pm8001_hwi.c
3196
struct pm8001_phy *phy = &pm8001_ha->phy[phy_id];
drivers/scsi/pm8001/pm8001_hwi.c
3200
phy->port = port;
drivers/scsi/pm8001/pm8001_hwi.c
3203
phy->phy_state = PHY_STATE_LINK_UP_SPC;
drivers/scsi/pm8001/pm8001_hwi.c
3205
pm8001_get_lrate_mode(phy, link_rate);
drivers/scsi/pm8001/pm8001_hwi.c
3206
phy->phy_type |= PORT_TYPE_SATA;
drivers/scsi/pm8001/pm8001_hwi.c
3207
phy->phy_attached = 1;
drivers/scsi/pm8001/pm8001_hwi.c
3208
phy->sas_phy.oob_mode = SATA_OOB_MODE;
drivers/scsi/pm8001/pm8001_hwi.c
3209
sas_notify_phy_event(&phy->sas_phy, PHYE_OOB_DONE, GFP_ATOMIC);
drivers/scsi/pm8001/pm8001_hwi.c
3210
spin_lock_irqsave(&phy->sas_phy.frame_rcvd_lock, flags);
drivers/scsi/pm8001/pm8001_hwi.c
3211
memcpy(phy->frame_rcvd, ((u8 *)&pPayload->sata_fis - 4),
drivers/scsi/pm8001/pm8001_hwi.c
3213
phy->frame_rcvd_size = sizeof(struct dev_to_host_fis);
drivers/scsi/pm8001/pm8001_hwi.c
3214
phy->identify.target_port_protocols = SAS_PROTOCOL_SATA;
drivers/scsi/pm8001/pm8001_hwi.c
3215
phy->identify.device_type = SAS_SATA_DEV;
drivers/scsi/pm8001/pm8001_hwi.c
3216
pm8001_get_attached_sas_addr(phy, phy->sas_phy.attached_sas_addr);
drivers/scsi/pm8001/pm8001_hwi.c
3217
spin_unlock_irqrestore(&phy->sas_phy.frame_rcvd_lock, flags);
drivers/scsi/pm8001/pm8001_hwi.c
3239
struct pm8001_phy *phy = &pm8001_ha->phy[phy_id];
drivers/scsi/pm8001/pm8001_hwi.c
3241
phy->phy_type = 0;
drivers/scsi/pm8001/pm8001_hwi.c
3242
phy->identify.device_type = 0;
drivers/scsi/pm8001/pm8001_hwi.c
3243
phy->phy_attached = 0;
drivers/scsi/pm8001/pm8001_hwi.c
3244
memset(&phy->dev_sas_addr, 0, SAS_ADDR_SIZE);
drivers/scsi/pm8001/pm8001_hwi.c
3516
struct pm8001_phy *phy = &pm8001_ha->phy[phy_id];
drivers/scsi/pm8001/pm8001_hwi.c
3526
phy->phy_state = 1;
drivers/scsi/pm8001/pm8001_hwi.c
3529
phy->enable_completion != NULL) {
drivers/scsi/pm8001/pm8001_hwi.c
3530
complete(phy->enable_completion);
drivers/scsi/pm8001/pm8001_hwi.c
3531
phy->enable_completion = NULL;
drivers/scsi/pm8001/pm8001_hwi.c
3546
phy->phy_state = 0;
drivers/scsi/pm8001/pm8001_hwi.c
3550
sas_notify_phy_event(&phy->sas_phy, PHYE_SPINUP_HOLD,
drivers/scsi/pm8001/pm8001_hwi.c
3555
sas_notify_phy_event(&phy->sas_phy, PHYE_LOSS_OF_SIGNAL,
drivers/scsi/pm8001/pm8001_hwi.c
3557
phy->phy_attached = 0;
drivers/scsi/pm8001/pm8001_hwi.c
3558
phy->phy_state = 0;
drivers/scsi/pm8001/pm8001_hwi.c
3564
phy->phy_attached = 0;
drivers/scsi/pm8001/pm8001_hwi.c
3582
sas_phy_disconnected(&phy->sas_phy);
drivers/scsi/pm8001/pm8001_hwi.c
3583
phy->phy_attached = 0;
drivers/scsi/pm8001/pm8001_hwi.c
3584
sas_notify_phy_event(&phy->sas_phy, PHYE_OOB_ERROR, GFP_ATOMIC);
drivers/scsi/pm8001/pm8001_hwi.c
3600
phy->phy_attached = 0;
drivers/scsi/pm8001/pm8001_hwi.c
3611
phy->phy_attached = 0;
drivers/scsi/pm8001/pm8001_hwi.c
3622
phy->phy_attached = 0;
drivers/scsi/pm8001/pm8001_hwi.c
3633
phy->phy_attached = 0;
drivers/scsi/pm8001/pm8001_hwi.c
3661
phy->phy_attached = 0;
drivers/scsi/pm8001/pm8001_hwi.c
3672
phy->phy_attached = 0;
drivers/scsi/pm8001/pm8001_hwi.c
3679
phy->phy_attached = 0;
drivers/scsi/pm8001/pm8001_hwi.c
3687
phy->phy_attached = 0;
drivers/scsi/pm8001/pm8001_hwi.c
4127
&pm8001_ha->phy[phy_id].dev_sas_addr, SAS_ADDR_SIZE);
drivers/scsi/pm8001/pm8001_init.c
1423
pm8001_ha->phy[i].enable_completion = &completion;
drivers/scsi/pm8001/pm8001_init.c
160
struct pm8001_phy *phy = &pm8001_ha->phy[phy_id];
drivers/scsi/pm8001/pm8001_init.c
161
struct asd_sas_phy *sas_phy = &phy->sas_phy;
drivers/scsi/pm8001/pm8001_init.c
162
phy->phy_state = PHY_LINK_DISABLE;
drivers/scsi/pm8001/pm8001_init.c
163
phy->pm8001_ha = pm8001_ha;
drivers/scsi/pm8001/pm8001_init.c
164
phy->minimum_linkrate = SAS_LINK_RATE_1_5_GBPS;
drivers/scsi/pm8001/pm8001_init.c
165
phy->maximum_linkrate = SAS_LINK_RATE_6_0_GBPS;
drivers/scsi/pm8001/pm8001_init.c
173
sas_phy->sas_addr = (u8 *)&phy->dev_sas_addr;
drivers/scsi/pm8001/pm8001_init.c
174
sas_phy->frame_rcvd = &phy->frame_rcvd[0];
drivers/scsi/pm8001/pm8001_init.c
176
sas_phy->lldd_phy = phy;
drivers/scsi/pm8001/pm8001_init.c
656
sha->sas_phy[i] = &pm8001_ha->phy[i].sas_phy;
drivers/scsi/pm8001/pm8001_init.c
659
(u8 *)&pm8001_ha->phy[i].dev_sas_addr;
drivers/scsi/pm8001/pm8001_init.c
690
memcpy(&pm8001_ha->phy[i].dev_sas_addr, &dev_sas_addr,
drivers/scsi/pm8001/pm8001_init.c
692
memcpy(pm8001_ha->sas_addr, &pm8001_ha->phy[0].dev_sas_addr,
drivers/scsi/pm8001/pm8001_init.c
769
memcpy(&pm8001_ha->phy[i].dev_sas_addr,
drivers/scsi/pm8001/pm8001_init.c
772
pm8001_ha->phy[i].dev_sas_addr);
drivers/scsi/pm8001/pm8001_sas.c
1003
struct sas_phy *phy = sas_get_local_phy(dev);
drivers/scsi/pm8001/pm8001_sas.c
1005
rc = sas_phy_reset(phy, 1);
drivers/scsi/pm8001/pm8001_sas.c
1006
sas_put_local_phy(phy);
drivers/scsi/pm8001/pm8001_sas.c
1111
struct pm8001_phy *phy = &pm8001_ha->phy[phy_id];
drivers/scsi/pm8001/pm8001_sas.c
1112
port_id = phy->port->port_id;
drivers/scsi/pm8001/pm8001_sas.c
1122
phy->port_reset_status = PORT_RESET_TMO;
drivers/scsi/pm8001/pm8001_sas.c
1123
phy->reset_success = false;
drivers/scsi/pm8001/pm8001_sas.c
1124
phy->enable_completion = &completion;
drivers/scsi/pm8001/pm8001_sas.c
1125
phy->reset_completion = &completion_reset;
drivers/scsi/pm8001/pm8001_sas.c
1129
phy->enable_completion = NULL;
drivers/scsi/pm8001/pm8001_sas.c
1130
phy->reset_completion = NULL;
drivers/scsi/pm8001/pm8001_sas.c
1146
if (!ret || !phy->reset_success) {
drivers/scsi/pm8001/pm8001_sas.c
1147
phy->enable_completion = NULL;
drivers/scsi/pm8001/pm8001_sas.c
1148
phy->reset_completion = NULL;
drivers/scsi/pm8001/pm8001_sas.c
1159
phy->reset_completion = NULL;
drivers/scsi/pm8001/pm8001_sas.c
1160
WARN_ON(phy->port_reset_status ==
drivers/scsi/pm8001/pm8001_sas.c
1162
if (phy->port_reset_status == PORT_RESET_TMO) {
drivers/scsi/pm8001/pm8001_sas.c
1233
struct pm8001_phy *phy = sas_phy->lldd_phy;
drivers/scsi/pm8001/pm8001_sas.c
1235
struct pm8001_port *port = phy->port;
drivers/scsi/pm8001/pm8001_sas.c
231
struct pm8001_phy *phy;
drivers/scsi/pm8001/pm8001_sas.c
235
phy = &pm8001_ha->phy[phy_id];
drivers/scsi/pm8001/pm8001_sas.c
251
pm8001_ha->phy[phy_id].minimum_linkrate =
drivers/scsi/pm8001/pm8001_sas.c
255
pm8001_ha->phy[phy_id].maximum_linkrate =
drivers/scsi/pm8001/pm8001_sas.c
258
if (pm8001_ha->phy[phy_id].phy_state == PHY_LINK_DISABLE) {
drivers/scsi/pm8001/pm8001_sas.c
259
pm8001_ha->phy[phy_id].enable_completion = &completion;
drivers/scsi/pm8001/pm8001_sas.c
267
if (pm8001_ha->phy[phy_id].phy_state == PHY_LINK_DISABLE) {
drivers/scsi/pm8001/pm8001_sas.c
268
pm8001_ha->phy[phy_id].enable_completion = &completion;
drivers/scsi/pm8001/pm8001_sas.c
276
if (pm8001_ha->phy[phy_id].phy_state == PHY_LINK_DISABLE) {
drivers/scsi/pm8001/pm8001_sas.c
277
pm8001_ha->phy[phy_id].enable_completion = &completion;
drivers/scsi/pm8001/pm8001_sas.c
290
if (pm8001_ha->phy[phy_id].phy_state ==
drivers/scsi/pm8001/pm8001_sas.c
292
sas_phy_disconnected(&phy->sas_phy);
drivers/scsi/pm8001/pm8001_sas.c
293
sas_notify_phy_event(&phy->sas_phy,
drivers/scsi/pm8001/pm8001_sas.c
295
phy->phy_attached = 0;
drivers/scsi/pm8001/pm8001_sas.c
298
if (pm8001_ha->phy[phy_id].phy_state ==
drivers/scsi/pm8001/pm8001_sas.c
300
sas_phy_disconnected(&phy->sas_phy);
drivers/scsi/pm8001/pm8001_sas.c
301
sas_notify_phy_event(&phy->sas_phy,
drivers/scsi/pm8001/pm8001_sas.c
303
phy->phy_attached = 0;
drivers/scsi/pm8001/pm8001_sas.c
318
struct sas_phy *phy = sas_phy->phy;
drivers/scsi/pm8001/pm8001_sas.c
322
phy->invalid_dword_count = readl(qp);
drivers/scsi/pm8001/pm8001_sas.c
323
phy->running_disparity_error_count = readl(&qp[1]);
drivers/scsi/pm8001/pm8001_sas.c
324
phy->loss_of_dword_sync_count = readl(&qp[3]);
drivers/scsi/pm8001/pm8001_sas.c
325
phy->phy_reset_problem_count = readl(&qp[4]);
drivers/scsi/pm8001/pm8001_sas.c
355
pm8001_ha->phy[i].enable_completion = &completion;
drivers/scsi/pm8001/pm8001_sas.c
787
pm8001_ha->phy[phy_id].phy_attached = 0;
drivers/scsi/pm8001/pm8001_sas.c
883
struct sas_phy *phy;
drivers/scsi/pm8001/pm8001_sas.c
890
phy = sas_get_local_phy(dev);
drivers/scsi/pm8001/pm8001_sas.c
893
if (scsi_is_sas_phy_local(phy)) {
drivers/scsi/pm8001/pm8001_sas.c
897
rc = sas_phy_reset(phy, 1);
drivers/scsi/pm8001/pm8001_sas.c
913
rc = sas_phy_reset(phy, 1);
drivers/scsi/pm8001/pm8001_sas.c
919
sas_put_local_phy(phy);
drivers/scsi/pm8001/pm8001_sas.c
932
struct sas_phy *phy;
drivers/scsi/pm8001/pm8001_sas.c
942
phy = sas_get_local_phy(dev);
drivers/scsi/pm8001/pm8001_sas.c
946
if (scsi_is_sas_phy_local(phy)) {
drivers/scsi/pm8001/pm8001_sas.c
959
rc = sas_phy_reset(phy, 1);
drivers/scsi/pm8001/pm8001_sas.c
974
rc = sas_phy_reset(phy, 1);
drivers/scsi/pm8001/pm8001_sas.c
980
sas_put_local_phy(phy);
drivers/scsi/pm8001/pm8001_sas.h
521
struct pm8001_phy phy[PM8001_MAX_PHYS];
drivers/scsi/pm8001/pm8001_sas.h
704
void pm8001_get_lrate_mode(struct pm8001_phy *phy, u8 link_rate);
drivers/scsi/pm8001/pm8001_sas.h
705
void pm8001_get_attached_sas_addr(struct pm8001_phy *phy, u8 *sas_addr);
drivers/scsi/pm8001/pm8001_sas.h
722
u32 phy, u32 length, u32 *buf);
drivers/scsi/pm8001/pm80xx_hwi.c
3157
struct pm8001_phy *phy = &pm8001_ha->phy[phy_id];
drivers/scsi/pm8001/pm80xx_hwi.c
3167
pm8001_get_lrate_mode(phy, link_rate);
drivers/scsi/pm8001/pm80xx_hwi.c
3168
phy->sas_phy.oob_mode = SAS_OOB_MODE;
drivers/scsi/pm8001/pm80xx_hwi.c
3169
phy->phy_state = PHY_STATE_LINK_UP_SPCV;
drivers/scsi/pm8001/pm80xx_hwi.c
3170
phy->phy_attached = 1;
drivers/scsi/pm8001/pm80xx_hwi.c
3195
struct pm8001_phy *phy = &pm8001_ha->phy[phy_id];
drivers/scsi/pm8001/pm80xx_hwi.c
3198
phy->port = port;
drivers/scsi/pm8001/pm80xx_hwi.c
3202
phy->phy_state = PHY_STATE_LINK_UP_SPCV;
drivers/scsi/pm8001/pm80xx_hwi.c
3216
pm8001_get_lrate_mode(phy, link_rate);
drivers/scsi/pm8001/pm80xx_hwi.c
3221
pm8001_get_lrate_mode(phy, link_rate);
drivers/scsi/pm8001/pm80xx_hwi.c
3226
pm8001_get_lrate_mode(phy, link_rate);
drivers/scsi/pm8001/pm80xx_hwi.c
3233
phy->phy_type |= PORT_TYPE_SAS;
drivers/scsi/pm8001/pm80xx_hwi.c
3234
phy->identify.device_type = deviceType;
drivers/scsi/pm8001/pm80xx_hwi.c
3235
phy->phy_attached = 1;
drivers/scsi/pm8001/pm80xx_hwi.c
3236
if (phy->identify.device_type == SAS_END_DEVICE)
drivers/scsi/pm8001/pm80xx_hwi.c
3237
phy->identify.target_port_protocols = SAS_PROTOCOL_SSP;
drivers/scsi/pm8001/pm80xx_hwi.c
3238
else if (phy->identify.device_type != SAS_PHY_UNUSED)
drivers/scsi/pm8001/pm80xx_hwi.c
3239
phy->identify.target_port_protocols = SAS_PROTOCOL_SMP;
drivers/scsi/pm8001/pm80xx_hwi.c
3240
phy->sas_phy.oob_mode = SAS_OOB_MODE;
drivers/scsi/pm8001/pm80xx_hwi.c
3241
sas_notify_phy_event(&phy->sas_phy, PHYE_OOB_DONE, GFP_ATOMIC);
drivers/scsi/pm8001/pm80xx_hwi.c
3242
spin_lock_irqsave(&phy->sas_phy.frame_rcvd_lock, flags);
drivers/scsi/pm8001/pm80xx_hwi.c
3243
memcpy(phy->frame_rcvd, &pPayload->sas_identify,
drivers/scsi/pm8001/pm80xx_hwi.c
3245
phy->frame_rcvd_size = sizeof(struct sas_identify_frame) - 4;
drivers/scsi/pm8001/pm80xx_hwi.c
3246
pm8001_get_attached_sas_addr(phy, phy->sas_phy.attached_sas_addr);
drivers/scsi/pm8001/pm80xx_hwi.c
3247
spin_unlock_irqrestore(&phy->sas_phy.frame_rcvd_lock, flags);
drivers/scsi/pm8001/pm80xx_hwi.c
3275
struct pm8001_phy *phy = &pm8001_ha->phy[phy_id];
drivers/scsi/pm8001/pm80xx_hwi.c
3281
phy->port = port;
drivers/scsi/pm8001/pm80xx_hwi.c
3284
phy->phy_state = PHY_STATE_LINK_UP_SPCV;
drivers/scsi/pm8001/pm80xx_hwi.c
3286
pm8001_get_lrate_mode(phy, link_rate);
drivers/scsi/pm8001/pm80xx_hwi.c
3287
phy->phy_type |= PORT_TYPE_SATA;
drivers/scsi/pm8001/pm80xx_hwi.c
3288
phy->phy_attached = 1;
drivers/scsi/pm8001/pm80xx_hwi.c
3289
phy->sas_phy.oob_mode = SATA_OOB_MODE;
drivers/scsi/pm8001/pm80xx_hwi.c
3290
sas_notify_phy_event(&phy->sas_phy, PHYE_OOB_DONE, GFP_ATOMIC);
drivers/scsi/pm8001/pm80xx_hwi.c
3291
spin_lock_irqsave(&phy->sas_phy.frame_rcvd_lock, flags);
drivers/scsi/pm8001/pm80xx_hwi.c
3292
memcpy(phy->frame_rcvd, ((u8 *)&pPayload->sata_fis - 4),
drivers/scsi/pm8001/pm80xx_hwi.c
3294
phy->frame_rcvd_size = sizeof(struct dev_to_host_fis);
drivers/scsi/pm8001/pm80xx_hwi.c
3295
phy->identify.target_port_protocols = SAS_PROTOCOL_SATA;
drivers/scsi/pm8001/pm80xx_hwi.c
3296
phy->identify.device_type = SAS_SATA_DEV;
drivers/scsi/pm8001/pm80xx_hwi.c
3297
pm8001_get_attached_sas_addr(phy, phy->sas_phy.attached_sas_addr);
drivers/scsi/pm8001/pm80xx_hwi.c
3298
spin_unlock_irqrestore(&phy->sas_phy.frame_rcvd_lock, flags);
drivers/scsi/pm8001/pm80xx_hwi.c
3322
struct pm8001_phy *phy = &pm8001_ha->phy[phy_id];
drivers/scsi/pm8001/pm80xx_hwi.c
3323
u32 port_sata = (phy->phy_type & PORT_TYPE_SATA);
drivers/scsi/pm8001/pm80xx_hwi.c
3325
phy->identify.device_type = 0;
drivers/scsi/pm8001/pm80xx_hwi.c
3326
phy->phy_attached = 0;
drivers/scsi/pm8001/pm80xx_hwi.c
3340
phy->phy_type = 0;
drivers/scsi/pm8001/pm80xx_hwi.c
3345
sas_phy_disconnected(&phy->sas_phy);
drivers/scsi/pm8001/pm80xx_hwi.c
3365
phy->phy_type = 0;
drivers/scsi/pm8001/pm80xx_hwi.c
3369
sas_phy_disconnected(&phy->sas_phy);
drivers/scsi/pm8001/pm80xx_hwi.c
3380
sas_notify_phy_event(&phy->sas_phy, PHYE_LOSS_OF_SIGNAL,
drivers/scsi/pm8001/pm80xx_hwi.c
3392
struct pm8001_phy *phy = &pm8001_ha->phy[phy_id];
drivers/scsi/pm8001/pm80xx_hwi.c
3399
phy->phy_state = PHY_LINK_DOWN;
drivers/scsi/pm8001/pm80xx_hwi.c
3402
phy->enable_completion != NULL) {
drivers/scsi/pm8001/pm80xx_hwi.c
3403
complete(phy->enable_completion);
drivers/scsi/pm8001/pm80xx_hwi.c
3404
phy->enable_completion = NULL;
drivers/scsi/pm8001/pm80xx_hwi.c
3464
struct pm8001_phy *phy = &pm8001_ha->phy[phy_id];
drivers/scsi/pm8001/pm80xx_hwi.c
3486
sas_notify_phy_event(&phy->sas_phy, PHYE_SPINUP_HOLD,
drivers/scsi/pm8001/pm80xx_hwi.c
3491
phy->phy_state = PHY_LINK_DISABLE;
drivers/scsi/pm8001/pm80xx_hwi.c
3498
phy->phy_attached = 0;
drivers/scsi/pm8001/pm80xx_hwi.c
3518
sas_phy_disconnected(&phy->sas_phy);
drivers/scsi/pm8001/pm80xx_hwi.c
3519
phy->phy_attached = 0;
drivers/scsi/pm8001/pm80xx_hwi.c
3520
sas_notify_phy_event(&phy->sas_phy, PHYE_OOB_ERROR, GFP_ATOMIC);
drivers/scsi/pm8001/pm80xx_hwi.c
3590
phy->phy_attached = 0;
drivers/scsi/pm8001/pm80xx_hwi.c
3602
phy->phy_attached = 0;
drivers/scsi/pm8001/pm80xx_hwi.c
3610
if (!pm8001_ha->phy[phy_id].reset_completion) {
drivers/scsi/pm8001/pm80xx_hwi.c
3615
phy->phy_attached = 0;
drivers/scsi/pm8001/pm80xx_hwi.c
3619
if (pm8001_ha->phy[phy_id].reset_completion) {
drivers/scsi/pm8001/pm80xx_hwi.c
3620
pm8001_ha->phy[phy_id].port_reset_status =
drivers/scsi/pm8001/pm80xx_hwi.c
3622
complete(pm8001_ha->phy[phy_id].reset_completion);
drivers/scsi/pm8001/pm80xx_hwi.c
3623
pm8001_ha->phy[phy_id].reset_completion = NULL;
drivers/scsi/pm8001/pm80xx_hwi.c
3635
phy = &pm8001_ha->phy[i];
drivers/scsi/pm8001/pm80xx_hwi.c
3636
sas_notify_phy_event(&phy->sas_phy,
drivers/scsi/pm8001/pm80xx_hwi.c
3652
if (pm8001_ha->phy[phy_id].reset_completion) {
drivers/scsi/pm8001/pm80xx_hwi.c
3653
pm8001_ha->phy[phy_id].port_reset_status =
drivers/scsi/pm8001/pm80xx_hwi.c
3655
complete(pm8001_ha->phy[phy_id].reset_completion);
drivers/scsi/pm8001/pm80xx_hwi.c
3656
pm8001_ha->phy[phy_id].reset_completion = NULL;
drivers/scsi/pm8001/pm80xx_hwi.c
3658
phy->phy_attached = 1;
drivers/scsi/pm8001/pm80xx_hwi.c
3659
phy->phy_state = PHY_STATE_LINK_UP_SPCV;
drivers/scsi/pm8001/pm80xx_hwi.c
3687
struct pm8001_phy *phy = &pm8001_ha->phy[phyid];
drivers/scsi/pm8001/pm80xx_hwi.c
3694
phy->phy_state = PHY_LINK_DISABLE;
drivers/scsi/pm8001/pm80xx_hwi.c
3695
phy->sas_phy.phy->negotiated_linkrate = SAS_PHY_DISABLED;
drivers/scsi/pm8001/pm80xx_hwi.c
3696
phy->sas_phy.linkrate = SAS_PHY_DISABLED;
drivers/scsi/pm8001/pm80xx_hwi.c
4724
&pm8001_ha->phy[phy_id].dev_sas_addr, SAS_ADDR_SIZE);
drivers/scsi/pm8001/pm80xx_hwi.c
4939
u32 phy, u32 length, u32 *buf)
drivers/scsi/pm8001/pm80xx_hwi.c
4958
| (phy & 0xFF));
drivers/scsi/pm8001/pm80xx_hwi.c
4968
pm8001_dbg(pm8001_ha, INIT, "PHY %d settings applied\n", phy);
drivers/scsi/scsi_transport_sas.c
1023
struct sas_phy *phy, *tmp_phy;
drivers/scsi/scsi_transport_sas.c
1031
list_for_each_entry_safe(phy, tmp_phy, &port->phy_list,
drivers/scsi/scsi_transport_sas.c
1033
sas_port_delete_link(port, phy);
drivers/scsi/scsi_transport_sas.c
1034
list_del_init(&phy->port_siblings);
drivers/scsi/scsi_transport_sas.c
1071
struct sas_phy *phy;
drivers/scsi/scsi_transport_sas.c
1075
phy = NULL;
drivers/scsi/scsi_transport_sas.c
1079
phy = list_entry(ent, typeof(*phy), port_siblings);
drivers/scsi/scsi_transport_sas.c
1080
get_device(&phy->dev);
drivers/scsi/scsi_transport_sas.c
1084
return phy;
drivers/scsi/scsi_transport_sas.c
1100
void sas_port_add_phy(struct sas_port *port, struct sas_phy *phy)
drivers/scsi/scsi_transport_sas.c
1103
if (unlikely(!list_empty(&phy->port_siblings))) {
drivers/scsi/scsi_transport_sas.c
1108
if (tmp == phy)
drivers/scsi/scsi_transport_sas.c
1112
if (unlikely(tmp != phy)) {
drivers/scsi/scsi_transport_sas.c
1114
dev_name(&phy->dev));
drivers/scsi/scsi_transport_sas.c
1118
sas_port_create_link(port, phy);
drivers/scsi/scsi_transport_sas.c
1119
list_add_tail(&phy->port_siblings, &port->phy_list);
drivers/scsi/scsi_transport_sas.c
1134
void sas_port_delete_phy(struct sas_port *port, struct sas_phy *phy)
drivers/scsi/scsi_transport_sas.c
1137
sas_port_delete_link(port, phy);
drivers/scsi/scsi_transport_sas.c
1138
list_del_init(&phy->port_siblings);
drivers/scsi/scsi_transport_sas.c
1220
struct sas_phy *phy = dev_to_phy(rphy->dev.parent);
drivers/scsi/scsi_transport_sas.c
1221
struct Scsi_Host *shost = dev_to_shost(phy->dev.parent);
drivers/scsi/scsi_transport_sas.c
1240
struct sas_phy *phy = dev_to_phy(rphy->dev.parent);
drivers/scsi/scsi_transport_sas.c
1241
struct Scsi_Host *shost = dev_to_shost(phy->dev.parent);
drivers/scsi/scsi_transport_sas.c
453
struct sas_phy *phy = transport_class_to_phy(dev); \
drivers/scsi/scsi_transport_sas.c
455
return snprintf(buf, 20, format_string, cast phy->field); \
drivers/scsi/scsi_transport_sas.c
467
struct sas_phy *phy = transport_class_to_phy(dev); \
drivers/scsi/scsi_transport_sas.c
469
if (!phy->field) \
drivers/scsi/scsi_transport_sas.c
471
return get_sas_protocol_names(phy->field, buf); \
drivers/scsi/scsi_transport_sas.c
483
struct sas_phy *phy = transport_class_to_phy(dev); \
drivers/scsi/scsi_transport_sas.c
485
return get_sas_linkspeed_names(phy->field, buf); \
drivers/scsi/scsi_transport_sas.c
495
struct sas_phy *phy = transport_class_to_phy(dev); \
drivers/scsi/scsi_transport_sas.c
496
struct Scsi_Host *shost = dev_to_shost(phy->dev.parent); \
drivers/scsi/scsi_transport_sas.c
506
error = i->f->set_phy_speed(phy, &rates); \
drivers/scsi/scsi_transport_sas.c
527
struct sas_phy *phy = transport_class_to_phy(dev); \
drivers/scsi/scsi_transport_sas.c
528
struct Scsi_Host *shost = dev_to_shost(phy->dev.parent); \
drivers/scsi/scsi_transport_sas.c
532
error = i->f->get_linkerrors ? i->f->get_linkerrors(phy) : 0; \
drivers/scsi/scsi_transport_sas.c
535
return snprintf(buf, 20, "%u\n", phy->field); \
drivers/scsi/scsi_transport_sas.c
547
struct sas_phy *phy = transport_class_to_phy(dev);
drivers/scsi/scsi_transport_sas.c
549
if (!phy->identify.device_type)
drivers/scsi/scsi_transport_sas.c
551
return get_sas_device_type_names(phy->identify.device_type, buf);
drivers/scsi/scsi_transport_sas.c
558
struct sas_phy *phy = transport_class_to_phy(dev);
drivers/scsi/scsi_transport_sas.c
559
struct Scsi_Host *shost = dev_to_shost(phy->dev.parent);
drivers/scsi/scsi_transport_sas.c
563
error = i->f->phy_enable(phy, enable);
drivers/scsi/scsi_transport_sas.c
566
phy->enabled = enable;
drivers/scsi/scsi_transport_sas.c
595
struct sas_phy *phy = transport_class_to_phy(dev);
drivers/scsi/scsi_transport_sas.c
597
return snprintf(buf, 20, "%d\n", phy->enabled);
drivers/scsi/scsi_transport_sas.c
606
struct sas_phy *phy = transport_class_to_phy(dev);
drivers/scsi/scsi_transport_sas.c
607
struct Scsi_Host *shost = dev_to_shost(phy->dev.parent);
drivers/scsi/scsi_transport_sas.c
611
error = i->f->phy_reset(phy, hard_reset);
drivers/scsi/scsi_transport_sas.c
614
phy->enabled = 1;
drivers/scsi/scsi_transport_sas.c
654
struct sas_phy *phy = dev_to_phy(dev);
drivers/scsi/scsi_transport_sas.c
655
struct Scsi_Host *shost = dev_to_shost(phy->dev.parent);
drivers/scsi/scsi_transport_sas.c
659
i->f->phy_setup(phy);
drivers/scsi/scsi_transport_sas.c
688
struct sas_phy *phy = dev_to_phy(dev);
drivers/scsi/scsi_transport_sas.c
689
struct Scsi_Host *shost = dev_to_shost(phy->dev.parent);
drivers/scsi/scsi_transport_sas.c
693
i->f->phy_release(phy);
drivers/scsi/scsi_transport_sas.c
695
kfree(phy);
drivers/scsi/scsi_transport_sas.c
713
struct sas_phy *phy;
drivers/scsi/scsi_transport_sas.c
715
phy = kzalloc_obj(*phy);
drivers/scsi/scsi_transport_sas.c
716
if (!phy)
drivers/scsi/scsi_transport_sas.c
719
phy->number = number;
drivers/scsi/scsi_transport_sas.c
720
phy->enabled = 1;
drivers/scsi/scsi_transport_sas.c
722
device_initialize(&phy->dev);
drivers/scsi/scsi_transport_sas.c
723
phy->dev.parent = get_device(parent);
drivers/scsi/scsi_transport_sas.c
724
phy->dev.release = sas_phy_release;
drivers/scsi/scsi_transport_sas.c
725
INIT_LIST_HEAD(&phy->port_siblings);
drivers/scsi/scsi_transport_sas.c
728
dev_set_name(&phy->dev, "phy-%d:%d:%d", shost->host_no,
drivers/scsi/scsi_transport_sas.c
731
dev_set_name(&phy->dev, "phy-%d:%d", shost->host_no, number);
drivers/scsi/scsi_transport_sas.c
733
transport_setup_device(&phy->dev);
drivers/scsi/scsi_transport_sas.c
735
return phy;
drivers/scsi/scsi_transport_sas.c
745
int sas_phy_add(struct sas_phy *phy)
drivers/scsi/scsi_transport_sas.c
749
error = device_add(&phy->dev);
drivers/scsi/scsi_transport_sas.c
753
error = transport_add_device(&phy->dev);
drivers/scsi/scsi_transport_sas.c
755
device_del(&phy->dev);
drivers/scsi/scsi_transport_sas.c
758
transport_configure_device(&phy->dev);
drivers/scsi/scsi_transport_sas.c
774
void sas_phy_free(struct sas_phy *phy)
drivers/scsi/scsi_transport_sas.c
776
transport_destroy_device(&phy->dev);
drivers/scsi/scsi_transport_sas.c
777
put_device(&phy->dev);
drivers/scsi/scsi_transport_sas.c
789
sas_phy_delete(struct sas_phy *phy)
drivers/scsi/scsi_transport_sas.c
791
struct device *dev = &phy->dev;
drivers/scsi/scsi_transport_sas.c
794
BUG_ON(!list_empty(&phy->port_siblings));
drivers/scsi/scsi_transport_sas.c
869
struct sas_phy *phy)
drivers/scsi/scsi_transport_sas.c
873
res = sysfs_create_link(&port->dev.kobj, &phy->dev.kobj,
drivers/scsi/scsi_transport_sas.c
874
dev_name(&phy->dev));
drivers/scsi/scsi_transport_sas.c
877
res = sysfs_create_link(&phy->dev.kobj, &port->dev.kobj, "port");
drivers/scsi/scsi_transport_sas.c
887
struct sas_phy *phy)
drivers/scsi/scsi_transport_sas.c
889
sysfs_remove_link(&port->dev.kobj, dev_name(&phy->dev));
drivers/scsi/scsi_transport_sas.c
890
sysfs_remove_link(&phy->dev.kobj, "port");
drivers/scsi/smartpqi/smartpqi.h
1257
struct sas_phy *phy;
drivers/scsi/smartpqi/smartpqi_sas_transport.c
23
struct sas_phy *phy;
drivers/scsi/smartpqi/smartpqi_sas_transport.c
29
phy = sas_phy_alloc(pqi_sas_port->parent_node->parent_dev,
drivers/scsi/smartpqi/smartpqi_sas_transport.c
31
if (!phy) {
drivers/scsi/smartpqi/smartpqi_sas_transport.c
317
static int pqi_sas_get_linkerrors(struct sas_phy *phy)
drivers/scsi/smartpqi/smartpqi_sas_transport.c
37
pqi_sas_phy->phy = phy;
drivers/scsi/smartpqi/smartpqi_sas_transport.c
428
static int pqi_sas_phy_reset(struct sas_phy *phy, int hard_reset)
drivers/scsi/smartpqi/smartpqi_sas_transport.c
433
static int pqi_sas_phy_enable(struct sas_phy *phy, int enable)
drivers/scsi/smartpqi/smartpqi_sas_transport.c
438
static int pqi_sas_phy_setup(struct sas_phy *phy)
drivers/scsi/smartpqi/smartpqi_sas_transport.c
443
static void pqi_sas_phy_release(struct sas_phy *phy)
drivers/scsi/smartpqi/smartpqi_sas_transport.c
447
static int pqi_sas_phy_speed(struct sas_phy *phy,
drivers/scsi/smartpqi/smartpqi_sas_transport.c
45
struct sas_phy *phy = pqi_sas_phy->phy;
drivers/scsi/smartpqi/smartpqi_sas_transport.c
47
sas_port_delete_phy(pqi_sas_phy->parent_port->port, phy);
drivers/scsi/smartpqi/smartpqi_sas_transport.c
50
sas_phy_delete(phy);
drivers/scsi/smartpqi/smartpqi_sas_transport.c
58
struct sas_phy *phy;
drivers/scsi/smartpqi/smartpqi_sas_transport.c
62
phy = pqi_sas_phy->phy;
drivers/scsi/smartpqi/smartpqi_sas_transport.c
64
identify = &phy->identify;
drivers/scsi/smartpqi/smartpqi_sas_transport.c
70
phy->minimum_linkrate_hw = SAS_LINK_RATE_UNKNOWN;
drivers/scsi/smartpqi/smartpqi_sas_transport.c
71
phy->maximum_linkrate_hw = SAS_LINK_RATE_UNKNOWN;
drivers/scsi/smartpqi/smartpqi_sas_transport.c
72
phy->minimum_linkrate = SAS_LINK_RATE_UNKNOWN;
drivers/scsi/smartpqi/smartpqi_sas_transport.c
73
phy->maximum_linkrate = SAS_LINK_RATE_UNKNOWN;
drivers/scsi/smartpqi/smartpqi_sas_transport.c
74
phy->negotiated_linkrate = SAS_LINK_RATE_UNKNOWN;
drivers/scsi/smartpqi/smartpqi_sas_transport.c
76
rc = sas_phy_add(pqi_sas_phy->phy);
drivers/scsi/smartpqi/smartpqi_sas_transport.c
80
sas_port_add_phy(pqi_sas_port->port, pqi_sas_phy->phy);
drivers/ssb/driver_pcicore.c
582
static void ssb_pcie_mdio_set_phy(struct ssb_pcicore *pc, u8 phy)
drivers/ssb/driver_pcicore.c
593
v |= (phy << 4);
drivers/staging/media/meson/vdec/esparser.c
298
dma_addr_t phy = vb2_dma_contig_plane_dma_addr(vb, 0);
drivers/staging/media/meson/vdec/esparser.c
355
ret = esparser_write_data(core, phy, payload_size + pad_size);
drivers/thunderbolt/clx.c
105
u32 phy, mask = 0;
drivers/thunderbolt/clx.c
118
ret = tb_port_read(port, &phy, TB_CFG_PORT,
drivers/thunderbolt/clx.c
124
phy |= mask;
drivers/thunderbolt/clx.c
126
phy &= ~mask;
drivers/thunderbolt/clx.c
128
return tb_port_write(port, &phy, TB_CFG_PORT,
drivers/thunderbolt/clx.c
40
u32 phy;
drivers/thunderbolt/clx.c
43
ret = tb_port_read(port, &phy, TB_CFG_PORT,
drivers/thunderbolt/clx.c
49
phy |= LANE_ADP_CS_1_PMS;
drivers/thunderbolt/clx.c
51
phy &= ~LANE_ADP_CS_1_PMS;
drivers/thunderbolt/clx.c
53
return tb_port_write(port, &phy, TB_CFG_PORT,
drivers/thunderbolt/switch.c
1000
u32 phy, widths;
drivers/thunderbolt/switch.c
1012
ret = tb_port_read(port, &phy, TB_CFG_PORT,
drivers/thunderbolt/switch.c
1021
widths = FIELD_GET(LANE_ADP_CS_0_SUPPORTED_WIDTH_MASK, phy);
drivers/thunderbolt/switch.c
473
struct tb_cap_phy phy;
drivers/thunderbolt/switch.c
479
res = tb_port_read(port, &phy, TB_CFG_PORT, port->cap_phy, 2);
drivers/thunderbolt/switch.c
482
return phy.state;
drivers/thunderbolt/switch.c
638
u32 phy;
drivers/thunderbolt/switch.c
643
ret = tb_port_read(port, &phy, TB_CFG_PORT,
drivers/thunderbolt/switch.c
649
phy &= ~LANE_ADP_CS_1_LD;
drivers/thunderbolt/switch.c
651
phy |= LANE_ADP_CS_1_LD;
drivers/thunderbolt/switch.c
654
ret = tb_port_write(port, &phy, TB_CFG_PORT,
drivers/ufs/host/ufs-exynos.c
1099
struct phy *generic_phy = ufs->phy;
drivers/ufs/host/ufs-exynos.c
1492
ufs->phy = devm_phy_get(dev, "ufs-phy");
drivers/ufs/host/ufs-exynos.c
1493
if (IS_ERR(ufs->phy)) {
drivers/ufs/host/ufs-exynos.c
1494
ret = PTR_ERR(ufs->phy);
drivers/ufs/host/ufs-exynos.c
1530
phy_power_off(ufs->phy);
drivers/ufs/host/ufs-exynos.c
1531
phy_exit(ufs->phy);
drivers/ufs/host/ufs-exynos.c
1580
phy_notify_state(ufs->phy, phystate);
drivers/ufs/host/ufs-exynos.c
1618
phy_notify_state(ufs->phy, phystate);
drivers/ufs/host/ufs-exynos.c
1732
phy_power_off(ufs->phy);
drivers/ufs/host/ufs-exynos.c
1742
phy_power_on(ufs->phy);
drivers/ufs/host/ufs-exynos.c
825
struct phy *generic_phy = ufs->phy;
drivers/ufs/host/ufs-exynos.c
876
struct phy *generic_phy = ufs->phy;
drivers/ufs/host/ufs-exynos.c
951
struct phy *generic_phy = ufs->phy;
drivers/ufs/host/ufs-exynos.h
215
struct phy *phy;
drivers/ufs/host/ufs-mediatek.c
510
struct phy *mphy = host->mphy;
drivers/ufs/host/ufs-mediatek.h
176
struct phy *mphy;
drivers/ufs/host/ufs-qcom.c
1236
struct phy *phy;
drivers/ufs/host/ufs-qcom.c
1247
phy = host->generic_phy;
drivers/ufs/host/ufs-qcom.c
1266
err = phy_power_off(phy);
drivers/ufs/host/ufs-qcom.c
1275
err = phy_power_on(phy);
drivers/ufs/host/ufs-qcom.c
492
struct phy *phy = host->generic_phy;
drivers/ufs/host/ufs-qcom.c
511
if (phy->power_count)
drivers/ufs/host/ufs-qcom.c
512
phy_power_off(phy);
drivers/ufs/host/ufs-qcom.c
516
ret = phy_init(phy);
drivers/ufs/host/ufs-qcom.c
523
ret = phy_set_mode_ext(phy, mode, host->phy_gear);
drivers/ufs/host/ufs-qcom.c
528
ret = phy_power_on(phy);
drivers/ufs/host/ufs-qcom.c
535
ret = phy_calibrate(phy);
drivers/ufs/host/ufs-qcom.c
546
phy_exit(phy);
drivers/ufs/host/ufs-qcom.h
279
struct phy *generic_phy;
drivers/usb/atm/ueagle-atm.c
1277
sc->stats.phy.dsrate == dsrate)
drivers/usb/atm/ueagle-atm.c
1299
data = sc->stats.phy.state;
drivers/usb/atm/ueagle-atm.c
1301
ret = uea_read_cmv_e1(sc, E1_SA_STAT, 0, &sc->stats.phy.state);
drivers/usb/atm/ueagle-atm.c
1305
switch (GET_STATUS(sc->stats.phy.state)) {
drivers/usb/atm/ueagle-atm.c
1334
GET_STATUS(sc->stats.phy.state));
drivers/usb/atm/ueagle-atm.c
1357
ret = uea_read_cmv_e1(sc, E1_SA_DIAG, 2, &sc->stats.phy.flags);
drivers/usb/atm/ueagle-atm.c
1360
sc->stats.phy.mflags |= sc->stats.phy.flags;
drivers/usb/atm/ueagle-atm.c
1365
if (sc->stats.phy.flags) {
drivers/usb/atm/ueagle-atm.c
1367
sc->stats.phy.flags);
drivers/usb/atm/ueagle-atm.c
1376
sc->stats.phy.dsrate = (data >> 16) * 32;
drivers/usb/atm/ueagle-atm.c
1377
sc->stats.phy.usrate = (data & 0xffff) * 32;
drivers/usb/atm/ueagle-atm.c
1378
UPDATE_ATM_STAT(link_rate, sc->stats.phy.dsrate * 1000 / 424);
drivers/usb/atm/ueagle-atm.c
1383
sc->stats.phy.dsattenuation = (data & 0xff) / 2;
drivers/usb/atm/ueagle-atm.c
1388
sc->stats.phy.usattenuation = (data & 0xff) / 2;
drivers/usb/atm/ueagle-atm.c
1390
ret = uea_read_cmv_e1(sc, E1_SA_DIAG, 25, &sc->stats.phy.dsmargin);
drivers/usb/atm/ueagle-atm.c
1394
ret = uea_read_cmv_e1(sc, E1_SA_DIAG, 49, &sc->stats.phy.usmargin);
drivers/usb/atm/ueagle-atm.c
1398
ret = uea_read_cmv_e1(sc, E1_SA_DIAG, 51, &sc->stats.phy.rxflow);
drivers/usb/atm/ueagle-atm.c
1402
ret = uea_read_cmv_e1(sc, E1_SA_DIAG, 52, &sc->stats.phy.txflow);
drivers/usb/atm/ueagle-atm.c
1406
ret = uea_read_cmv_e1(sc, E1_SA_DIAG, 54, &sc->stats.phy.dsunc);
drivers/usb/atm/ueagle-atm.c
1411
ret = uea_read_cmv_e1(sc, E1_SA_DIAG, 58, &sc->stats.phy.usunc);
drivers/usb/atm/ueagle-atm.c
1415
ret = uea_read_cmv_e1(sc, E1_SA_DIAG, 53, &sc->stats.phy.dscorr);
drivers/usb/atm/ueagle-atm.c
1420
ret = uea_read_cmv_e1(sc, E1_SA_DIAG, 57, &sc->stats.phy.uscorr);
drivers/usb/atm/ueagle-atm.c
1424
ret = uea_read_cmv_e1(sc, E1_SA_INFO, 8, &sc->stats.phy.vidco);
drivers/usb/atm/ueagle-atm.c
1428
ret = uea_read_cmv_e1(sc, E1_SA_INFO, 13, &sc->stats.phy.vidcpe);
drivers/usb/atm/ueagle-atm.c
1442
data = sc->stats.phy.state;
drivers/usb/atm/ueagle-atm.c
1445
ret = uea_read_cmv_e4(sc, 1, E4_SA_STAT, 0, 0, &sc->stats.phy.state);
drivers/usb/atm/ueagle-atm.c
1449
switch (sc->stats.phy.state) {
drivers/usb/atm/ueagle-atm.c
1471
sc->stats.phy.state);
drivers/usb/atm/ueagle-atm.c
1499
ret = uea_read_cmv_e4(sc, 1, E4_SA_DIAG, 0, 0, &sc->stats.phy.flags);
drivers/usb/atm/ueagle-atm.c
1502
sc->stats.phy.mflags |= sc->stats.phy.flags;
drivers/usb/atm/ueagle-atm.c
1507
if (sc->stats.phy.flags) {
drivers/usb/atm/ueagle-atm.c
1509
sc->stats.phy.flags);
drivers/usb/atm/ueagle-atm.c
1510
if (sc->stats.phy.flags & 1) /* delineation LOSS */
drivers/usb/atm/ueagle-atm.c
1512
if (sc->stats.phy.flags & 0x4000) /* Reset Flag */
drivers/usb/atm/ueagle-atm.c
1522
sc->stats.phy.usrate = data / 1000;
drivers/usb/atm/ueagle-atm.c
1529
sc->stats.phy.dsrate = data / 1000;
drivers/usb/atm/ueagle-atm.c
1530
UPDATE_ATM_STAT(link_rate, sc->stats.phy.dsrate * 1000 / 424);
drivers/usb/atm/ueagle-atm.c
1535
sc->stats.phy.dsattenuation = data / 10;
drivers/usb/atm/ueagle-atm.c
1540
sc->stats.phy.usattenuation = data / 10;
drivers/usb/atm/ueagle-atm.c
1545
sc->stats.phy.dsmargin = data / 2;
drivers/usb/atm/ueagle-atm.c
1550
sc->stats.phy.usmargin = data / 10;
drivers/usb/atm/ueagle-atm.c
160
} phy;
drivers/usb/atm/ueagle-atm.c
1689
ret = uea_read_cmv_e1(sc, E1_SA_INFO, 10, &sc->stats.phy.firmid);
drivers/usb/atm/ueagle-atm.c
1693
sc->stats.phy.firmid);
drivers/usb/atm/ueagle-atm.c
1756
ret = uea_read_cmv_e4(sc, 2, E4_SA_INFO, 55, 0, &sc->stats.phy.firmid);
drivers/usb/atm/ueagle-atm.c
1760
sc->stats.phy.firmid);
drivers/usb/atm/ueagle-atm.c
2255
ret = sysfs_emit(buf, "%08x\n", sc->stats.phy.state);
drivers/usb/atm/ueagle-atm.c
2293
switch (sc->stats.phy.state) {
drivers/usb/atm/ueagle-atm.c
2317
modem_state = GET_STATUS(sc->stats.phy.state);
drivers/usb/atm/ueagle-atm.c
2356
if (sc->stats.phy.flags & 0x4000)
drivers/usb/atm/ueagle-atm.c
2358
else if (sc->stats.phy.flags & 0x0001)
drivers/usb/atm/ueagle-atm.c
2361
if (sc->stats.phy.flags & 0x0C00)
drivers/usb/atm/ueagle-atm.c
2363
else if (sc->stats.phy.flags & 0x0030)
drivers/usb/atm/ueagle-atm.c
2387
ret = sysfs_emit(buf, "%08x\n", sc->stats.phy.name); \
drivers/usb/atm/ueagle-atm.c
2389
sc->stats.phy.name = 0; \
drivers/usb/atm/ueagle-atm.c
256
(GET_STATUS(sc->stats.phy.state) == 2) : \
drivers/usb/atm/ueagle-atm.c
257
(sc->stats.phy.state == 7))
drivers/usb/cdns3/core.h
111
struct phy *usb2_phy;
drivers/usb/cdns3/core.h
112
struct phy *usb3_phy;
drivers/usb/chipidea/ci.h
256
struct phy *phy;
drivers/usb/chipidea/ci_hdrc_imx.c
108
struct usb_phy *phy;
drivers/usb/chipidea/ci_hdrc_imx.c
489
data->phy = devm_usb_get_phy_by_phandle(dev, "fsl,usbphy", 0);
drivers/usb/chipidea/ci_hdrc_imx.c
490
if (IS_ERR(data->phy)) {
drivers/usb/chipidea/ci_hdrc_imx.c
491
ret = PTR_ERR(data->phy);
drivers/usb/chipidea/ci_hdrc_imx.c
496
data->phy = devm_usb_get_phy_by_phandle(dev, "phys", 0);
drivers/usb/chipidea/ci_hdrc_imx.c
497
if (IS_ERR(data->phy)) {
drivers/usb/chipidea/ci_hdrc_imx.c
498
ret = PTR_ERR(data->phy);
drivers/usb/chipidea/ci_hdrc_imx.c
500
data->phy = NULL;
drivers/usb/chipidea/ci_hdrc_imx.c
508
pdata.usb_phy = data->phy;
drivers/usb/chipidea/ci_hdrc_imx.c
510
data->usbmisc_data->usb_phy = data->phy;
drivers/usb/chipidea/ci_hdrc_imx.c
591
usb_phy_shutdown(data->phy);
drivers/usb/chipidea/ci_hdrc_imx.c
618
usb_phy_shutdown(data->phy);
drivers/usb/chipidea/ci_hdrc_msm.c
100
ret = phy_power_on(ci->phy);
drivers/usb/chipidea/ci_hdrc_msm.c
102
phy_exit(ci->phy);
drivers/usb/chipidea/ci_hdrc_msm.c
128
phy_power_off(ci->phy);
drivers/usb/chipidea/ci_hdrc_msm.c
129
phy_exit(ci->phy);
drivers/usb/chipidea/ci_hdrc_msm.c
96
ret = phy_init(ci->phy);
drivers/usb/chipidea/ci_hdrc_pci.c
120
usb_phy_generic_unregister(ci->phy);
drivers/usb/chipidea/ci_hdrc_pci.c
23
struct platform_device *phy;
drivers/usb/chipidea/ci_hdrc_pci.c
84
ci->phy = usb_phy_generic_register();
drivers/usb/chipidea/ci_hdrc_pci.c
85
if (IS_ERR(ci->phy))
drivers/usb/chipidea/ci_hdrc_pci.c
86
return PTR_ERR(ci->phy);
drivers/usb/chipidea/ci_hdrc_pci.c
98
usb_phy_generic_unregister(ci->phy);
drivers/usb/chipidea/ci_hdrc_tegra.c
293
usb->phy = devm_usb_get_phy_by_phandle(&pdev->dev, "nvidia,phy", 0);
drivers/usb/chipidea/ci_hdrc_tegra.c
294
if (IS_ERR(usb->phy))
drivers/usb/chipidea/ci_hdrc_tegra.c
295
return dev_err_probe(&pdev->dev, PTR_ERR(usb->phy),
drivers/usb/chipidea/ci_hdrc_tegra.c
31
struct usb_phy *phy;
drivers/usb/chipidea/ci_hdrc_tegra.c
326
err = usb_phy_init(usb->phy);
drivers/usb/chipidea/ci_hdrc_tegra.c
334
usb->data.usb_phy = usb->phy;
drivers/usb/chipidea/ci_hdrc_tegra.c
356
usb_phy_shutdown(usb->phy);
drivers/usb/chipidea/ci_hdrc_tegra.c
369
usb_phy_shutdown(usb->phy);
drivers/usb/chipidea/core.c
1096
if (ci->platdata->phy) {
drivers/usb/chipidea/core.c
1097
ci->phy = ci->platdata->phy;
drivers/usb/chipidea/core.c
1102
ci->phy = devm_phy_get(dev->parent, "usb-phy");
drivers/usb/chipidea/core.c
1104
if (PTR_ERR(ci->phy) == -EPROBE_DEFER) {
drivers/usb/chipidea/core.c
1107
} else if (IS_ERR(ci->phy)) {
drivers/usb/chipidea/core.c
1108
ci->phy = NULL;
drivers/usb/chipidea/core.c
1112
if (!ci->phy) {
drivers/usb/chipidea/core.c
1125
if (!ci->phy && !ci->usb_phy) {
drivers/usb/chipidea/core.c
1138
if (!ci->phy && !ci->usb_phy) {
drivers/usb/chipidea/core.c
323
if (ci->phy) {
drivers/usb/chipidea/core.c
324
ret = phy_init(ci->phy);
drivers/usb/chipidea/core.c
328
ret = phy_power_on(ci->phy);
drivers/usb/chipidea/core.c
330
phy_exit(ci->phy);
drivers/usb/chipidea/core.c
350
if (ci->phy) {
drivers/usb/chipidea/core.c
351
phy_power_off(ci->phy);
drivers/usb/chipidea/core.c
352
phy_exit(ci->phy);
drivers/usb/chipidea/core.c
412
phy_set_mode(ci->phy, PHY_MODE_USB_DEVICE);
drivers/usb/chipidea/core.c
420
phy_set_mode(ci->phy, PHY_MODE_USB_HOST);
drivers/usb/chipidea/host.c
143
if (ci->phy || ci->usb_phy) {
drivers/usb/chipidea/otg_fsm.c
800
if (ci->phy)
drivers/usb/chipidea/otg_fsm.c
801
ci->otg.phy = ci->phy;
drivers/usb/core/phy.c
162
err = phy_init(roothub_entry->phy);
drivers/usb/core/phy.c
171
phy_exit(roothub_entry->phy);
drivers/usb/core/phy.c
18
struct phy *phy;
drivers/usb/core/phy.c
189
err = phy_exit(roothub_entry->phy);
drivers/usb/core/phy.c
211
err = phy_set_mode(roothub_entry->phy, mode);
drivers/usb/core/phy.c
232
err = phy_calibrate(roothub_entry->phy);
drivers/usb/core/phy.c
261
err = phy_notify_connect(roothub_entry->phy, port);
drivers/usb/core/phy.c
27
struct phy *phy;
drivers/usb/core/phy.c
29
phy = devm_of_phy_get(dev, dev->of_node, name);
drivers/usb/core/phy.c
290
err = phy_notify_disconnect(roothub_entry->phy, port);
drivers/usb/core/phy.c
30
if (IS_ERR(phy))
drivers/usb/core/phy.c
31
return PTR_ERR(phy);
drivers/usb/core/phy.c
311
err = phy_power_on(roothub_entry->phy);
drivers/usb/core/phy.c
320
phy_power_off(roothub_entry->phy);
drivers/usb/core/phy.c
334
phy_power_off(roothub_entry->phy);
drivers/usb/core/phy.c
39
roothub_entry->phy = phy;
drivers/usb/core/phy.c
50
struct phy *phy;
drivers/usb/core/phy.c
52
phy = devm_of_phy_get_by_index(dev, dev->of_node, index);
drivers/usb/core/phy.c
53
if (IS_ERR(phy)) {
drivers/usb/core/phy.c
54
if (PTR_ERR(phy) == -ENODEV)
drivers/usb/core/phy.c
57
return PTR_ERR(phy);
drivers/usb/core/phy.c
66
roothub_entry->phy = phy;
drivers/usb/dwc2/core.h
1078
struct phy *phy;
drivers/usb/dwc2/hcd.c
4231
ret = phy_reset(hsotg->phy);
drivers/usb/dwc2/params.c
441
if (hsotg->phy) {
drivers/usb/dwc2/params.c
446
if (phy_get_bus_width(hsotg->phy) == 8)
drivers/usb/dwc2/pci.c
114
glue->phy = phy;
drivers/usb/dwc2/pci.c
120
usb_phy_generic_unregister(phy);
drivers/usb/dwc2/pci.c
33
struct platform_device *phy;
drivers/usb/dwc2/pci.c
47
usb_phy_generic_unregister(glue->phy);
drivers/usb/dwc2/pci.c
56
struct platform_device *phy;
drivers/usb/dwc2/pci.c
69
phy = usb_phy_generic_register();
drivers/usb/dwc2/pci.c
70
if (IS_ERR(phy)) {
drivers/usb/dwc2/pci.c
72
PTR_ERR(phy));
drivers/usb/dwc2/pci.c
73
return PTR_ERR(phy);
drivers/usb/dwc2/platform.c
121
ret = phy_init(hsotg->phy);
drivers/usb/dwc2/platform.c
123
ret = phy_power_on(hsotg->phy);
drivers/usb/dwc2/platform.c
125
phy_exit(hsotg->phy);
drivers/usb/dwc2/platform.c
174
ret = phy_power_off(hsotg->phy);
drivers/usb/dwc2/platform.c
176
ret = phy_exit(hsotg->phy);
drivers/usb/dwc2/platform.c
241
hsotg->phy = devm_phy_get(hsotg->dev, "usb2-phy");
drivers/usb/dwc2/platform.c
242
if (IS_ERR(hsotg->phy)) {
drivers/usb/dwc2/platform.c
243
ret = PTR_ERR(hsotg->phy);
drivers/usb/dwc2/platform.c
247
hsotg->phy = NULL;
drivers/usb/dwc2/platform.c
254
if (!hsotg->phy) {
drivers/usb/dwc2/platform.c
591
if (hsotg->reset_phy_on_wake && !hsotg->phy) {
drivers/usb/dwc3/core.h
1225
struct phy *usb2_generic_phy[DWC3_USB2_MAX_PORTS];
drivers/usb/dwc3/core.h
1226
struct phy *usb3_generic_phy[DWC3_USB3_MAX_PORTS];
drivers/usb/dwc3/dwc3-keystone.c
39
struct phy *usb3_phy;
drivers/usb/dwc3/dwc3-meson-g12a.c
255
struct phy *phys[PHY_COUNT];
drivers/usb/dwc3/dwc3-xilinx.c
50
struct phy *usb3_phy;
drivers/usb/fotg210/fotg210-udc.c
1019
if (!IS_ERR_OR_NULL(fotg210->phy)) {
drivers/usb/fotg210/fotg210-udc.c
1020
ret = otg_set_peripheral(fotg210->phy->otg,
drivers/usb/fotg210/fotg210-udc.c
1081
if (!IS_ERR_OR_NULL(fotg210->phy))
drivers/usb/fotg210/fotg210-udc.c
1082
return otg_set_peripheral(fotg210->phy->otg, NULL);
drivers/usb/fotg210/fotg210-udc.c
1157
if (!IS_ERR_OR_NULL(fotg210->phy)) {
drivers/usb/fotg210/fotg210-udc.c
1158
usb_unregister_notifier(fotg210->phy, &fotg210_phy_notifier);
drivers/usb/fotg210/fotg210-udc.c
1159
usb_put_phy(fotg210->phy);
drivers/usb/fotg210/fotg210-udc.c
1193
fotg210->phy = devm_usb_get_phy_by_phandle(dev, "usb-phy", 0);
drivers/usb/fotg210/fotg210-udc.c
1194
if (IS_ERR(fotg210->phy)) {
drivers/usb/fotg210/fotg210-udc.c
1195
ret = PTR_ERR(fotg210->phy);
drivers/usb/fotg210/fotg210-udc.c
1199
fotg210->phy = NULL;
drivers/usb/fotg210/fotg210-udc.c
1201
ret = usb_phy_init(fotg210->phy);
drivers/usb/fotg210/fotg210-udc.c
1277
if (!IS_ERR_OR_NULL(fotg210->phy))
drivers/usb/fotg210/fotg210-udc.c
1278
usb_register_notifier(fotg210->phy, &fotg210_phy_notifier);
drivers/usb/fotg210/fotg210-udc.c
1289
if (!IS_ERR_OR_NULL(fotg210->phy))
drivers/usb/fotg210/fotg210-udc.c
1290
usb_unregister_notifier(fotg210->phy, &fotg210_phy_notifier);
drivers/usb/fotg210/fotg210-udc.h
241
struct usb_phy *phy;
drivers/usb/gadget/udc/amd5536udc.h
570
struct phy *udc_phy;
drivers/usb/gadget/udc/bdc/bdc.h
412
struct phy **phys;
drivers/usb/gadget/udc/bdc/bdc_core.c
515
sizeof(struct phy *), GFP_KERNEL);
drivers/usb/gadget/udc/renesas_usb3.c
2375
if (usb3->phy)
drivers/usb/gadget/udc/renesas_usb3.c
2376
phy_init(usb3->phy);
drivers/usb/gadget/udc/renesas_usb3.c
2400
phy_exit(usb3->phy);
drivers/usb/gadget/udc/renesas_usb3.c
2909
usb3->phy = devm_phy_optional_get(&pdev->dev, "usb");
drivers/usb/gadget/udc/renesas_usb3.c
2910
if (IS_ERR(usb3->phy)) {
drivers/usb/gadget/udc/renesas_usb3.c
2911
ret = PTR_ERR(usb3->phy);
drivers/usb/gadget/udc/renesas_usb3.c
2958
dev_info(&pdev->dev, "probed%s\n", usb3->phy ? " with phy" : "");
drivers/usb/gadget/udc/renesas_usb3.c
2986
phy_exit(usb3->phy);
drivers/usb/gadget/udc/renesas_usb3.c
3000
if (usb3->phy)
drivers/usb/gadget/udc/renesas_usb3.c
3001
phy_init(usb3->phy);
drivers/usb/gadget/udc/renesas_usb3.c
345
struct phy *phy;
drivers/usb/gadget/udc/tegra-xudc.c
508
struct phy **usb3_phy;
drivers/usb/gadget/udc/tegra-xudc.c
509
struct phy *curr_usb3_phy;
drivers/usb/gadget/udc/tegra-xudc.c
510
struct phy **utmi_phy;
drivers/usb/gadget/udc/tegra-xudc.c
511
struct phy *curr_utmi_phy;
drivers/usb/host/ehci-exynos.c
101
phy_power_off(exynos_ehci->phy[i]);
drivers/usb/host/ehci-exynos.c
113
phy_power_off(exynos_ehci->phy[i]);
drivers/usb/host/ehci-exynos.c
42
struct phy *phy[PHY_NUMBER];
drivers/usb/host/ehci-exynos.c
51
struct phy *phy;
drivers/usb/host/ehci-exynos.c
59
phy = devm_of_phy_get_by_index(dev, dev->of_node, phy_number);
drivers/usb/host/ehci-exynos.c
60
if (IS_ERR(phy))
drivers/usb/host/ehci-exynos.c
61
return PTR_ERR(phy);
drivers/usb/host/ehci-exynos.c
62
exynos_ehci->phy[phy_number] = phy;
drivers/usb/host/ehci-exynos.c
80
phy = devm_of_phy_optional_get(dev, child, NULL);
drivers/usb/host/ehci-exynos.c
81
exynos_ehci->phy[phy_number] = phy;
drivers/usb/host/ehci-exynos.c
82
if (IS_ERR(phy))
drivers/usb/host/ehci-exynos.c
83
return PTR_ERR(phy);
drivers/usb/host/ehci-exynos.c
98
ret = phy_power_on(exynos_ehci->phy[i]);
drivers/usb/host/ehci-mv.c
130
ehci_mv->phy = devm_phy_optional_get(&pdev->dev, "usb");
drivers/usb/host/ehci-mv.c
131
if (IS_ERR(ehci_mv->phy)) {
drivers/usb/host/ehci-mv.c
132
retval = PTR_ERR(ehci_mv->phy);
drivers/usb/host/ehci-mv.c
40
struct phy *phy;
drivers/usb/host/ehci-mv.c
53
retval = phy_init(ehci_mv->phy);
drivers/usb/host/ehci-mv.c
62
phy_exit(ehci_mv->phy);
drivers/usb/host/ehci-omap.c
149
struct usb_phy *phy;
drivers/usb/host/ehci-omap.c
152
phy = devm_usb_get_phy_by_phandle(dev, "phys", i);
drivers/usb/host/ehci-omap.c
153
if (IS_ERR(phy)) {
drivers/usb/host/ehci-omap.c
154
ret = PTR_ERR(phy);
drivers/usb/host/ehci-omap.c
156
phy = NULL;
drivers/usb/host/ehci-omap.c
166
omap->phy[i] = phy;
drivers/usb/host/ehci-omap.c
169
usb_phy_init(omap->phy[i]);
drivers/usb/host/ehci-omap.c
171
usb_phy_set_suspend(omap->phy[i], 0);
drivers/usb/host/ehci-omap.c
204
if (!omap->phy[i] ||
drivers/usb/host/ehci-omap.c
208
usb_phy_init(omap->phy[i]);
drivers/usb/host/ehci-omap.c
210
usb_phy_set_suspend(omap->phy[i], 0);
drivers/usb/host/ehci-omap.c
221
if (omap->phy[i])
drivers/usb/host/ehci-omap.c
222
usb_phy_shutdown(omap->phy[i]);
drivers/usb/host/ehci-omap.c
249
if (omap->phy[i])
drivers/usb/host/ehci-omap.c
250
usb_phy_shutdown(omap->phy[i]);
drivers/usb/host/ehci-omap.c
55
struct usb_phy *phy[OMAP3_HS_USB_PORTS]; /* one PHY for each port */
drivers/usb/host/ehci-orion.c
279
priv->phy = devm_phy_optional_get(&pdev->dev, "usb");
drivers/usb/host/ehci-orion.c
280
if (IS_ERR(priv->phy)) {
drivers/usb/host/ehci-orion.c
281
err = PTR_ERR(priv->phy);
drivers/usb/host/ehci-orion.c
63
struct phy *phy;
drivers/usb/host/ehci-st.c
102
phy_exit(priv->phy);
drivers/usb/host/ehci-st.c
124
phy_power_off(priv->phy);
drivers/usb/host/ehci-st.c
126
phy_exit(priv->phy);
drivers/usb/host/ehci-st.c
171
priv->phy = devm_phy_get(&dev->dev, "usb");
drivers/usb/host/ehci-st.c
172
if (IS_ERR(priv->phy)) {
drivers/usb/host/ehci-st.c
173
err = PTR_ERR(priv->phy);
drivers/usb/host/ehci-st.c
37
struct phy *phy;
drivers/usb/host/ehci-st.c
91
ret = phy_init(priv->phy);
drivers/usb/host/ehci-st.c
95
ret = phy_power_on(priv->phy);
drivers/usb/host/ohci-da8xx.c
40
struct phy *usb11_phy;
drivers/usb/host/ohci-exynos.c
102
phy_power_off(exynos_ohci->phy[i]);
drivers/usb/host/ohci-exynos.c
33
struct phy *phy[PHY_NUMBER];
drivers/usb/host/ohci-exynos.c
40
struct phy *phy;
drivers/usb/host/ohci-exynos.c
48
phy = devm_of_phy_get_by_index(dev, dev->of_node, phy_number);
drivers/usb/host/ohci-exynos.c
49
if (IS_ERR(phy))
drivers/usb/host/ohci-exynos.c
50
return PTR_ERR(phy);
drivers/usb/host/ohci-exynos.c
51
exynos_ohci->phy[phy_number] = phy;
drivers/usb/host/ohci-exynos.c
69
phy = devm_of_phy_optional_get(dev, child, NULL);
drivers/usb/host/ohci-exynos.c
70
exynos_ohci->phy[phy_number] = phy;
drivers/usb/host/ohci-exynos.c
71
if (IS_ERR(phy))
drivers/usb/host/ohci-exynos.c
72
return PTR_ERR(phy);
drivers/usb/host/ohci-exynos.c
87
ret = phy_power_on(exynos_ohci->phy[i]);
drivers/usb/host/ohci-exynos.c
90
phy_power_off(exynos_ohci->phy[i]);
drivers/usb/host/ohci-st.c
105
phy_power_off(priv->phy);
drivers/usb/host/ohci-st.c
107
phy_exit(priv->phy);
drivers/usb/host/ohci-st.c
151
priv->phy = devm_phy_get(&dev->dev, "usb");
drivers/usb/host/ohci-st.c
152
if (IS_ERR(priv->phy)) {
drivers/usb/host/ohci-st.c
153
err = PTR_ERR(priv->phy);
drivers/usb/host/ohci-st.c
35
struct phy *phy;
drivers/usb/host/ohci-st.c
71
ret = phy_init(priv->phy);
drivers/usb/host/ohci-st.c
75
ret = phy_power_on(priv->phy);
drivers/usb/host/ohci-st.c
82
phy_exit(priv->phy);
drivers/usb/host/xhci-tegra.c
1331
static struct phy *tegra_xusb_get_phy(struct tegra_xusb *tegra, char *name,
drivers/usb/host/xhci-tegra.c
1353
struct phy *phy = tegra_xusb_get_phy(tegra, "usb2",
drivers/usb/host/xhci-tegra.c
1363
phy_set_mode_ext(phy, PHY_MODE_USB_OTG, USB_ROLE_HOST);
drivers/usb/host/xhci-tegra.c
1365
phy_set_mode_ext(phy, PHY_MODE_USB_OTG, USB_ROLE_NONE);
drivers/usb/host/xhci-tegra.c
1511
struct phy *phy = tegra_xusb_get_phy(tegra, "usb2", i);
drivers/usb/host/xhci-tegra.c
1513
if (!phy)
drivers/usb/host/xhci-tegra.c
1517
phy->dev.of_node,
drivers/usb/host/xhci-tegra.c
1592
struct phy *phy;
drivers/usb/host/xhci-tegra.c
1784
phy = devm_phy_optional_get(&pdev->dev, prop);
drivers/usb/host/xhci-tegra.c
1785
if (IS_ERR(phy)) {
drivers/usb/host/xhci-tegra.c
1788
PTR_ERR(phy));
drivers/usb/host/xhci-tegra.c
1789
err = PTR_ERR(phy);
drivers/usb/host/xhci-tegra.c
1793
tegra->phys[k++] = phy;
drivers/usb/host/xhci-tegra.c
2116
struct phy *phy;
drivers/usb/host/xhci-tegra.c
2134
phy = tegra->phys[k++];
drivers/usb/host/xhci-tegra.c
2136
if (!phy)
drivers/usb/host/xhci-tegra.c
2149
tegra_xusb_padctl_enable_phy_sleepwalk(padctl, phy, speed);
drivers/usb/host/xhci-tegra.c
2150
tegra_xusb_padctl_enable_phy_wake(padctl, phy);
drivers/usb/host/xhci-tegra.c
2161
struct phy *phy = tegra_xusb_get_phy(tegra, "usb2", i);
drivers/usb/host/xhci-tegra.c
2163
if (!phy)
drivers/usb/host/xhci-tegra.c
2166
if (tegra_xusb_padctl_remote_wake_detected(padctl, phy))
drivers/usb/host/xhci-tegra.c
2167
tegra_phy_xusb_utmi_pad_power_on(phy);
drivers/usb/host/xhci-tegra.c
2198
struct phy *phy;
drivers/usb/host/xhci-tegra.c
2209
phy = tegra_xusb_get_phy(tegra, "usb2", i);
drivers/usb/host/xhci-tegra.c
2211
tegra_phy_xusb_utmi_pad_power_on(phy);
drivers/usb/host/xhci-tegra.c
2213
tegra_phy_xusb_utmi_pad_power_down(phy);
drivers/usb/host/xhci-tegra.c
2765
struct phy *phy;
drivers/usb/host/xhci-tegra.c
2783
phy = tegra_xusb_get_phy(tegra, "usb2", port);
drivers/usb/host/xhci-tegra.c
2787
tegra_phy_xusb_utmi_pad_power_on(phy);
drivers/usb/host/xhci-tegra.c
2795
tegra_phy_xusb_utmi_pad_power_on(phy);
drivers/usb/host/xhci-tegra.c
2808
tegra_phy_xusb_utmi_pad_power_down(phy);
drivers/usb/host/xhci-tegra.c
2818
tegra_phy_xusb_utmi_pad_power_down(phy);
drivers/usb/host/xhci-tegra.c
2822
tegra_phy_xusb_utmi_pad_power_on(phy);
drivers/usb/host/xhci-tegra.c
299
struct phy **phys;
drivers/usb/mtu3/mtu3.h
255
struct phy **phys;
drivers/usb/musb/da8xx.c
354
return phy_set_mode(glue->phy, phy_mode);
drivers/usb/musb/da8xx.c
391
ret = phy_init(glue->phy);
drivers/usb/musb/da8xx.c
397
ret = phy_power_on(glue->phy);
drivers/usb/musb/da8xx.c
413
phy_exit(glue->phy);
drivers/usb/musb/da8xx.c
425
phy_power_off(glue->phy);
drivers/usb/musb/da8xx.c
426
phy_exit(glue->phy);
drivers/usb/musb/da8xx.c
534
glue->phy = devm_phy_get(&pdev->dev, "usb-phy");
drivers/usb/musb/da8xx.c
535
if (IS_ERR(glue->phy))
drivers/usb/musb/da8xx.c
536
return dev_err_probe(&pdev->dev, PTR_ERR(glue->phy),
drivers/usb/musb/da8xx.c
604
ret = phy_power_off(glue->phy);
drivers/usb/musb/da8xx.c
620
return phy_power_on(glue->phy);
drivers/usb/musb/da8xx.c
73
struct phy *phy;
drivers/usb/musb/jz4740.c
117
musb->phy = devm_of_phy_get_by_index(dev, dev->of_node, 0);
drivers/usb/musb/jz4740.c
118
if (IS_ERR(musb->phy)) {
drivers/usb/musb/jz4740.c
119
err = PTR_ERR(musb->phy);
drivers/usb/musb/jz4740.c
125
musb->phy = NULL;
drivers/usb/musb/jz4740.c
129
if (musb->phy) {
drivers/usb/musb/jz4740.c
130
err = phy_init(musb->phy);
drivers/usb/musb/jz4740.c
136
err = phy_power_on(musb->phy);
drivers/usb/musb/jz4740.c
170
if (musb->phy)
drivers/usb/musb/jz4740.c
171
phy_power_off(musb->phy);
drivers/usb/musb/jz4740.c
173
if (musb->phy)
drivers/usb/musb/jz4740.c
174
phy_exit(musb->phy);
drivers/usb/musb/jz4740.c
183
if (musb->phy) {
drivers/usb/musb/jz4740.c
184
phy_power_off(musb->phy);
drivers/usb/musb/jz4740.c
185
phy_exit(musb->phy);
drivers/usb/musb/jz4740.c
83
struct usb_phy *phy = glue->musb->xceiv;
drivers/usb/musb/jz4740.c
85
if (!phy)
drivers/usb/musb/jz4740.c
90
atomic_notifier_call_chain(&phy->notifier, USB_EVENT_NONE, phy);
drivers/usb/musb/jz4740.c
93
atomic_notifier_call_chain(&phy->notifier, USB_EVENT_VBUS, phy);
drivers/usb/musb/jz4740.c
96
atomic_notifier_call_chain(&phy->notifier, USB_EVENT_ID, phy);
drivers/usb/musb/mediatek.c
104
phy_power_off(glue->phy);
drivers/usb/musb/mediatek.c
113
phy_set_mode(glue->phy, glue->phy_mode);
drivers/usb/musb/mediatek.c
262
musb->phy = glue->phy;
drivers/usb/musb/mediatek.c
277
ret = phy_init(glue->phy);
drivers/usb/musb/mediatek.c
281
ret = phy_power_on(glue->phy);
drivers/usb/musb/mediatek.c
285
phy_set_mode(glue->phy, glue->phy_mode);
drivers/usb/musb/mediatek.c
296
phy_exit(glue->phy);
drivers/usb/musb/mediatek.c
340
phy_power_off(glue->phy);
drivers/usb/musb/mediatek.c
341
phy_exit(glue->phy);
drivers/usb/musb/mediatek.c
454
glue->phy = devm_of_phy_get_by_index(dev, np, 0);
drivers/usb/musb/mediatek.c
455
if (IS_ERR(glue->phy))
drivers/usb/musb/mediatek.c
456
return dev_err_probe(dev, PTR_ERR(glue->phy),
drivers/usb/musb/mediatek.c
47
struct phy *phy;
drivers/usb/musb/mediatek.c
81
phy_power_on(glue->phy);
drivers/usb/musb/mediatek.c
94
phy_power_on(glue->phy);
drivers/usb/musb/mpfs.c
28
struct platform_device *phy;
drivers/usb/musb/mpfs.c
314
glue->phy = usb_phy_generic_register();
drivers/usb/musb/mpfs.c
315
if (IS_ERR(glue->phy)) {
drivers/usb/musb/mpfs.c
317
PTR_ERR(glue->phy));
drivers/usb/musb/mpfs.c
318
ret = PTR_ERR(glue->phy);
drivers/usb/musb/mpfs.c
349
usb_phy_generic_unregister(glue->phy);
drivers/usb/musb/musb_core.c
131
static int musb_ulpi_read(struct usb_phy *phy, u32 reg)
drivers/usb/musb/musb_core.c
133
void __iomem *addr = phy->io_priv;
drivers/usb/musb/musb_core.c
139
pm_runtime_get_sync(phy->io_dev);
drivers/usb/musb/musb_core.c
170
pm_runtime_put(phy->io_dev);
drivers/usb/musb/musb_core.c
175
static int musb_ulpi_write(struct usb_phy *phy, u32 val, u32 reg)
drivers/usb/musb/musb_core.c
177
void __iomem *addr = phy->io_priv;
drivers/usb/musb/musb_core.c
183
pm_runtime_get_sync(phy->io_dev);
drivers/usb/musb/musb_core.c
208
pm_runtime_put(phy->io_dev);
drivers/usb/musb/musb_core.h
340
struct phy *phy;
drivers/usb/musb/musb_dsps.c
446
musb->phy = devm_phy_get(dev->parent, "usb2-phy");
drivers/usb/musb/musb_dsps.c
453
if (IS_ERR(musb->phy)) {
drivers/usb/musb/musb_dsps.c
454
musb->phy = NULL;
drivers/usb/musb/musb_dsps.c
456
ret = phy_init(musb->phy);
drivers/usb/musb/musb_dsps.c
459
ret = phy_power_on(musb->phy);
drivers/usb/musb/musb_dsps.c
461
phy_exit(musb->phy);
drivers/usb/musb/musb_dsps.c
502
phy_power_off(musb->phy);
drivers/usb/musb/musb_dsps.c
503
phy_exit(musb->phy);
drivers/usb/musb/musb_gadget.c
1849
phy_set_mode(musb->phy, PHY_MODE_USB_DEVICE);
drivers/usb/musb/musb_gadget.c
1901
phy_set_mode(musb->phy, PHY_MODE_INVALID);
drivers/usb/musb/musb_host.c
2737
phy_set_mode(musb->phy, PHY_MODE_USB_HOST);
drivers/usb/musb/omap2430.c
200
musb->phy = devm_phy_get(dev->parent, "usb2-phy");
drivers/usb/musb/omap2430.c
220
if (IS_ERR(musb->phy)) {
drivers/usb/musb/omap2430.c
222
return PTR_ERR(musb->phy);
drivers/usb/musb/omap2430.c
225
phy_init(musb->phy);
drivers/usb/musb/omap2430.c
226
phy_power_on(musb->phy);
drivers/usb/musb/omap2430.c
277
phy_power_off(musb->phy);
drivers/usb/musb/omap2430.c
278
phy_exit(musb->phy);
drivers/usb/musb/omap2430.c
279
musb->phy = NULL;
drivers/usb/musb/omap2430.c
498
phy_power_off(musb->phy);
drivers/usb/musb/omap2430.c
499
phy_exit(musb->phy);
drivers/usb/musb/omap2430.c
516
phy_init(musb->phy);
drivers/usb/musb/omap2430.c
517
phy_power_on(musb->phy);
drivers/usb/musb/omap2430.c
538
phy_power_off(musb->phy);
drivers/usb/musb/omap2430.c
539
phy_exit(musb->phy);
drivers/usb/musb/omap2430.c
575
phy_init(musb->phy);
drivers/usb/musb/omap2430.c
576
phy_power_on(musb->phy);
drivers/usb/musb/sunxi.c
134
phy_power_on(glue->phy);
drivers/usb/musb/sunxi.c
137
phy_power_off(glue->phy);
drivers/usb/musb/sunxi.c
143
phy_set_mode(glue->phy, glue->phy_mode);
drivers/usb/musb/sunxi.c
164
sun4i_usb_phy_set_squelch_detect(glue->phy, false);
drivers/usb/musb/sunxi.c
171
sun4i_usb_phy_set_squelch_detect(glue->phy, true);
drivers/usb/musb/sunxi.c
228
musb->phy = glue->phy;
drivers/usb/musb/sunxi.c
255
ret = phy_init(glue->phy);
drivers/usb/musb/sunxi.c
285
phy_power_off(glue->phy);
drivers/usb/musb/sunxi.c
287
phy_exit(glue->phy);
drivers/usb/musb/sunxi.c
759
glue->phy = devm_phy_get(&pdev->dev, "usb");
drivers/usb/musb/sunxi.c
760
if (IS_ERR(glue->phy))
drivers/usb/musb/sunxi.c
761
return dev_err_probe(&pdev->dev, PTR_ERR(glue->phy),
drivers/usb/musb/sunxi.c
86
struct phy *phy;
drivers/usb/musb/tusb6010.c
1288
usb_phy_generic_unregister(glue->phy);
drivers/usb/musb/tusb6010.c
35
struct platform_device *phy;
drivers/usb/phy/phy-ab8500-usb.c
127
struct usb_phy phy;
drivers/usb/phy/phy-ab8500-usb.c
147
return container_of(x, struct ab8500_usb, phy);
drivers/usb/phy/phy-ab8500-usb.c
341
ab->phy.otg->default_a = false;
drivers/usb/phy/phy-ab8500-usb.c
349
ab->phy.otg->state = OTG_STATE_B_IDLE;
drivers/usb/phy/phy-ab8500-usb.c
350
usb_phy_set_event(&ab->phy, USB_EVENT_NONE);
drivers/usb/phy/phy-ab8500-usb.c
363
atomic_notifier_call_chain(&ab->phy.notifier,
drivers/usb/phy/phy-ab8500-usb.c
365
usb_phy_set_event(&ab->phy, USB_EVENT_ENUMERATED);
drivers/usb/phy/phy-ab8500-usb.c
379
atomic_notifier_call_chain(&ab->phy.notifier,
drivers/usb/phy/phy-ab8500-usb.c
382
ab->phy.otg->default_a = true;
drivers/usb/phy/phy-ab8500-usb.c
385
atomic_notifier_call_chain(&ab->phy.notifier,
drivers/usb/phy/phy-ab8500-usb.c
392
atomic_notifier_call_chain(&ab->phy.notifier,
drivers/usb/phy/phy-ab8500-usb.c
394
usb_phy_set_event(&ab->phy, USB_EVENT_CHARGER);
drivers/usb/phy/phy-ab8500-usb.c
451
ab->phy.otg->default_a = false;
drivers/usb/phy/phy-ab8500-usb.c
456
ab->phy.otg->state = OTG_STATE_B_IDLE;
drivers/usb/phy/phy-ab8500-usb.c
457
usb_phy_set_event(&ab->phy, USB_EVENT_NONE);
drivers/usb/phy/phy-ab8500-usb.c
474
atomic_notifier_call_chain(&ab->phy.notifier,
drivers/usb/phy/phy-ab8500-usb.c
476
usb_phy_set_event(&ab->phy, USB_EVENT_ENUMERATED);
drivers/usb/phy/phy-ab8500-usb.c
489
atomic_notifier_call_chain(&ab->phy.notifier,
drivers/usb/phy/phy-ab8500-usb.c
492
ab->phy.otg->default_a = true;
drivers/usb/phy/phy-ab8500-usb.c
495
atomic_notifier_call_chain(&ab->phy.notifier,
drivers/usb/phy/phy-ab8500-usb.c
502
atomic_notifier_call_chain(&ab->phy.notifier,
drivers/usb/phy/phy-ab8500-usb.c
504
usb_phy_set_event(&ab->phy, USB_EVENT_CHARGER);
drivers/usb/phy/phy-ab8500-usb.c
569
ab->phy.otg->default_a = false;
drivers/usb/phy/phy-ab8500-usb.c
571
atomic_notifier_call_chain(&ab->phy.notifier,
drivers/usb/phy/phy-ab8500-usb.c
578
atomic_notifier_call_chain(&ab->phy.notifier,
drivers/usb/phy/phy-ab8500-usb.c
581
atomic_notifier_call_chain(&ab->phy.notifier,
drivers/usb/phy/phy-ab8500-usb.c
584
ab->phy.otg->default_a = false;
drivers/usb/phy/phy-ab8500-usb.c
620
if (!ab->phy.otg->host)
drivers/usb/phy/phy-ab8500-usb.c
623
if (!ab->phy.otg->gadget)
drivers/usb/phy/phy-ab8500-usb.c
643
ab->phy.otg->gadget = gadget;
drivers/usb/phy/phy-ab8500-usb.c
667
ab->phy.otg->host = host;
drivers/usb/phy/phy-ab8500-usb.c
894
ab->phy.dev = ab->dev;
drivers/usb/phy/phy-ab8500-usb.c
895
ab->phy.otg = otg;
drivers/usb/phy/phy-ab8500-usb.c
896
ab->phy.label = "ab8500";
drivers/usb/phy/phy-ab8500-usb.c
897
ab->phy.set_suspend = ab8500_usb_set_suspend;
drivers/usb/phy/phy-ab8500-usb.c
898
ab->phy.otg->state = OTG_STATE_UNDEFINED;
drivers/usb/phy/phy-ab8500-usb.c
900
otg->usb_phy = &ab->phy;
drivers/usb/phy/phy-ab8500-usb.c
939
err = usb_add_phy(&ab->phy, USB_PHY_TYPE_USB2);
drivers/usb/phy/phy-ab8500-usb.c
974
usb_remove_phy(&ab->phy);
drivers/usb/phy/phy-am335x.c
23
static int am335x_init(struct usb_phy *phy)
drivers/usb/phy/phy-am335x.c
25
struct am335x_phy *am_phy = dev_get_drvdata(phy->dev);
drivers/usb/phy/phy-am335x.c
31
static void am335x_shutdown(struct usb_phy *phy)
drivers/usb/phy/phy-am335x.c
33
struct am335x_phy *am_phy = dev_get_drvdata(phy->dev);
drivers/usb/phy/phy-am335x.c
64
am_phy->usb_phy_gen.phy.init = am335x_init;
drivers/usb/phy/phy-am335x.c
65
am_phy->usb_phy_gen.phy.shutdown = am335x_shutdown;
drivers/usb/phy/phy-am335x.c
82
return usb_add_phy_dev(&am_phy->usb_phy_gen.phy);
drivers/usb/phy/phy-am335x.c
89
usb_remove_phy(&am_phy->usb_phy_gen.phy);
drivers/usb/phy/phy-fsl-usb.c
259
if ((fsl_otg_dev->phy.otg->state == OTG_STATE_B_SRP_INIT) &&
drivers/usb/phy/phy-fsl-usb.c
272
if (!fsl_otg_dev->phy.otg->host->b_hnp_enable)
drivers/usb/phy/phy-fsl-usb.c
463
container_of(otg->usb_phy, struct fsl_otg, phy);
drivers/usb/phy/phy-fsl-usb.c
558
otg_dev = container_of(otg->usb_phy, struct fsl_otg, phy);
drivers/usb/phy/phy-fsl-usb.c
608
otg_dev = container_of(otg->usb_phy, struct fsl_otg, phy);
drivers/usb/phy/phy-fsl-usb.c
670
otg_dev = container_of(otg->usb_phy, struct fsl_otg, phy);
drivers/usb/phy/phy-fsl-usb.c
688
otg_dev = container_of(otg->usb_phy, struct fsl_otg, phy);
drivers/usb/phy/phy-fsl-usb.c
710
struct usb_otg *otg = ((struct fsl_otg *)dev_id)->phy.otg;
drivers/usb/phy/phy-fsl-usb.c
786
fsl_otg_tc->phy.otg = kzalloc_obj(struct usb_otg);
drivers/usb/phy/phy-fsl-usb.c
787
if (!fsl_otg_tc->phy.otg) {
drivers/usb/phy/phy-fsl-usb.c
806
fsl_otg_tc->phy.label = DRIVER_DESC;
drivers/usb/phy/phy-fsl-usb.c
807
fsl_otg_tc->phy.dev = &pdev->dev;
drivers/usb/phy/phy-fsl-usb.c
809
fsl_otg_tc->phy.otg->usb_phy = &fsl_otg_tc->phy;
drivers/usb/phy/phy-fsl-usb.c
810
fsl_otg_tc->phy.otg->set_host = fsl_otg_set_host;
drivers/usb/phy/phy-fsl-usb.c
811
fsl_otg_tc->phy.otg->set_peripheral = fsl_otg_set_peripheral;
drivers/usb/phy/phy-fsl-usb.c
812
fsl_otg_tc->phy.otg->start_hnp = fsl_otg_start_hnp;
drivers/usb/phy/phy-fsl-usb.c
813
fsl_otg_tc->phy.otg->start_srp = fsl_otg_start_srp;
drivers/usb/phy/phy-fsl-usb.c
818
status = usb_add_phy(&fsl_otg_tc->phy, USB_PHY_TYPE_USB2);
drivers/usb/phy/phy-fsl-usb.c
827
kfree(fsl_otg_tc->phy.otg);
drivers/usb/phy/phy-fsl-usb.c
843
p_otg = container_of(otg_trans, struct fsl_otg, phy);
drivers/usb/phy/phy-fsl-usb.c
848
fsm->otg = p_otg->phy.otg;
drivers/usb/phy/phy-fsl-usb.c
882
dev_dbg(p_otg->phy.dev, "can't get IRQ %d, error %d\n",
drivers/usb/phy/phy-fsl-usb.c
885
kfree(p_otg->phy.otg);
drivers/usb/phy/phy-fsl-usb.c
945
p_otg->phy.otg->state = OTG_STATE_UNDEFINED;
drivers/usb/phy/phy-fsl-usb.c
948
p_otg->phy.otg->state = OTG_STATE_A_IDLE;
drivers/usb/phy/phy-fsl-usb.c
992
usb_remove_phy(&fsl_otg_dev->phy);
drivers/usb/phy/phy-fsl-usb.c
998
kfree(fsl_otg_dev->phy.otg);
drivers/usb/phy/phy-fsl-usb.h
287
#define SET_OTG_STATE(phy, newstate) ((phy)->otg->state = newstate)
drivers/usb/phy/phy-fsl-usb.h
358
struct usb_phy phy;
drivers/usb/phy/phy-generic.c
102
struct usb_otg *otg = nop->phy.otg;
drivers/usb/phy/phy-generic.c
113
nop->phy.last_event = status;
drivers/usb/phy/phy-generic.c
115
atomic_notifier_call_chain(&nop->phy.notifier, status,
drivers/usb/phy/phy-generic.c
120
nop->phy.last_event = status;
drivers/usb/phy/phy-generic.c
122
atomic_notifier_call_chain(&nop->phy.notifier, status,
drivers/usb/phy/phy-generic.c
128
int usb_gen_phy_init(struct usb_phy *phy)
drivers/usb/phy/phy-generic.c
130
struct usb_phy_generic *nop = dev_get_drvdata(phy->dev);
drivers/usb/phy/phy-generic.c
135
dev_err(phy->dev, "Failed to enable power\n");
drivers/usb/phy/phy-generic.c
148
void usb_gen_phy_shutdown(struct usb_phy *phy)
drivers/usb/phy/phy-generic.c
150
struct usb_phy_generic *nop = dev_get_drvdata(phy->dev);
drivers/usb/phy/phy-generic.c
158
dev_err(phy->dev, "Failed to disable power\n");
drivers/usb/phy/phy-generic.c
219
nop->phy.otg = devm_kzalloc(dev, sizeof(*nop->phy.otg),
drivers/usb/phy/phy-generic.c
221
if (!nop->phy.otg)
drivers/usb/phy/phy-generic.c
249
nop->phy.dev = nop->dev;
drivers/usb/phy/phy-generic.c
250
nop->phy.label = "nop-xceiv";
drivers/usb/phy/phy-generic.c
251
nop->phy.set_suspend = nop_set_suspend;
drivers/usb/phy/phy-generic.c
252
nop->phy.type = type;
drivers/usb/phy/phy-generic.c
254
nop->phy.otg->state = OTG_STATE_UNDEFINED;
drivers/usb/phy/phy-generic.c
255
nop->phy.otg->usb_phy = &nop->phy;
drivers/usb/phy/phy-generic.c
256
nop->phy.otg->set_host = nop_set_host;
drivers/usb/phy/phy-generic.c
257
nop->phy.otg->set_peripheral = nop_set_peripheral;
drivers/usb/phy/phy-generic.c
258
nop->phy.otg->set_vbus = nop_set_vbus;
drivers/usb/phy/phy-generic.c
288
nop->phy.otg->state = gpiod_get_value(nop->gpiod_vbus) ?
drivers/usb/phy/phy-generic.c
292
nop->phy.init = usb_gen_phy_init;
drivers/usb/phy/phy-generic.c
293
nop->phy.shutdown = usb_gen_phy_shutdown;
drivers/usb/phy/phy-generic.c
295
err = usb_add_phy_dev(&nop->phy);
drivers/usb/phy/phy-generic.c
311
usb_remove_phy(&nop->phy);
drivers/usb/phy/phy-generic.h
10
struct usb_phy phy;
drivers/usb/phy/phy-generic.h
22
int usb_gen_phy_init(struct usb_phy *phy);
drivers/usb/phy/phy-generic.h
23
void usb_gen_phy_shutdown(struct usb_phy *phy);
drivers/usb/phy/phy-gpio-vbus-usb.c
114
gpio_vbus->phy.otg->state = OTG_STATE_B_PERIPHERAL;
drivers/usb/phy/phy-gpio-vbus-usb.c
115
gpio_vbus->phy.last_event = status;
drivers/usb/phy/phy-gpio-vbus-usb.c
116
usb_gadget_vbus_connect(gpio_vbus->phy.otg->gadget);
drivers/usb/phy/phy-gpio-vbus-usb.c
125
atomic_notifier_call_chain(&gpio_vbus->phy.notifier,
drivers/usb/phy/phy-gpio-vbus-usb.c
126
status, gpio_vbus->phy.otg->gadget);
drivers/usb/phy/phy-gpio-vbus-usb.c
127
usb_phy_set_event(&gpio_vbus->phy, USB_EVENT_ENUMERATED);
drivers/usb/phy/phy-gpio-vbus-usb.c
135
usb_gadget_vbus_disconnect(gpio_vbus->phy.otg->gadget);
drivers/usb/phy/phy-gpio-vbus-usb.c
137
gpio_vbus->phy.otg->state = OTG_STATE_B_IDLE;
drivers/usb/phy/phy-gpio-vbus-usb.c
138
gpio_vbus->phy.last_event = status;
drivers/usb/phy/phy-gpio-vbus-usb.c
140
atomic_notifier_call_chain(&gpio_vbus->phy.notifier,
drivers/usb/phy/phy-gpio-vbus-usb.c
141
status, gpio_vbus->phy.otg->gadget);
drivers/usb/phy/phy-gpio-vbus-usb.c
142
usb_phy_set_event(&gpio_vbus->phy, USB_EVENT_NONE);
drivers/usb/phy/phy-gpio-vbus-usb.c
151
struct usb_otg *otg = gpio_vbus->phy.otg;
drivers/usb/phy/phy-gpio-vbus-usb.c
172
gpio_vbus = container_of(otg->usb_phy, struct gpio_vbus_data, phy);
drivers/usb/phy/phy-gpio-vbus-usb.c
202
static int gpio_vbus_set_power(struct usb_phy *phy, unsigned mA)
drivers/usb/phy/phy-gpio-vbus-usb.c
206
gpio_vbus = container_of(phy, struct gpio_vbus_data, phy);
drivers/usb/phy/phy-gpio-vbus-usb.c
208
if (phy->otg->state == OTG_STATE_B_PERIPHERAL)
drivers/usb/phy/phy-gpio-vbus-usb.c
214
static int gpio_vbus_set_suspend(struct usb_phy *phy, int suspend)
drivers/usb/phy/phy-gpio-vbus-usb.c
218
gpio_vbus = container_of(phy, struct gpio_vbus_data, phy);
drivers/usb/phy/phy-gpio-vbus-usb.c
226
return gpio_vbus_set_power(phy, suspend ? 0 : gpio_vbus->mA);
drivers/usb/phy/phy-gpio-vbus-usb.c
244
gpio_vbus->phy.otg = devm_kzalloc(&pdev->dev, sizeof(struct usb_otg),
drivers/usb/phy/phy-gpio-vbus-usb.c
246
if (!gpio_vbus->phy.otg)
drivers/usb/phy/phy-gpio-vbus-usb.c
251
gpio_vbus->phy.label = "gpio-vbus";
drivers/usb/phy/phy-gpio-vbus-usb.c
252
gpio_vbus->phy.dev = gpio_vbus->dev;
drivers/usb/phy/phy-gpio-vbus-usb.c
253
gpio_vbus->phy.set_power = gpio_vbus_set_power;
drivers/usb/phy/phy-gpio-vbus-usb.c
254
gpio_vbus->phy.set_suspend = gpio_vbus_set_suspend;
drivers/usb/phy/phy-gpio-vbus-usb.c
256
gpio_vbus->phy.otg->state = OTG_STATE_UNDEFINED;
drivers/usb/phy/phy-gpio-vbus-usb.c
257
gpio_vbus->phy.otg->usb_phy = &gpio_vbus->phy;
drivers/usb/phy/phy-gpio-vbus-usb.c
258
gpio_vbus->phy.otg->set_peripheral = gpio_vbus_set_peripheral;
drivers/usb/phy/phy-gpio-vbus-usb.c
316
err = usb_add_phy(&gpio_vbus->phy, USB_PHY_TYPE_USB2);
drivers/usb/phy/phy-gpio-vbus-usb.c
33
struct usb_phy phy;
drivers/usb/phy/phy-gpio-vbus-usb.c
335
usb_remove_phy(&gpio_vbus->phy);
drivers/usb/phy/phy-gpio-vbus-usb.c
98
if (!gpio_vbus->phy.otg->gadget)
drivers/usb/phy/phy-isp1301.c
107
phy = &isp->phy;
drivers/usb/phy/phy-isp1301.c
108
phy->dev = &client->dev;
drivers/usb/phy/phy-isp1301.c
109
phy->label = DRV_NAME;
drivers/usb/phy/phy-isp1301.c
110
phy->init = isp1301_phy_init;
drivers/usb/phy/phy-isp1301.c
111
phy->set_vbus = isp1301_phy_set_vbus;
drivers/usb/phy/phy-isp1301.c
112
phy->type = USB_PHY_TYPE_USB2;
drivers/usb/phy/phy-isp1301.c
115
usb_add_phy_dev(phy);
drivers/usb/phy/phy-isp1301.c
126
usb_remove_phy(&isp->phy);
drivers/usb/phy/phy-isp1301.c
19
struct usb_phy phy;
drivers/usb/phy/phy-isp1301.c
25
#define phy_to_isp(p) (container_of((p), struct isp1301, phy))
drivers/usb/phy/phy-isp1301.c
56
static int isp1301_phy_init(struct usb_phy *phy)
drivers/usb/phy/phy-isp1301.c
58
struct isp1301 *isp = phy_to_isp(phy);
drivers/usb/phy/phy-isp1301.c
83
static int isp1301_phy_set_vbus(struct usb_phy *phy, int on)
drivers/usb/phy/phy-isp1301.c
85
struct isp1301 *isp = phy_to_isp(phy);
drivers/usb/phy/phy-isp1301.c
98
struct usb_phy *phy;
drivers/usb/phy/phy-keystone.c
44
static int keystone_usbphy_init(struct usb_phy *phy)
drivers/usb/phy/phy-keystone.c
46
struct keystone_usbphy *k_phy = dev_get_drvdata(phy->dev);
drivers/usb/phy/phy-keystone.c
55
static void keystone_usbphy_shutdown(struct usb_phy *phy)
drivers/usb/phy/phy-keystone.c
57
struct keystone_usbphy *k_phy = dev_get_drvdata(phy->dev);
drivers/usb/phy/phy-keystone.c
83
k_phy->usb_phy_gen.phy.init = keystone_usbphy_init;
drivers/usb/phy/phy-keystone.c
84
k_phy->usb_phy_gen.phy.shutdown = keystone_usbphy_shutdown;
drivers/usb/phy/phy-keystone.c
88
return usb_add_phy_dev(&k_phy->usb_phy_gen.phy);
drivers/usb/phy/phy-keystone.c
95
usb_remove_phy(&k_phy->usb_phy_gen.phy);
drivers/usb/phy/phy-mv-usb.h
135
struct usb_phy phy;
drivers/usb/phy/phy-mxs-usb.c
132
#define to_mxs_phy(p) container_of((p), struct mxs_phy, phy)
drivers/usb/phy/phy-mxs-usb.c
225
struct usb_phy phy;
drivers/usb/phy/phy-mxs-usb.c
267
void __iomem *base = mxs_phy->phy.io_priv;
drivers/usb/phy/phy-mxs-usb.c
311
void __iomem *base = mxs_phy->phy.io_priv;
drivers/usb/phy/phy-mxs-usb.c
326
dev_err(mxs_phy->phy.dev,
drivers/usb/phy/phy-mxs-usb.c
401
void __iomem *base = mxs_phy->phy.io_priv;
drivers/usb/phy/phy-mxs-usb.c
433
return mxs_phy->phy.last_event == USB_EVENT_ID;
drivers/usb/phy/phy-mxs-usb.c
439
enum usb_phy_events last_event = mxs_phy->phy.last_event;
drivers/usb/phy/phy-mxs-usb.c
459
static int mxs_phy_init(struct usb_phy *phy)
drivers/usb/phy/phy-mxs-usb.c
462
struct mxs_phy *mxs_phy = to_mxs_phy(phy);
drivers/usb/phy/phy-mxs-usb.c
472
static void mxs_phy_shutdown(struct usb_phy *phy)
drivers/usb/phy/phy-mxs-usb.c
474
struct mxs_phy *mxs_phy = to_mxs_phy(phy);
drivers/usb/phy/phy-mxs-usb.c
484
writel(value, phy->io_priv + HW_USBPHY_CTRL_CLR);
drivers/usb/phy/phy-mxs-usb.c
485
writel(0xffffffff, phy->io_priv + HW_USBPHY_PWD);
drivers/usb/phy/phy-mxs-usb.c
488
phy->io_priv + HW_USBPHY_CTRL_SET);
drivers/usb/phy/phy-mxs-usb.c
491
mxs_phy_pll_enable(phy->io_priv, false);
drivers/usb/phy/phy-mxs-usb.c
589
static int mxs_phy_on_connect(struct usb_phy *phy,
drivers/usb/phy/phy-mxs-usb.c
592
dev_dbg(phy->dev, "%s device has connected\n",
drivers/usb/phy/phy-mxs-usb.c
597
phy->io_priv + HW_USBPHY_CTRL_SET);
drivers/usb/phy/phy-mxs-usb.c
602
static int mxs_phy_on_disconnect(struct usb_phy *phy,
drivers/usb/phy/phy-mxs-usb.c
605
dev_dbg(phy->dev, "%s device has disconnected\n",
drivers/usb/phy/phy-mxs-usb.c
609
if (readl(phy->io_priv + HW_USBPHY_CTRL) &
drivers/usb/phy/phy-mxs-usb.c
612
phy->io_priv + HW_USBPHY_CTRL_CLR);
drivers/usb/phy/phy-mxs-usb.c
627
dev_err(x->phy.dev, "vbus is not valid\n");
drivers/usb/phy/phy-mxs-usb.c
659
dev_err(x->phy.dev,
drivers/usb/phy/phy-mxs-usb.c
692
dev_dbg(x->phy.dev, "It is a standard downstream port\n");
drivers/usb/phy/phy-mxs-usb.c
716
dev_dbg(x->phy.dev, "It is a dedicate charging port\n");
drivers/usb/phy/phy-mxs-usb.c
719
dev_dbg(x->phy.dev, "It is a charging downstream port\n");
drivers/usb/phy/phy-mxs-usb.c
724
static enum usb_charger_type mxs_phy_charger_detect(struct usb_phy *phy)
drivers/usb/phy/phy-mxs-usb.c
726
struct mxs_phy *mxs_phy = to_mxs_phy(phy);
drivers/usb/phy/phy-mxs-usb.c
728
void __iomem *base = phy->io_priv;
drivers/usb/phy/phy-mxs-usb.c
838
mxs_phy->phy.io_priv = base;
drivers/usb/phy/phy-mxs-usb.c
839
mxs_phy->phy.dev = &pdev->dev;
drivers/usb/phy/phy-mxs-usb.c
840
mxs_phy->phy.label = DRIVER_NAME;
drivers/usb/phy/phy-mxs-usb.c
841
mxs_phy->phy.init = mxs_phy_init;
drivers/usb/phy/phy-mxs-usb.c
842
mxs_phy->phy.shutdown = mxs_phy_shutdown;
drivers/usb/phy/phy-mxs-usb.c
843
mxs_phy->phy.set_suspend = mxs_phy_suspend;
drivers/usb/phy/phy-mxs-usb.c
844
mxs_phy->phy.notify_connect = mxs_phy_on_connect;
drivers/usb/phy/phy-mxs-usb.c
845
mxs_phy->phy.notify_disconnect = mxs_phy_on_disconnect;
drivers/usb/phy/phy-mxs-usb.c
846
mxs_phy->phy.type = USB_PHY_TYPE_USB2;
drivers/usb/phy/phy-mxs-usb.c
847
mxs_phy->phy.set_wakeup = mxs_phy_set_wakeup;
drivers/usb/phy/phy-mxs-usb.c
848
mxs_phy->phy.charger_detect = mxs_phy_charger_detect;
drivers/usb/phy/phy-mxs-usb.c
868
return usb_add_phy_dev(&mxs_phy->phy);
drivers/usb/phy/phy-mxs-usb.c
875
usb_remove_phy(&mxs_phy->phy);
drivers/usb/phy/phy-tahvo.c
100
if (tu->phy.otg->gadget)
drivers/usb/phy/phy-tahvo.c
101
usb_gadget_vbus_disconnect(tu->phy.otg->gadget);
drivers/usb/phy/phy-tahvo.c
102
tu->phy.otg->state = OTG_STATE_B_IDLE;
drivers/usb/phy/phy-tahvo.c
103
usb_phy_set_event(&tu->phy, USB_EVENT_NONE);
drivers/usb/phy/phy-tahvo.c
106
tu->phy.otg->state = OTG_STATE_A_IDLE;
drivers/usb/phy/phy-tahvo.c
131
tu->phy.otg->state = OTG_STATE_A_IDLE;
drivers/usb/phy/phy-tahvo.c
138
tu->phy.otg->state = OTG_STATE_A_IDLE;
drivers/usb/phy/phy-tahvo.c
150
tu->phy.otg->state = OTG_STATE_B_IDLE;
drivers/usb/phy/phy-tahvo.c
157
if (tu->phy.otg->gadget)
drivers/usb/phy/phy-tahvo.c
158
usb_gadget_vbus_disconnect(tu->phy.otg->gadget);
drivers/usb/phy/phy-tahvo.c
159
tu->phy.otg->state = OTG_STATE_B_IDLE;
drivers/usb/phy/phy-tahvo.c
167
if (tu->phy.otg->gadget)
drivers/usb/phy/phy-tahvo.c
168
usb_gadget_vbus_disconnect(tu->phy.otg->gadget);
drivers/usb/phy/phy-tahvo.c
172
tu->phy.otg->state = OTG_STATE_UNDEFINED;
drivers/usb/phy/phy-tahvo.c
177
struct tahvo_usb *tu = container_of(dev, struct tahvo_usb, phy);
drivers/usb/phy/phy-tahvo.c
196
phy);
drivers/usb/phy/phy-tahvo.c
224
phy);
drivers/usb/phy/phy-tahvo.c
231
tu->phy.otg->gadget = NULL;
drivers/usb/phy/phy-tahvo.c
236
tu->phy.otg->gadget = gadget;
drivers/usb/phy/phy-tahvo.c
283
if (tu->phy.otg->host) {
drivers/usb/phy/phy-tahvo.c
295
if (tu->phy.otg->gadget) {
drivers/usb/phy/phy-tahvo.c
329
tu->phy.otg = devm_kzalloc(&pdev->dev, sizeof(*tu->phy.otg),
drivers/usb/phy/phy-tahvo.c
331
if (!tu->phy.otg)
drivers/usb/phy/phy-tahvo.c
375
tu->phy.dev = &pdev->dev;
drivers/usb/phy/phy-tahvo.c
376
tu->phy.otg->state = OTG_STATE_UNDEFINED;
drivers/usb/phy/phy-tahvo.c
377
tu->phy.label = DRIVER_NAME;
drivers/usb/phy/phy-tahvo.c
378
tu->phy.set_suspend = tahvo_usb_set_suspend;
drivers/usb/phy/phy-tahvo.c
380
tu->phy.otg->usb_phy = &tu->phy;
drivers/usb/phy/phy-tahvo.c
381
tu->phy.otg->set_host = tahvo_usb_set_host;
drivers/usb/phy/phy-tahvo.c
382
tu->phy.otg->set_peripheral = tahvo_usb_set_peripheral;
drivers/usb/phy/phy-tahvo.c
384
ret = usb_add_phy(&tu->phy, USB_PHY_TYPE_USB2);
drivers/usb/phy/phy-tahvo.c
408
usb_remove_phy(&tu->phy);
drivers/usb/phy/phy-tahvo.c
421
usb_remove_phy(&tu->phy);
drivers/usb/phy/phy-tahvo.c
47
struct usb_phy phy;
drivers/usb/phy/phy-tahvo.c
78
switch (tu->phy.otg->state) {
drivers/usb/phy/phy-tahvo.c
81
if (tu->phy.otg->gadget)
drivers/usb/phy/phy-tahvo.c
82
usb_gadget_vbus_connect(tu->phy.otg->gadget);
drivers/usb/phy/phy-tahvo.c
83
tu->phy.otg->state = OTG_STATE_B_PERIPHERAL;
drivers/usb/phy/phy-tahvo.c
84
usb_phy_set_event(&tu->phy, USB_EVENT_ENUMERATED);
drivers/usb/phy/phy-tahvo.c
91
tu->phy.otg->state = OTG_STATE_A_HOST;
drivers/usb/phy/phy-tahvo.c
98
switch (tu->phy.otg->state) {
drivers/usb/phy/phy-tegra-usb.c
1013
static int tegra_usb_phy_power_on(struct tegra_usb_phy *phy)
drivers/usb/phy/phy-tegra-usb.c
1017
if (phy->powered_on)
drivers/usb/phy/phy-tegra-usb.c
1020
switch (phy->phy_type) {
drivers/usb/phy/phy-tegra-usb.c
1022
err = utmi_phy_power_on(phy);
drivers/usb/phy/phy-tegra-usb.c
1026
err = ulpi_phy_power_on(phy);
drivers/usb/phy/phy-tegra-usb.c
1030
err = uhsic_phy_power_on(phy);
drivers/usb/phy/phy-tegra-usb.c
1040
phy->powered_on = true;
drivers/usb/phy/phy-tegra-usb.c
1048
static int tegra_usb_phy_power_off(struct tegra_usb_phy *phy)
drivers/usb/phy/phy-tegra-usb.c
1052
if (!phy->powered_on)
drivers/usb/phy/phy-tegra-usb.c
1055
switch (phy->phy_type) {
drivers/usb/phy/phy-tegra-usb.c
1057
err = utmi_phy_power_off(phy);
drivers/usb/phy/phy-tegra-usb.c
1061
err = ulpi_phy_power_off(phy);
drivers/usb/phy/phy-tegra-usb.c
1065
err = uhsic_phy_power_off(phy);
drivers/usb/phy/phy-tegra-usb.c
1075
phy->powered_on = false;
drivers/usb/phy/phy-tegra-usb.c
1082
struct tegra_usb_phy *phy = to_tegra_usb_phy(u_phy);
drivers/usb/phy/phy-tegra-usb.c
1084
if (WARN_ON(!phy->freq))
drivers/usb/phy/phy-tegra-usb.c
1088
tegra_usb_phy_power_off(phy);
drivers/usb/phy/phy-tegra-usb.c
1090
if (phy->phy_type == USBPHY_INTERFACE_MODE_UTMI)
drivers/usb/phy/phy-tegra-usb.c
1091
utmip_pad_close(phy);
drivers/usb/phy/phy-tegra-usb.c
1093
regulator_disable(phy->vbus);
drivers/usb/phy/phy-tegra-usb.c
1094
clk_disable_unprepare(phy->pll_u);
drivers/usb/phy/phy-tegra-usb.c
1096
phy->freq = NULL;
drivers/usb/phy/phy-tegra-usb.c
1102
struct tegra_usb_phy *phy = data;
drivers/usb/phy/phy-tegra-usb.c
1103
void __iomem *base = phy->regs;
drivers/usb/phy/phy-tegra-usb.c
1118
struct tegra_usb_phy *phy = to_tegra_usb_phy(u_phy);
drivers/usb/phy/phy-tegra-usb.c
1119
void __iomem *base = phy->regs;
drivers/usb/phy/phy-tegra-usb.c
1123
if (phy->wakeup_enabled && phy->mode != USB_DR_MODE_HOST &&
drivers/usb/phy/phy-tegra-usb.c
1124
phy->irq > 0) {
drivers/usb/phy/phy-tegra-usb.c
1125
disable_irq(phy->irq);
drivers/usb/phy/phy-tegra-usb.c
1131
enable_irq(phy->irq);
drivers/usb/phy/phy-tegra-usb.c
1133
free_irq(phy->irq, phy);
drivers/usb/phy/phy-tegra-usb.c
1135
phy->wakeup_enabled = false;
drivers/usb/phy/phy-tegra-usb.c
1138
if (enable && phy->mode != USB_DR_MODE_HOST && phy->irq > 0) {
drivers/usb/phy/phy-tegra-usb.c
1139
ret = request_irq(phy->irq, tegra_usb_phy_isr, IRQF_SHARED,
drivers/usb/phy/phy-tegra-usb.c
1140
dev_name(phy->u_phy.dev), phy);
drivers/usb/phy/phy-tegra-usb.c
1142
disable_irq(phy->irq);
drivers/usb/phy/phy-tegra-usb.c
1153
enable_irq(phy->irq);
drivers/usb/phy/phy-tegra-usb.c
1155
dev_err(phy->u_phy.dev,
drivers/usb/phy/phy-tegra-usb.c
1161
phy->wakeup_enabled = enable;
drivers/usb/phy/phy-tegra-usb.c
1168
struct tegra_usb_phy *phy = to_tegra_usb_phy(u_phy);
drivers/usb/phy/phy-tegra-usb.c
1171
if (WARN_ON(!phy->freq))
drivers/usb/phy/phy-tegra-usb.c
1181
if (phy->irq > 0)
drivers/usb/phy/phy-tegra-usb.c
1182
disable_irq(phy->irq);
drivers/usb/phy/phy-tegra-usb.c
1185
ret = tegra_usb_phy_power_off(phy);
drivers/usb/phy/phy-tegra-usb.c
1187
ret = tegra_usb_phy_power_on(phy);
drivers/usb/phy/phy-tegra-usb.c
1189
if (phy->irq > 0)
drivers/usb/phy/phy-tegra-usb.c
1190
enable_irq(phy->irq);
drivers/usb/phy/phy-tegra-usb.c
1195
static int tegra_usb_phy_configure_pmc(struct tegra_usb_phy *phy)
drivers/usb/phy/phy-tegra-usb.c
1200
if (!phy->pmc_regmap)
drivers/usb/phy/phy-tegra-usb.c
1208
if (!phy->soc_config->requires_pmc_ao_power_up)
drivers/usb/phy/phy-tegra-usb.c
1212
if (phy->mode != USB_DR_MODE_HOST)
drivers/usb/phy/phy-tegra-usb.c
1213
val |= VBUS_WAKEUP_PD_P0 << phy->instance * 4;
drivers/usb/phy/phy-tegra-usb.c
1216
if (phy->mode == USB_DR_MODE_OTG)
drivers/usb/phy/phy-tegra-usb.c
1217
val |= ID_PD_P0 << phy->instance * 4;
drivers/usb/phy/phy-tegra-usb.c
1220
err = regmap_set_bits(phy->pmc_regmap, PMC_USB_AO, val);
drivers/usb/phy/phy-tegra-usb.c
1222
dev_err(phy->u_phy.dev, "Failed to disable PMC AO: %d\n", err);
drivers/usb/phy/phy-tegra-usb.c
1229
err = regmap_clear_bits(phy->pmc_regmap, PMC_USB_AO, val);
drivers/usb/phy/phy-tegra-usb.c
1231
dev_err(phy->u_phy.dev, "Failed to enable PMC AO: %d\n", err);
drivers/usb/phy/phy-tegra-usb.c
1243
struct tegra_usb_phy *phy = to_tegra_usb_phy(u_phy);
drivers/usb/phy/phy-tegra-usb.c
1248
if (WARN_ON(phy->freq))
drivers/usb/phy/phy-tegra-usb.c
1251
err = clk_prepare_enable(phy->pll_u);
drivers/usb/phy/phy-tegra-usb.c
1255
parent_rate = clk_get_rate(clk_get_parent(phy->pll_u));
drivers/usb/phy/phy-tegra-usb.c
1258
phy->freq = &tegra_freq_table[i];
drivers/usb/phy/phy-tegra-usb.c
1262
if (!phy->freq) {
drivers/usb/phy/phy-tegra-usb.c
1263
dev_err(phy->u_phy.dev, "Invalid pll_u parent rate %ld\n",
drivers/usb/phy/phy-tegra-usb.c
1269
err = regulator_enable(phy->vbus);
drivers/usb/phy/phy-tegra-usb.c
1271
dev_err(phy->u_phy.dev,
drivers/usb/phy/phy-tegra-usb.c
1276
if (phy->phy_type == USBPHY_INTERFACE_MODE_UTMI) {
drivers/usb/phy/phy-tegra-usb.c
1277
err = utmip_pad_open(phy);
drivers/usb/phy/phy-tegra-usb.c
1282
err = tegra_usb_phy_configure_pmc(phy);
drivers/usb/phy/phy-tegra-usb.c
1286
err = tegra_usb_phy_power_on(phy);
drivers/usb/phy/phy-tegra-usb.c
1293
if (phy->phy_type == USBPHY_INTERFACE_MODE_UTMI)
drivers/usb/phy/phy-tegra-usb.c
1294
utmip_pad_close(phy);
drivers/usb/phy/phy-tegra-usb.c
1297
regulator_disable(phy->vbus);
drivers/usb/phy/phy-tegra-usb.c
1300
clk_disable_unprepare(phy->pll_u);
drivers/usb/phy/phy-tegra-usb.c
1302
phy->freq = NULL;
drivers/usb/phy/phy-tegra-usb.c
1421
struct tegra_usb_phy *phy)
drivers/usb/phy/phy-tegra-usb.c
1450
phy->pmc_regmap = dev_get_regmap(&pmc_pdev->dev, "usb_sleepwalk");
drivers/usb/phy/phy-tegra-usb.c
1451
if (!phy->pmc_regmap)
drivers/usb/phy/phy-tegra-usb.c
1454
phy->instance = args.args[0];
drivers/usb/phy/phy-tegra-usb.c
1497
struct usb_phy *phy;
drivers/usb/phy/phy-tegra-usb.c
1609
phy = devm_otg_ulpi_create(&pdev->dev,
drivers/usb/phy/phy-tegra-usb.c
1611
if (!phy) {
drivers/usb/phy/phy-tegra-usb.c
1616
tegra_phy->ulpi = phy;
drivers/usb/phy/phy-tegra-usb.c
288
static void set_pts(struct tegra_usb_phy *phy, u8 pts_val)
drivers/usb/phy/phy-tegra-usb.c
290
void __iomem *base = phy->regs;
drivers/usb/phy/phy-tegra-usb.c
293
if (phy->soc_config->has_hostpc) {
drivers/usb/phy/phy-tegra-usb.c
307
static void set_phcd(struct tegra_usb_phy *phy, bool enable)
drivers/usb/phy/phy-tegra-usb.c
309
void __iomem *base = phy->regs;
drivers/usb/phy/phy-tegra-usb.c
312
if (phy->soc_config->has_hostpc) {
drivers/usb/phy/phy-tegra-usb.c
329
static int utmip_pad_open(struct tegra_usb_phy *phy)
drivers/usb/phy/phy-tegra-usb.c
333
ret = clk_prepare_enable(phy->pad_clk);
drivers/usb/phy/phy-tegra-usb.c
335
dev_err(phy->u_phy.dev,
drivers/usb/phy/phy-tegra-usb.c
342
ret = reset_control_deassert(phy->pad_rst);
drivers/usb/phy/phy-tegra-usb.c
344
dev_err(phy->u_phy.dev,
drivers/usb/phy/phy-tegra-usb.c
349
ret = reset_control_assert(phy->pad_rst);
drivers/usb/phy/phy-tegra-usb.c
351
dev_err(phy->u_phy.dev,
drivers/usb/phy/phy-tegra-usb.c
358
ret = reset_control_deassert(phy->pad_rst);
drivers/usb/phy/phy-tegra-usb.c
360
dev_err(phy->u_phy.dev,
drivers/usb/phy/phy-tegra-usb.c
365
clk_disable_unprepare(phy->pad_clk);
drivers/usb/phy/phy-tegra-usb.c
370
static int utmip_pad_close(struct tegra_usb_phy *phy)
drivers/usb/phy/phy-tegra-usb.c
374
ret = clk_prepare_enable(phy->pad_clk);
drivers/usb/phy/phy-tegra-usb.c
376
dev_err(phy->u_phy.dev,
drivers/usb/phy/phy-tegra-usb.c
381
ret = reset_control_assert(phy->pad_rst);
drivers/usb/phy/phy-tegra-usb.c
383
dev_err(phy->u_phy.dev,
drivers/usb/phy/phy-tegra-usb.c
388
clk_disable_unprepare(phy->pad_clk);
drivers/usb/phy/phy-tegra-usb.c
393
static int utmip_pad_power_on(struct tegra_usb_phy *phy)
drivers/usb/phy/phy-tegra-usb.c
395
struct tegra_utmip_config *config = phy->config;
drivers/usb/phy/phy-tegra-usb.c
396
void __iomem *base = phy->pad_regs;
drivers/usb/phy/phy-tegra-usb.c
400
err = clk_prepare_enable(phy->pad_clk);
drivers/usb/phy/phy-tegra-usb.c
410
if (phy->soc_config->requires_extra_tuning_parameters) {
drivers/usb/phy/phy-tegra-usb.c
422
if (phy->pad_wakeup) {
drivers/usb/phy/phy-tegra-usb.c
423
phy->pad_wakeup = false;
drivers/usb/phy/phy-tegra-usb.c
429
clk_disable_unprepare(phy->pad_clk);
drivers/usb/phy/phy-tegra-usb.c
434
static int utmip_pad_power_off(struct tegra_usb_phy *phy)
drivers/usb/phy/phy-tegra-usb.c
436
void __iomem *base = phy->pad_regs;
drivers/usb/phy/phy-tegra-usb.c
440
ret = clk_prepare_enable(phy->pad_clk);
drivers/usb/phy/phy-tegra-usb.c
447
dev_err(phy->u_phy.dev, "UTMIP pad already powered off\n");
drivers/usb/phy/phy-tegra-usb.c
458
if (phy->wakeup_enabled) {
drivers/usb/phy/phy-tegra-usb.c
459
phy->pad_wakeup = true;
drivers/usb/phy/phy-tegra-usb.c
471
clk_disable_unprepare(phy->pad_clk);
drivers/usb/phy/phy-tegra-usb.c
484
static void utmi_phy_clk_disable(struct tegra_usb_phy *phy)
drivers/usb/phy/phy-tegra-usb.c
486
void __iomem *base = phy->regs;
drivers/usb/phy/phy-tegra-usb.c
497
if (phy->is_legacy_phy) {
drivers/usb/phy/phy-tegra-usb.c
508
set_phcd(phy, true);
drivers/usb/phy/phy-tegra-usb.c
512
dev_err(phy->u_phy.dev,
drivers/usb/phy/phy-tegra-usb.c
516
static void utmi_phy_clk_enable(struct tegra_usb_phy *phy)
drivers/usb/phy/phy-tegra-usb.c
518
void __iomem *base = phy->regs;
drivers/usb/phy/phy-tegra-usb.c
530
if (phy->is_legacy_phy) {
drivers/usb/phy/phy-tegra-usb.c
541
set_phcd(phy, false);
drivers/usb/phy/phy-tegra-usb.c
546
dev_err(phy->u_phy.dev,
drivers/usb/phy/phy-tegra-usb.c
550
static int utmi_phy_power_on(struct tegra_usb_phy *phy)
drivers/usb/phy/phy-tegra-usb.c
552
struct tegra_utmip_config *config = phy->config;
drivers/usb/phy/phy-tegra-usb.c
553
void __iomem *base = phy->regs;
drivers/usb/phy/phy-tegra-usb.c
561
if (phy->is_legacy_phy) {
drivers/usb/phy/phy-tegra-usb.c
584
val |= UTMIP_BIAS_DEBOUNCE_A(phy->freq->debounce);
drivers/usb/phy/phy-tegra-usb.c
591
if (!phy->soc_config->utmi_pll_config_in_car_module) {
drivers/usb/phy/phy-tegra-usb.c
595
val |= UTMIP_PLL_ACTIVE_DLY_COUNT(phy->freq->active_delay) |
drivers/usb/phy/phy-tegra-usb.c
596
UTMIP_PLLU_STABLE_COUNT(phy->freq->stable_count);
drivers/usb/phy/phy-tegra-usb.c
602
val |= UTMIP_XTAL_FREQ_COUNT(phy->freq->utmi_xtal_freq_count) |
drivers/usb/phy/phy-tegra-usb.c
603
UTMIP_PLLU_ENABLE_DLY_COUNT(phy->freq->enable_delay);
drivers/usb/phy/phy-tegra-usb.c
611
if (phy->mode != USB_DR_MODE_HOST) {
drivers/usb/phy/phy-tegra-usb.c
635
err = utmip_pad_power_on(phy);
drivers/usb/phy/phy-tegra-usb.c
652
if (phy->soc_config->requires_extra_tuning_parameters) {
drivers/usb/phy/phy-tegra-usb.c
677
if (!phy->is_legacy_phy) {
drivers/usb/phy/phy-tegra-usb.c
687
if (phy->is_legacy_phy) {
drivers/usb/phy/phy-tegra-usb.c
698
utmi_phy_clk_enable(phy);
drivers/usb/phy/phy-tegra-usb.c
700
if (phy->soc_config->requires_usbmode_setup) {
drivers/usb/phy/phy-tegra-usb.c
703
if (phy->mode == USB_DR_MODE_HOST)
drivers/usb/phy/phy-tegra-usb.c
710
if (!phy->is_legacy_phy)
drivers/usb/phy/phy-tegra-usb.c
711
set_pts(phy, 0);
drivers/usb/phy/phy-tegra-usb.c
716
static int utmi_phy_power_off(struct tegra_usb_phy *phy)
drivers/usb/phy/phy-tegra-usb.c
718
void __iomem *base = phy->regs;
drivers/usb/phy/phy-tegra-usb.c
725
if (phy->wakeup_enabled && phy->mode != USB_DR_MODE_HOST)
drivers/usb/phy/phy-tegra-usb.c
730
utmi_phy_clk_disable(phy);
drivers/usb/phy/phy-tegra-usb.c
733
if (!phy->wakeup_enabled) {
drivers/usb/phy/phy-tegra-usb.c
743
if (!phy->wakeup_enabled) {
drivers/usb/phy/phy-tegra-usb.c
755
if (phy->wakeup_enabled) {
drivers/usb/phy/phy-tegra-usb.c
766
if (phy->mode != USB_DR_MODE_HOST) {
drivers/usb/phy/phy-tegra-usb.c
778
return utmip_pad_power_off(phy);
drivers/usb/phy/phy-tegra-usb.c
781
static int ulpi_phy_power_on(struct tegra_usb_phy *phy)
drivers/usb/phy/phy-tegra-usb.c
783
void __iomem *base = phy->regs;
drivers/usb/phy/phy-tegra-usb.c
787
gpiod_set_value_cansleep(phy->reset_gpio, 1);
drivers/usb/phy/phy-tegra-usb.c
789
err = clk_prepare_enable(phy->clk);
drivers/usb/phy/phy-tegra-usb.c
795
gpiod_set_value_cansleep(phy->reset_gpio, 0);
drivers/usb/phy/phy-tegra-usb.c
826
err = usb_phy_io_write(phy->ulpi, 0x40, 0x08);
drivers/usb/phy/phy-tegra-usb.c
828
dev_err(phy->u_phy.dev, "ULPI write failed: %d\n", err);
drivers/usb/phy/phy-tegra-usb.c
832
err = usb_phy_io_write(phy->ulpi, 0x80, 0x0B);
drivers/usb/phy/phy-tegra-usb.c
834
dev_err(phy->u_phy.dev, "ULPI write failed: %d\n", err);
drivers/usb/phy/phy-tegra-usb.c
850
clk_disable_unprepare(phy->clk);
drivers/usb/phy/phy-tegra-usb.c
855
static int ulpi_phy_power_off(struct tegra_usb_phy *phy)
drivers/usb/phy/phy-tegra-usb.c
857
gpiod_set_value_cansleep(phy->reset_gpio, 1);
drivers/usb/phy/phy-tegra-usb.c
859
clk_disable_unprepare(phy->clk);
drivers/usb/phy/phy-tegra-usb.c
865
if (WARN_ON_ONCE(phy->wakeup_enabled)) {
drivers/usb/phy/phy-tegra-usb.c
866
ulpi_phy_power_on(phy);
drivers/usb/phy/phy-tegra-usb.c
873
static u32 tegra_hsic_readl(struct tegra_usb_phy *phy, u32 reg)
drivers/usb/phy/phy-tegra-usb.c
875
void __iomem *base = phy->regs;
drivers/usb/phy/phy-tegra-usb.c
876
u32 shift = phy->soc_config->uhsic_registers_offset;
drivers/usb/phy/phy-tegra-usb.c
881
static void tegra_hsic_writel(struct tegra_usb_phy *phy, u32 reg, u32 value)
drivers/usb/phy/phy-tegra-usb.c
883
void __iomem *base = phy->regs;
drivers/usb/phy/phy-tegra-usb.c
884
u32 shift = phy->soc_config->uhsic_registers_offset;
drivers/usb/phy/phy-tegra-usb.c
889
static int uhsic_phy_power_on(struct tegra_usb_phy *phy)
drivers/usb/phy/phy-tegra-usb.c
891
struct tegra_utmip_config *config = phy->config;
drivers/usb/phy/phy-tegra-usb.c
892
void __iomem *base = phy->regs;
drivers/usb/phy/phy-tegra-usb.c
896
val = tegra_hsic_readl(phy, UHSIC_PADS_CFG1);
drivers/usb/phy/phy-tegra-usb.c
900
tegra_hsic_writel(phy, UHSIC_PADS_CFG1, val);
drivers/usb/phy/phy-tegra-usb.c
914
val = tegra_hsic_readl(phy, UHSIC_HSRX_CFG0);
drivers/usb/phy/phy-tegra-usb.c
921
tegra_hsic_writel(phy, UHSIC_HSRX_CFG0, val);
drivers/usb/phy/phy-tegra-usb.c
923
val = tegra_hsic_readl(phy, UHSIC_HSRX_CFG1);
drivers/usb/phy/phy-tegra-usb.c
926
tegra_hsic_writel(phy, UHSIC_HSRX_CFG1, val);
drivers/usb/phy/phy-tegra-usb.c
928
val = tegra_hsic_readl(phy, UHSIC_MISC_CFG0);
drivers/usb/phy/phy-tegra-usb.c
930
tegra_hsic_writel(phy, UHSIC_MISC_CFG0, val);
drivers/usb/phy/phy-tegra-usb.c
932
val = tegra_hsic_readl(phy, UHSIC_MISC_CFG1);
drivers/usb/phy/phy-tegra-usb.c
934
val |= UHSIC_PLLU_STABLE_COUNT(phy->freq->stable_count);
drivers/usb/phy/phy-tegra-usb.c
935
tegra_hsic_writel(phy, UHSIC_MISC_CFG1, val);
drivers/usb/phy/phy-tegra-usb.c
937
val = tegra_hsic_readl(phy, UHSIC_PLL_CFG1);
drivers/usb/phy/phy-tegra-usb.c
940
val |= UHSIC_XTAL_FREQ_COUNT(phy->freq->hsic_xtal_freq_count) |
drivers/usb/phy/phy-tegra-usb.c
941
UHSIC_PLLU_ENABLE_DLY_COUNT(phy->freq->enable_delay);
drivers/usb/phy/phy-tegra-usb.c
942
tegra_hsic_writel(phy, UHSIC_PLL_CFG1, val);
drivers/usb/phy/phy-tegra-usb.c
950
if (phy->soc_config->requires_usbmode_setup) {
drivers/usb/phy/phy-tegra-usb.c
953
if (phy->mode == USB_DR_MODE_HOST)
drivers/usb/phy/phy-tegra-usb.c
960
set_pts(phy, phy->soc_config->uhsic_pts_value);
drivers/usb/phy/phy-tegra-usb.c
968
val = readl_relaxed(base + phy->soc_config->portsc1_offset);
drivers/usb/phy/phy-tegra-usb.c
971
writel_relaxed(val, base + phy->soc_config->portsc1_offset);
drivers/usb/phy/phy-tegra-usb.c
973
val = tegra_hsic_readl(phy, UHSIC_PADS_CFG0);
drivers/usb/phy/phy-tegra-usb.c
975
val |= UHSIC_TX_RTUNE(phy->soc_config->uhsic_tx_rtune);
drivers/usb/phy/phy-tegra-usb.c
976
tegra_hsic_writel(phy, UHSIC_PADS_CFG0, val);
drivers/usb/phy/phy-tegra-usb.c
982
dev_err(phy->u_phy.dev,
drivers/usb/phy/phy-tegra-usb.c
988
static int uhsic_phy_power_off(struct tegra_usb_phy *phy)
drivers/usb/phy/phy-tegra-usb.c
990
void __iomem *base = phy->regs;
drivers/usb/phy/phy-tegra-usb.c
993
set_phcd(phy, true);
drivers/usb/phy/phy-tegra-usb.c
995
val = tegra_hsic_readl(phy, UHSIC_PADS_CFG1);
drivers/usb/phy/phy-tegra-usb.c
998
tegra_hsic_writel(phy, UHSIC_PADS_CFG1, val);
drivers/usb/phy/phy-ulpi.c
105
return usb_phy_io_write(phy, flags, ULPI_FUNC_CTRL);
drivers/usb/phy/phy-ulpi.c
108
static int ulpi_set_ic_flags(struct usb_phy *phy)
drivers/usb/phy/phy-ulpi.c
112
if (phy->flags & ULPI_IC_AUTORESUME)
drivers/usb/phy/phy-ulpi.c
115
if (phy->flags & ULPI_IC_EXTVBUS_INDINV)
drivers/usb/phy/phy-ulpi.c
118
if (phy->flags & ULPI_IC_IND_PASSTHRU)
drivers/usb/phy/phy-ulpi.c
121
if (phy->flags & ULPI_IC_PROTECT_DIS)
drivers/usb/phy/phy-ulpi.c
124
return usb_phy_io_write(phy, flags, ULPI_IFC_CTRL);
drivers/usb/phy/phy-ulpi.c
127
static int ulpi_set_flags(struct usb_phy *phy)
drivers/usb/phy/phy-ulpi.c
131
ret = ulpi_set_otg_flags(phy);
drivers/usb/phy/phy-ulpi.c
135
ret = ulpi_set_ic_flags(phy);
drivers/usb/phy/phy-ulpi.c
139
return ulpi_set_fc_flags(phy);
drivers/usb/phy/phy-ulpi.c
142
static int ulpi_check_integrity(struct usb_phy *phy)
drivers/usb/phy/phy-ulpi.c
148
ret = usb_phy_io_write(phy, val, ULPI_SCRATCH);
drivers/usb/phy/phy-ulpi.c
152
ret = usb_phy_io_read(phy, ULPI_SCRATCH);
drivers/usb/phy/phy-ulpi.c
168
static int ulpi_init(struct usb_phy *phy)
drivers/usb/phy/phy-ulpi.c
174
ret = usb_phy_io_read(phy, ULPI_PRODUCT_ID_HIGH - i);
drivers/usb/phy/phy-ulpi.c
192
ret = ulpi_check_integrity(phy);
drivers/usb/phy/phy-ulpi.c
196
return ulpi_set_flags(phy);
drivers/usb/phy/phy-ulpi.c
201
struct usb_phy *phy = otg->usb_phy;
drivers/usb/phy/phy-ulpi.c
202
unsigned int flags = usb_phy_io_read(phy, ULPI_IFC_CTRL);
drivers/usb/phy/phy-ulpi.c
215
if (phy->flags & ULPI_IC_6PIN_SERIAL)
drivers/usb/phy/phy-ulpi.c
217
else if (phy->flags & ULPI_IC_3PIN_SERIAL)
drivers/usb/phy/phy-ulpi.c
219
else if (phy->flags & ULPI_IC_CARKIT)
drivers/usb/phy/phy-ulpi.c
222
return usb_phy_io_write(phy, flags, ULPI_IFC_CTRL);
drivers/usb/phy/phy-ulpi.c
227
struct usb_phy *phy = otg->usb_phy;
drivers/usb/phy/phy-ulpi.c
228
unsigned int flags = usb_phy_io_read(phy, ULPI_OTG_CTRL);
drivers/usb/phy/phy-ulpi.c
233
if (phy->flags & ULPI_OTG_DRVVBUS)
drivers/usb/phy/phy-ulpi.c
236
if (phy->flags & ULPI_OTG_DRVVBUS_EXT)
drivers/usb/phy/phy-ulpi.c
240
return usb_phy_io_write(phy, flags, ULPI_OTG_CTRL);
drivers/usb/phy/phy-ulpi.c
243
static void otg_ulpi_init(struct usb_phy *phy, struct usb_otg *otg,
drivers/usb/phy/phy-ulpi.c
247
phy->label = "ULPI";
drivers/usb/phy/phy-ulpi.c
248
phy->flags = flags;
drivers/usb/phy/phy-ulpi.c
249
phy->io_ops = ops;
drivers/usb/phy/phy-ulpi.c
250
phy->otg = otg;
drivers/usb/phy/phy-ulpi.c
251
phy->init = ulpi_init;
drivers/usb/phy/phy-ulpi.c
253
otg->usb_phy = phy;
drivers/usb/phy/phy-ulpi.c
263
struct usb_phy *phy;
drivers/usb/phy/phy-ulpi.c
266
phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
drivers/usb/phy/phy-ulpi.c
267
if (!phy)
drivers/usb/phy/phy-ulpi.c
272
devm_kfree(dev, phy);
drivers/usb/phy/phy-ulpi.c
276
otg_ulpi_init(phy, otg, ops, flags);
drivers/usb/phy/phy-ulpi.c
278
return phy;
drivers/usb/phy/phy-ulpi.c
42
static int ulpi_set_otg_flags(struct usb_phy *phy)
drivers/usb/phy/phy-ulpi.c
47
if (phy->flags & ULPI_OTG_ID_PULLUP)
drivers/usb/phy/phy-ulpi.c
54
if (phy->flags & ULPI_OTG_DP_PULLDOWN_DIS)
drivers/usb/phy/phy-ulpi.c
57
if (phy->flags & ULPI_OTG_DM_PULLDOWN_DIS)
drivers/usb/phy/phy-ulpi.c
60
if (phy->flags & ULPI_OTG_EXTVBUSIND)
drivers/usb/phy/phy-ulpi.c
63
return usb_phy_io_write(phy, flags, ULPI_OTG_CTRL);
drivers/usb/phy/phy-ulpi.c
66
static int ulpi_set_fc_flags(struct usb_phy *phy)
drivers/usb/phy/phy-ulpi.c
74
if (phy->flags & ULPI_FC_HS)
drivers/usb/phy/phy-ulpi.c
76
else if (phy->flags & ULPI_FC_LS)
drivers/usb/phy/phy-ulpi.c
78
else if (phy->flags & ULPI_FC_FS4LS)
drivers/usb/phy/phy-ulpi.c
83
if (phy->flags & ULPI_FC_TERMSEL)
drivers/usb/phy/phy-ulpi.c
90
if (phy->flags & ULPI_FC_OP_NODRV)
drivers/usb/phy/phy-ulpi.c
92
else if (phy->flags & ULPI_FC_OP_DIS_NRZI)
drivers/usb/phy/phy-ulpi.c
94
else if (phy->flags & ULPI_FC_OP_NSYNC_NEOP)
drivers/usb/phy/phy.c
33
struct usb_phy *phy;
drivers/usb/phy/phy.c
335
struct usb_phy *phy = *(struct usb_phy **)res;
drivers/usb/phy/phy.c
337
usb_put_phy(phy);
drivers/usb/phy/phy.c
345
usb_unregister_notifier(res->phy, res->nb);
drivers/usb/phy/phy.c
346
usb_put_phy(res->phy);
drivers/usb/phy/phy.c
459
struct usb_phy **ptr, *phy;
drivers/usb/phy/phy.c
465
phy = usb_get_phy(type);
drivers/usb/phy/phy.c
466
if (!IS_ERR(phy)) {
drivers/usb/phy/phy.c
467
*ptr = phy;
drivers/usb/phy/phy.c
472
return phy;
drivers/usb/phy/phy.c
488
struct usb_phy *phy = NULL;
drivers/usb/phy/phy.c
493
phy = __usb_find_phy(&phy_list, type);
drivers/usb/phy/phy.c
494
if (IS_ERR(phy) || !try_module_get(phy->dev->driver->owner)) {
drivers/usb/phy/phy.c
497
if (!IS_ERR(phy))
drivers/usb/phy/phy.c
498
phy = ERR_PTR(-ENODEV);
drivers/usb/phy/phy.c
503
get_device(phy->dev);
drivers/usb/phy/phy.c
508
return phy;
drivers/usb/phy/phy.c
532
struct usb_phy *phy = ERR_PTR(-ENOMEM);
drivers/usb/phy/phy.c
54
struct usb_phy *phy = NULL;
drivers/usb/phy/phy.c
544
phy = __of_usb_find_phy(node);
drivers/usb/phy/phy.c
545
if (IS_ERR(phy)) {
drivers/usb/phy/phy.c
550
if (!try_module_get(phy->dev->driver->owner)) {
drivers/usb/phy/phy.c
551
phy = ERR_PTR(-ENODEV);
drivers/usb/phy/phy.c
556
usb_register_notifier(phy, nb);
drivers/usb/phy/phy.c
557
ptr->phy = phy;
drivers/usb/phy/phy.c
56
list_for_each_entry(phy, list, head) {
drivers/usb/phy/phy.c
561
get_device(phy->dev);
drivers/usb/phy/phy.c
568
return phy;
drivers/usb/phy/phy.c
57
if (phy->type != type)
drivers/usb/phy/phy.c
591
struct usb_phy *phy;
drivers/usb/phy/phy.c
60
return phy;
drivers/usb/phy/phy.c
604
phy = devm_usb_get_phy_by_node(dev, node, NULL);
drivers/usb/phy/phy.c
606
return phy;
drivers/usb/phy/phy.c
642
struct usb_phy *phy;
drivers/usb/phy/phy.c
660
list_for_each_entry(phy, &phy_list, head) {
drivers/usb/phy/phy.c
661
if (phy->type == type) {
drivers/usb/phy/phy.c
68
struct usb_phy *phy;
drivers/usb/phy/phy.c
73
list_for_each_entry(phy, &phy_list, head) {
drivers/usb/phy/phy.c
74
if (node != phy->dev->of_node)
drivers/usb/phy/phy.c
77
return phy;
drivers/usb/renesas_usbhs/common.h
281
struct phy *phy;
drivers/usb/renesas_usbhs/rcar2.c
18
struct phy *phy = phy_get(&pdev->dev, "usb");
drivers/usb/renesas_usbhs/rcar2.c
20
if (IS_ERR(phy))
drivers/usb/renesas_usbhs/rcar2.c
21
return PTR_ERR(phy);
drivers/usb/renesas_usbhs/rcar2.c
23
priv->phy = phy;
drivers/usb/renesas_usbhs/rcar2.c
34
if (priv->phy) {
drivers/usb/renesas_usbhs/rcar2.c
35
phy_put(&pdev->dev, priv->phy);
drivers/usb/renesas_usbhs/rcar2.c
36
priv->phy = NULL;
drivers/usb/renesas_usbhs/rcar2.c
48
if (priv->phy) {
drivers/usb/renesas_usbhs/rcar2.c
50
retval = phy_init(priv->phy);
drivers/usb/renesas_usbhs/rcar2.c
53
retval = phy_power_on(priv->phy);
drivers/usb/renesas_usbhs/rcar2.c
55
phy_power_off(priv->phy);
drivers/usb/renesas_usbhs/rcar2.c
56
phy_exit(priv->phy);
drivers/usb/renesas_usbhs/rza2.c
18
struct phy *phy = phy_get(&pdev->dev, "usb");
drivers/usb/renesas_usbhs/rza2.c
20
if (IS_ERR(phy))
drivers/usb/renesas_usbhs/rza2.c
21
return PTR_ERR(phy);
drivers/usb/renesas_usbhs/rza2.c
23
priv->phy = phy;
drivers/usb/renesas_usbhs/rza2.c
31
phy_put(&pdev->dev, priv->phy);
drivers/usb/renesas_usbhs/rza2.c
32
priv->phy = NULL;
drivers/usb/renesas_usbhs/rza2.c
43
if (!priv->phy)
drivers/usb/renesas_usbhs/rza2.c
47
retval = phy_init(priv->phy);
drivers/usb/renesas_usbhs/rza2.c
51
retval = phy_power_on(priv->phy);
drivers/usb/renesas_usbhs/rza2.c
54
phy_power_off(priv->phy);
drivers/usb/renesas_usbhs/rza2.c
55
phy_exit(priv->phy);
drivers/usb/serial/f81534.c
312
static int f81534_set_phy_port_register(struct usb_serial *serial, int phy,
drivers/usb/serial/f81534.c
315
return f81534_set_register(serial, reg + F81534_UART_OFFSET * phy,
drivers/usb/serial/f81534.c
319
static int f81534_get_phy_port_register(struct usb_serial *serial, int phy,
drivers/usb/serial/f81534.c
322
return f81534_get_register(serial, reg + F81534_UART_OFFSET * phy,
drivers/usb/serial/f81534.c
762
static bool f81534_check_port_hw_disabled(struct usb_serial *serial, int phy)
drivers/usb/serial/f81534.c
772
status = f81534_get_phy_port_register(serial, phy,
drivers/usb/serial/f81534.c
780
status = f81534_set_phy_port_register(serial, phy,
drivers/usb/serial/f81534.c
786
status = f81534_get_phy_port_register(serial, phy,
drivers/usb/serial/f81534.c
791
status = f81534_set_phy_port_register(serial, phy,
drivers/usb/serial/f81534.c
796
status = f81534_set_phy_port_register(serial, phy,
drivers/usb/serial/f81534.c
803
status = f81534_get_phy_port_register(serial, phy,
drivers/usb/serial/f81534.c
808
status = f81534_set_phy_port_register(serial, phy,
drivers/video/fbdev/omap2/omapfb/displays/encoder-tfp410.c
205
dssdev->phy.dpi.data_lines = ddata->data_lines;
drivers/video/fbdev/omap2/omapfb/displays/panel-dpi.c
199
dssdev->phy.dpi.data_lines = ddata->data_lines;
drivers/video/fbdev/omap2/omapfb/displays/panel-lgphilips-lb035q02.c
284
dssdev->phy.dpi.data_lines = ddata->data_lines;
drivers/video/fbdev/omap2/omapfb/displays/panel-sharp-ls037v7dw01.c
280
dssdev->phy.dpi.data_lines = ddata->data_lines;
drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td028ttec1.c
412
dssdev->phy.dpi.data_lines = ddata->data_lines;
drivers/video/fbdev/omap2/omapfb/dss/display.c
37
if (dssdev->phy.dpi.data_lines == 24)
drivers/video/fbdev/omap2/omapfb/dss/hdmi.h
306
int hdmi_phy_configure(struct hdmi_phy_data *phy, unsigned long hfbitclk,
drivers/video/fbdev/omap2/omapfb/dss/hdmi.h
308
void hdmi_phy_dump(struct hdmi_phy_data *phy, struct seq_file *s);
drivers/video/fbdev/omap2/omapfb/dss/hdmi.h
309
int hdmi_phy_init(struct platform_device *pdev, struct hdmi_phy_data *phy);
drivers/video/fbdev/omap2/omapfb/dss/hdmi.h
310
int hdmi_phy_parse_lanes(struct hdmi_phy_data *phy, const u32 *lanes);
drivers/video/fbdev/omap2/omapfb/dss/hdmi.h
314
struct hdmi_phy_data *phy);
drivers/video/fbdev/omap2/omapfb/dss/hdmi.h
336
struct hdmi_phy_data phy;
drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c
177
r = hdmi_phy_configure(&hdmi.phy, hdmi_cinfo.clkdco,
drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c
279
hdmi_phy_dump(&hdmi.phy, s);
drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c
537
r = hdmi_parse_lanes_of(pdev, ep, &hdmi.phy);
drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c
693
r = hdmi_phy_init(pdev, &hdmi.phy);
drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c
194
r = hdmi_phy_configure(&hdmi.phy, hdmi_cinfo.clkdco,
drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c
300
hdmi_phy_dump(&hdmi.phy, s);
drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c
569
r = hdmi_parse_lanes_of(pdev, ep, &hdmi.phy);
drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c
734
r = hdmi_phy_init(pdev, &hdmi.phy);
drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c
88
v = hdmi_read_reg(hdmi.phy.base, HDMI_TXPHY_PAD_CFG_CTRL);
drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c
91
hdmi_write_reg(hdmi.phy.base, HDMI_TXPHY_PAD_CFG_CTRL, v);
drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c
98
REG_FLD_MOD(hdmi.phy.base, HDMI_TXPHY_PAD_CFG_CTRL, 0, 15, 15);
drivers/video/fbdev/omap2/omapfb/dss/hdmi_common.c
13
struct hdmi_phy_data *phy)
drivers/video/fbdev/omap2/omapfb/dss/hdmi_common.c
34
r = hdmi_phy_parse_lanes(phy, lanes);
drivers/video/fbdev/omap2/omapfb/dss/hdmi_common.c
42
r = hdmi_phy_parse_lanes(phy, default_lanes);
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
112
lane_cfg |= phy->lane_function[i] << ((3 - i) * 4);
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
114
pol_val |= phy->lane_polarity[0] << 0;
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
115
pol_val |= phy->lane_polarity[1] << 3;
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
116
pol_val |= phy->lane_polarity[2] << 2;
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
117
pol_val |= phy->lane_polarity[3] << 1;
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
128
REG_FLD_MOD(phy->base, HDMI_TXPHY_PAD_CFG_CTRL, lane_cfg_val, 26, 22);
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
129
REG_FLD_MOD(phy->base, HDMI_TXPHY_PAD_CFG_CTRL, pol_val, 30, 27);
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
132
int hdmi_phy_configure(struct hdmi_phy_data *phy, unsigned long hfbitclk,
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
141
hdmi_read_reg(phy->base, HDMI_TXPHY_TX_CTRL);
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
148
REG_FLD_MOD(phy->base, HDMI_TXPHY_BIST_CONTROL, 1, 11, 11);
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
165
REG_FLD_MOD(phy->base, HDMI_TXPHY_TX_CTRL, freqout, 31, 30);
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
168
hdmi_write_reg(phy->base, HDMI_TXPHY_DIGITAL_CTRL, 0xF0000000);
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
172
REG_FLD_MOD(phy->base, HDMI_TXPHY_POWER_CTRL, 0xB, 3, 0);
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
174
hdmi_phy_configure_lanes(phy);
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
208
int hdmi_phy_init(struct platform_device *pdev, struct hdmi_phy_data *phy)
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
214
phy->base = devm_platform_ioremap_resource_byname(pdev, "phy");
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
215
if (IS_ERR(phy->base)) {
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
217
return PTR_ERR(phy->base);
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
28
void hdmi_phy_dump(struct hdmi_phy_data *phy, struct seq_file *s)
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
31
hdmi_read_reg(phy->base, r))
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
41
int hdmi_phy_parse_lanes(struct hdmi_phy_data *phy, const u32 *lanes)
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
70
phy->lane_function[lane] = i / 2;
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
71
phy->lane_polarity[lane] = pol;
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c
77
static void hdmi_phy_configure_lanes(struct hdmi_phy_data *phy)
drivers/xen/xen-scsiback.c
1037
char *phy, struct ids_tuple *vir, int try)
drivers/xen/xen-scsiback.c
1050
if (!scsiback_add_translation_entry(info, phy, vir)) {
drivers/xen/xen-scsiback.c
1085
char phy[VSCSI_NAMELEN];
drivers/xen/xen-scsiback.c
1107
strscpy(phy, val, VSCSI_NAMELEN);
drivers/xen/xen-scsiback.c
1127
scsiback_do_add_lun(info, state, phy, &vir, 0);
drivers/xen/xen-scsiback.c
1130
scsiback_do_add_lun(info, state, phy, &vir, 1);
drivers/xen/xen-scsiback.c
922
char *phy, struct ids_tuple *v)
drivers/xen/xen-scsiback.c
933
lunp = strrchr(phy, ':');
drivers/xen/xen-scsiback.c
935
pr_err("illegal format of physical device %s\n", phy);
drivers/xen/xen-scsiback.c
948
if (!strcmp(phy, tpg_entry->tport->tport_name) ||
drivers/xen/xen-scsiback.c
949
!strcmp(phy, tpg_entry->param_alias)) {
drivers/xen/xen-scsiback.c
972
pr_err("%s:%llu %s\n", phy, unpacked_lun, error);
include/drm/bridge/samsung-dsim.h
107
struct phy *phy;
include/dt-bindings/usb/pd.h
404
#define VDO_ACABLE2(mtemp, stemp, u3p, trans, phy, ele, u4, hops, u2, u32, lane, iso, gen) \
include/dt-bindings/usb/pd.h
406
| (trans) << 11 | (phy) << 10 | (ele) << 9 | (u4) << 8 \
include/linux/atmdev.h
149
const struct atmphy_ops *phy; /* PHY operations, may be undefined */
include/linux/fec.h
17
phy_interface_t phy;
include/linux/fwnode_mdio.h
13
struct phy_device *phy,
include/linux/fwnode_mdio.h
21
struct phy_device *phy,
include/linux/mdio-bitbang.h
41
int mdiobb_read_c22(struct mii_bus *bus, int phy, int reg);
include/linux/mdio-bitbang.h
42
int mdiobb_write_c22(struct mii_bus *bus, int phy, int reg, u16 val);
include/linux/mdio-bitbang.h
43
int mdiobb_read_c45(struct mii_bus *bus, int devad, int phy, int reg);
include/linux/mdio-bitbang.h
44
int mdiobb_write_c45(struct mii_bus *bus, int devad, int phy, int reg, u16 val);
include/linux/of_mdio.h
146
struct phy_device *phy,
include/linux/of_mdio.h
50
int of_mdiobus_phy_device_register(struct mii_bus *mdio, struct phy_device *phy,
include/linux/phy.h
2146
int phy_device_register(struct phy_device *phy);
include/linux/phy/omap_usb.h
14
#define phy_to_omapusb(x) container_of((x), struct omap_usb, phy)
include/linux/phy/phy-sun4i-usb.h
16
void sun4i_usb_phy_set_squelch_detect(struct phy *phy, bool enabled);
include/linux/phy/phy.h
100
int (*init)(struct phy *phy);
include/linux/phy/phy.h
101
int (*exit)(struct phy *phy);
include/linux/phy/phy.h
102
int (*power_on)(struct phy *phy);
include/linux/phy/phy.h
103
int (*power_off)(struct phy *phy);
include/linux/phy/phy.h
104
int (*set_mode)(struct phy *phy, enum phy_mode mode, int submode);
include/linux/phy/phy.h
105
int (*set_media)(struct phy *phy, enum phy_media media);
include/linux/phy/phy.h
106
int (*set_speed)(struct phy *phy, int speed);
include/linux/phy/phy.h
118
int (*configure)(struct phy *phy, union phy_configure_opts *opts);
include/linux/phy/phy.h
136
int (*validate)(struct phy *phy, enum phy_mode mode, int submode,
include/linux/phy/phy.h
138
int (*reset)(struct phy *phy);
include/linux/phy/phy.h
139
int (*calibrate)(struct phy *phy);
include/linux/phy/phy.h
142
int (*connect)(struct phy *phy, int port);
include/linux/phy/phy.h
143
int (*disconnect)(struct phy *phy, int port);
include/linux/phy/phy.h
145
int (*notify_phystate)(struct phy *phy, union phy_notify state);
include/linux/phy/phy.h
146
void (*release)(struct phy *phy);
include/linux/phy/phy.h
201
struct phy * (*of_xlate)(struct device *dev,
include/linux/phy/phy.h
216
struct phy *phy;
include/linux/phy/phy.h
219
#define to_phy(a) (container_of((a), struct phy, dev))
include/linux/phy/phy.h
233
static inline void phy_set_drvdata(struct phy *phy, void *data)
include/linux/phy/phy.h
235
dev_set_drvdata(&phy->dev, data);
include/linux/phy/phy.h
238
static inline void *phy_get_drvdata(struct phy *phy)
include/linux/phy/phy.h
24
struct phy;
include/linux/phy/phy.h
240
return dev_get_drvdata(&phy->dev);
include/linux/phy/phy.h
244
int phy_pm_runtime_get(struct phy *phy);
include/linux/phy/phy.h
245
int phy_pm_runtime_get_sync(struct phy *phy);
include/linux/phy/phy.h
246
void phy_pm_runtime_put(struct phy *phy);
include/linux/phy/phy.h
247
int phy_pm_runtime_put_sync(struct phy *phy);
include/linux/phy/phy.h
248
int phy_init(struct phy *phy);
include/linux/phy/phy.h
249
int phy_exit(struct phy *phy);
include/linux/phy/phy.h
250
int phy_power_on(struct phy *phy);
include/linux/phy/phy.h
251
int phy_power_off(struct phy *phy);
include/linux/phy/phy.h
252
int phy_set_mode_ext(struct phy *phy, enum phy_mode mode, int submode);
include/linux/phy/phy.h
253
#define phy_set_mode(phy, mode) \
include/linux/phy/phy.h
254
phy_set_mode_ext(phy, mode, 0)
include/linux/phy/phy.h
255
int phy_set_media(struct phy *phy, enum phy_media media);
include/linux/phy/phy.h
256
int phy_set_speed(struct phy *phy, int speed);
include/linux/phy/phy.h
257
int phy_configure(struct phy *phy, union phy_configure_opts *opts);
include/linux/phy/phy.h
258
int phy_validate(struct phy *phy, enum phy_mode mode, int submode,
include/linux/phy/phy.h
261
static inline enum phy_mode phy_get_mode(struct phy *phy)
include/linux/phy/phy.h
263
return phy->attrs.mode;
include/linux/phy/phy.h
265
int phy_reset(struct phy *phy);
include/linux/phy/phy.h
266
int phy_calibrate(struct phy *phy);
include/linux/phy/phy.h
267
int phy_notify_connect(struct phy *phy, int port);
include/linux/phy/phy.h
268
int phy_notify_disconnect(struct phy *phy, int port);
include/linux/phy/phy.h
269
int phy_notify_state(struct phy *phy, union phy_notify state);
include/linux/phy/phy.h
270
static inline int phy_get_bus_width(struct phy *phy)
include/linux/phy/phy.h
272
return phy->attrs.bus_width;
include/linux/phy/phy.h
274
static inline void phy_set_bus_width(struct phy *phy, int bus_width)
include/linux/phy/phy.h
276
phy->attrs.bus_width = bus_width;
include/linux/phy/phy.h
278
struct phy *phy_get(struct device *dev, const char *string);
include/linux/phy/phy.h
279
struct phy *devm_phy_get(struct device *dev, const char *string);
include/linux/phy/phy.h
280
struct phy *devm_phy_optional_get(struct device *dev, const char *string);
include/linux/phy/phy.h
281
struct phy *devm_of_phy_get(struct device *dev, struct device_node *np,
include/linux/phy/phy.h
283
struct phy *devm_of_phy_optional_get(struct device *dev, struct device_node *np,
include/linux/phy/phy.h
285
struct phy *devm_of_phy_get_by_index(struct device *dev, struct device_node *np,
include/linux/phy/phy.h
287
void of_phy_put(struct phy *phy);
include/linux/phy/phy.h
288
void phy_put(struct device *dev, struct phy *phy);
include/linux/phy/phy.h
289
void devm_phy_put(struct device *dev, struct phy *phy);
include/linux/phy/phy.h
290
struct phy *of_phy_get(struct device_node *np, const char *con_id);
include/linux/phy/phy.h
291
struct phy *of_phy_simple_xlate(struct device *dev,
include/linux/phy/phy.h
293
struct phy *phy_create(struct device *dev, struct device_node *node,
include/linux/phy/phy.h
295
struct phy *devm_phy_create(struct device *dev, struct device_node *node,
include/linux/phy/phy.h
297
void phy_destroy(struct phy *phy);
include/linux/phy/phy.h
298
void devm_phy_destroy(struct device *dev, struct phy *phy);
include/linux/phy/phy.h
301
struct phy * (*of_xlate)(struct device *dev,
include/linux/phy/phy.h
305
struct phy * (*of_xlate)(struct device *dev,
include/linux/phy/phy.h
310
int phy_create_lookup(struct phy *phy, const char *con_id, const char *dev_id);
include/linux/phy/phy.h
311
void phy_remove_lookup(struct phy *phy, const char *con_id, const char *dev_id);
include/linux/phy/phy.h
313
static inline int phy_pm_runtime_get(struct phy *phy)
include/linux/phy/phy.h
315
if (!phy)
include/linux/phy/phy.h
320
static inline int phy_pm_runtime_get_sync(struct phy *phy)
include/linux/phy/phy.h
322
if (!phy)
include/linux/phy/phy.h
327
static inline void phy_pm_runtime_put(struct phy *phy)
include/linux/phy/phy.h
331
static inline int phy_pm_runtime_put_sync(struct phy *phy)
include/linux/phy/phy.h
333
if (!phy)
include/linux/phy/phy.h
338
static inline int phy_init(struct phy *phy)
include/linux/phy/phy.h
340
if (!phy)
include/linux/phy/phy.h
345
static inline int phy_exit(struct phy *phy)
include/linux/phy/phy.h
347
if (!phy)
include/linux/phy/phy.h
352
static inline int phy_power_on(struct phy *phy)
include/linux/phy/phy.h
354
if (!phy)
include/linux/phy/phy.h
359
static inline int phy_power_off(struct phy *phy)
include/linux/phy/phy.h
361
if (!phy)
include/linux/phy/phy.h
366
static inline int phy_set_mode_ext(struct phy *phy, enum phy_mode mode,
include/linux/phy/phy.h
369
if (!phy)
include/linux/phy/phy.h
374
#define phy_set_mode(phy, mode) \
include/linux/phy/phy.h
375
phy_set_mode_ext(phy, mode, 0)
include/linux/phy/phy.h
377
static inline int phy_set_media(struct phy *phy, enum phy_media media)
include/linux/phy/phy.h
379
if (!phy)
include/linux/phy/phy.h
384
static inline int phy_set_speed(struct phy *phy, int speed)
include/linux/phy/phy.h
386
if (!phy)
include/linux/phy/phy.h
391
static inline enum phy_mode phy_get_mode(struct phy *phy)
include/linux/phy/phy.h
396
static inline int phy_reset(struct phy *phy)
include/linux/phy/phy.h
398
if (!phy)
include/linux/phy/phy.h
403
static inline int phy_calibrate(struct phy *phy)
include/linux/phy/phy.h
405
if (!phy)
include/linux/phy/phy.h
410
static inline int phy_notify_connect(struct phy *phy, int index)
include/linux/phy/phy.h
412
if (!phy)
include/linux/phy/phy.h
417
static inline int phy_notify_disconnect(struct phy *phy, int index)
include/linux/phy/phy.h
419
if (!phy)
include/linux/phy/phy.h
424
static inline int phy_notify_state(struct phy *phy, union phy_notify state)
include/linux/phy/phy.h
426
if (!phy)
include/linux/phy/phy.h
431
static inline int phy_configure(struct phy *phy,
include/linux/phy/phy.h
434
if (!phy)
include/linux/phy/phy.h
440
static inline int phy_validate(struct phy *phy, enum phy_mode mode, int submode,
include/linux/phy/phy.h
443
if (!phy)
include/linux/phy/phy.h
449
static inline int phy_get_bus_width(struct phy *phy)
include/linux/phy/phy.h
454
static inline void phy_set_bus_width(struct phy *phy, int bus_width)
include/linux/phy/phy.h
459
static inline struct phy *phy_get(struct device *dev, const char *string)
include/linux/phy/phy.h
464
static inline struct phy *devm_phy_get(struct device *dev, const char *string)
include/linux/phy/phy.h
469
static inline struct phy *devm_phy_optional_get(struct device *dev,
include/linux/phy/phy.h
475
static inline struct phy *devm_of_phy_get(struct device *dev,
include/linux/phy/phy.h
482
static inline struct phy *devm_of_phy_optional_get(struct device *dev,
include/linux/phy/phy.h
489
static inline struct phy *devm_of_phy_get_by_index(struct device *dev,
include/linux/phy/phy.h
496
static inline void of_phy_put(struct phy *phy)
include/linux/phy/phy.h
500
static inline void phy_put(struct device *dev, struct phy *phy)
include/linux/phy/phy.h
504
static inline void devm_phy_put(struct device *dev, struct phy *phy)
include/linux/phy/phy.h
508
static inline struct phy *of_phy_get(struct device_node *np, const char *con_id)
include/linux/phy/phy.h
513
static inline struct phy *of_phy_simple_xlate(struct device *dev,
include/linux/phy/phy.h
519
static inline struct phy *phy_create(struct device *dev,
include/linux/phy/phy.h
526
static inline struct phy *devm_phy_create(struct device *dev,
include/linux/phy/phy.h
533
static inline void phy_destroy(struct phy *phy)
include/linux/phy/phy.h
537
static inline void devm_phy_destroy(struct device *dev, struct phy *phy)
include/linux/phy/phy.h
543
struct phy * (*of_xlate)(struct device *dev,
include/linux/phy/phy.h
551
struct phy * (*of_xlate)(struct device *dev,
include/linux/phy/phy.h
566
phy_create_lookup(struct phy *phy, const char *con_id, const char *dev_id)
include/linux/phy/phy.h
570
static inline void phy_remove_lookup(struct phy *phy, const char *con_id,
include/linux/phy/tegra/xusb.h
24
void tegra_phy_xusb_utmi_pad_power_on(struct phy *phy);
include/linux/phy/tegra/xusb.h
25
void tegra_phy_xusb_utmi_pad_power_down(struct phy *phy);
include/linux/phy/tegra/xusb.h
26
int tegra_phy_xusb_utmi_port_reset(struct phy *phy);
include/linux/phy/tegra/xusb.h
29
int tegra_xusb_padctl_get_port_number(struct phy *phy);
include/linux/phy/tegra/xusb.h
30
int tegra_xusb_padctl_enable_phy_sleepwalk(struct tegra_xusb_padctl *padctl, struct phy *phy,
include/linux/phy/tegra/xusb.h
32
int tegra_xusb_padctl_disable_phy_sleepwalk(struct tegra_xusb_padctl *padctl, struct phy *phy);
include/linux/phy/tegra/xusb.h
33
int tegra_xusb_padctl_enable_phy_wake(struct tegra_xusb_padctl *padctl, struct phy *phy);
include/linux/phy/tegra/xusb.h
34
int tegra_xusb_padctl_disable_phy_wake(struct tegra_xusb_padctl *padctl, struct phy *phy);
include/linux/phy/tegra/xusb.h
35
bool tegra_xusb_padctl_remote_wake_detected(struct tegra_xusb_padctl *padctl, struct phy *phy);
include/linux/phy/ulpi_phy.h
11
struct phy *phy;
include/linux/phy/ulpi_phy.h
14
phy = phy_create(&ulpi->dev, NULL, ops);
include/linux/phy/ulpi_phy.h
15
if (IS_ERR(phy))
include/linux/phy/ulpi_phy.h
16
return phy;
include/linux/phy/ulpi_phy.h
18
ret = phy_create_lookup(phy, "usb2-phy", dev_name(ulpi->dev.parent));
include/linux/phy/ulpi_phy.h
20
phy_destroy(phy);
include/linux/phy/ulpi_phy.h
24
return phy;
include/linux/phy/ulpi_phy.h
28
static inline void ulpi_phy_destroy(struct ulpi *ulpi, struct phy *phy)
include/linux/phy/ulpi_phy.h
30
phy_remove_lookup(phy, "usb2-phy", dev_name(ulpi->dev.parent));
include/linux/phy/ulpi_phy.h
31
phy_destroy(phy);
include/linux/phy/ulpi_phy.h
8
static inline struct phy
include/linux/phy_led_triggers.h
27
extern int phy_led_triggers_register(struct phy_device *phy);
include/linux/phy_led_triggers.h
28
extern void phy_led_triggers_unregister(struct phy_device *phy);
include/linux/phy_led_triggers.h
29
extern void phy_led_trigger_change_speed(struct phy_device *phy);
include/linux/phy_led_triggers.h
33
static inline int phy_led_triggers_register(struct phy_device *phy)
include/linux/phy_led_triggers.h
37
static inline void phy_led_triggers_unregister(struct phy_device *phy) { }
include/linux/phy_led_triggers.h
38
static inline void phy_led_trigger_change_speed(struct phy_device *phy) { }
include/linux/phy_link_topology.h
36
struct phy_device *phy;
include/linux/phy_link_topology.h
41
struct phy_device *phy,
include/linux/phy_link_topology.h
44
void phy_link_topo_del_phy(struct net_device *dev, struct phy_device *phy);
include/linux/phy_link_topology.h
57
return pdn->phy;
include/linux/phy_link_topology.h
64
struct phy_device *phy,
include/linux/phy_link_topology.h
71
struct phy_device *phy)
include/linux/phy_port.h
58
struct phy_device *phy;
include/linux/phy_port.h
79
return port->phy;
include/linux/phylink.h
218
struct phy_device *phy, unsigned int mode,
include/linux/phylink.h
426
void mac_link_up(struct phylink_config *config, struct phy_device *phy,
include/linux/sh_eth.h
9
int phy;
include/linux/sungem_phy.h
12
int (*init)(struct mii_phy *phy);
include/linux/sungem_phy.h
13
int (*suspend)(struct mii_phy *phy);
include/linux/sungem_phy.h
14
int (*setup_aneg)(struct mii_phy *phy, u32 advertise);
include/linux/sungem_phy.h
15
int (*setup_forced)(struct mii_phy *phy, int speed, int fd);
include/linux/sungem_phy.h
16
int (*poll_link)(struct mii_phy *phy);
include/linux/sungem_phy.h
17
int (*read_link)(struct mii_phy *phy);
include/linux/sungem_phy.h
18
int (*enable_fiber)(struct mii_phy *phy, int autoneg);
include/linux/sungem_phy.h
67
extern int sungem_phy_probe(struct mii_phy *phy, int mii_id);
include/linux/usb/chipidea.h
38
struct phy *phy;
include/linux/usb/otg.h
19
struct phy *phy;
include/linux/usb/pd_vdo.h
437
#define VDO_ACABLE2(mtemp, stemp, u3p, trans, phy, ele, u4, hops, u2, u32, lane, iso, gen) \
include/linux/usb/pd_vdo.h
439
| (trans) << 11 | (phy) << 10 | (ele) << 9 | (u4) << 8 \
include/net/bluetooth/hci.h
2209
__u8 phy;
include/net/bluetooth/hci.h
2426
__u8 phy;
include/net/bluetooth/hci.h
3018
__u8 phy;
include/net/bluetooth/hci.h
3075
__u8 phy;
include/net/bluetooth/hci.h
3114
__u8 phy;
include/net/bluetooth/hci.h
3158
__u8 phy;
include/net/bluetooth/hci_core.h
1594
u16 conn_timeout, u8 role, u8 phy, u8 sec_phy);
include/net/cfg80211.h
443
struct ieee80211_uhr_cap_phy phy;
include/net/cfg802154.h
265
static inline bool ieee802154_chan_is_valid(struct wpan_phy *phy,
include/net/cfg802154.h
270
!(phy->supported.channels[page] & BIT(channel)))
include/net/cfg802154.h
531
static inline void wpan_phy_set_dev(struct wpan_phy *phy, struct device *dev)
include/net/cfg802154.h
533
phy->dev.parent = dev;
include/net/cfg802154.h
536
int wpan_phy_register(struct wpan_phy *phy);
include/net/cfg802154.h
537
void wpan_phy_unregister(struct wpan_phy *phy);
include/net/cfg802154.h
538
void wpan_phy_free(struct wpan_phy *phy);
include/net/cfg802154.h
540
int wpan_phy_for_each(int (*fn)(struct wpan_phy *phy, void *data), void *data);
include/net/cfg802154.h
542
static inline void *wpan_phy_priv(struct wpan_phy *phy)
include/net/cfg802154.h
544
BUG_ON(!phy);
include/net/cfg802154.h
545
return &phy->priv;
include/net/cfg802154.h
550
static inline void wpan_phy_put(struct wpan_phy *phy)
include/net/cfg802154.h
552
put_device(&phy->dev);
include/net/cfg802154.h
555
static inline const char *wpan_phy_name(struct wpan_phy *phy)
include/net/cfg802154.h
557
return dev_name(&phy->dev);
include/net/cfg802154.h
560
void ieee802154_configure_durations(struct wpan_phy *phy,
include/net/dsa.h
972
struct phy_device *phy);
include/net/mac802154.h
83
struct wpan_phy *phy;
include/scsi/libsas.h
106
struct sas_phy *phy;
include/scsi/libsas.h
169
struct sas_phy *phy;
include/scsi/libsas.h
280
struct asd_sas_phy *phy;
include/scsi/libsas.h
293
struct asd_sas_phy *phy, int event)
include/scsi/libsas.h
296
ev->phy = phy;
include/scsi/libsas.h
312
struct sas_phy *phy;
include/scsi/libsas.h
420
static inline void sas_phy_disconnected(struct asd_sas_phy *phy)
include/scsi/libsas.h
422
phy->oob_mode = OOB_NOT_CONNECTED;
include/scsi/libsas.h
423
phy->linkrate = SAS_LINK_RATE_UNKNOWN;
include/scsi/libsas.h
431
static inline void sas_put_local_phy(struct sas_phy *phy)
include/scsi/libsas.h
433
put_device(&phy->dev);
include/scsi/libsas.h
690
int sas_phy_reset(struct sas_phy *phy, int hard_reset);
include/scsi/libsas.h
691
int sas_phy_enable(struct sas_phy *phy, int enable);
include/scsi/libsas.h
733
void sas_notify_port_event(struct asd_sas_phy *phy, enum port_event event,
include/scsi/libsas.h
735
void sas_notify_phy_event(struct asd_sas_phy *phy, enum phy_event event,
include/scsi/scsi_transport_sas.h
223
static inline void sas_port_put_phy(struct sas_phy *phy)
include/scsi/scsi_transport_sas.h
225
if (phy)
include/scsi/scsi_transport_sas.h
226
put_device(&phy->dev);
include/scsi/scsi_transport_sas.h
245
#define scsi_is_sas_phy_local(phy) scsi_is_host_device((phy)->dev.parent)
include/scsi/scsi_transport_sas.h
92
#define phy_to_shost(phy) \
include/scsi/scsi_transport_sas.h
93
dev_to_shost((phy)->dev.parent)
include/video/omapfb_dss.h
629
} phy;
net/bluetooth/hci_conn.c
1378
u16 conn_timeout, u8 role, u8 phy, u8 sec_phy)
net/bluetooth/hci_conn.c
1440
conn->le_adv_phy = phy;
net/bluetooth/hci_conn.c
1828
cp.bis.phy = qos->bcast.out.phys;
net/bluetooth/hci_event.c
6091
u8 adv_type, u8 phy, u8 sec_phy)
net/bluetooth/hci_event.c
6146
HCI_ROLE_MASTER, phy, sec_phy);
net/bluetooth/hci_event.c
6181
u8 direct_addr_type, u8 phy, u8 sec_phy, s8 rssi,
net/bluetooth/hci_event.c
6274
type, phy, sec_phy);
net/bluetooth/hci_event.c
6897
static u8 le_phy_qos(u8 phy)
net/bluetooth/hci_event.c
6899
switch (phy) {
net/bluetooth/hci_sync.c
2931
struct hci_cp_le_scan_phy_params *phy;
net/bluetooth/hci_sync.c
2932
u8 data[sizeof(*cp) + sizeof(*phy) * 2];
net/bluetooth/hci_sync.c
2936
phy = (void *)cp->data;
net/bluetooth/hci_sync.c
2961
hci_le_scan_phy_params(phy, type,
net/bluetooth/hci_sync.c
2965
phy++;
net/bluetooth/hci_sync.c
2970
hci_le_scan_phy_params(phy, type,
net/bluetooth/hci_sync.c
2974
phy++;
net/bluetooth/hci_sync.c
2985
hci_le_scan_phy_params(phy, type, interval, window);
net/bluetooth/hci_sync.c
2987
phy++;
net/bluetooth/hci_sync.c
2992
hci_le_scan_phy_params(phy, type, interval * 3, window * 3);
net/bluetooth/hci_sync.c
2994
phy++;
net/bluetooth/hci_sync.c
3002
sizeof(*cp) + sizeof(*phy) * num_phy,
net/caif/cfcnfg.c
136
struct cfcnfg_phyinfo *phy;
net/caif/cfcnfg.c
138
list_for_each_entry_rcu(phy, &cnfg->phys, node)
net/caif/cfcnfg.c
139
if (phy->id == phyid)
net/caif/cfcnfg.c
140
return phy;
net/caif/cfcnfg.c
152
struct cfcnfg_phyinfo *phy;
net/caif/cfcnfg.c
154
list_for_each_entry_rcu(phy, &cnfg->phys, node) {
net/caif/cfcnfg.c
155
if (phy->up && phy->pref == phy_pref &&
net/caif/cfcnfg.c
156
phy->frm_layer != NULL)
net/caif/cfcnfg.c
158
return &phy->dev_info;
net/caif/cfcnfg.c
162
list_for_each_entry_rcu(phy, &cnfg->phys, node)
net/caif/cfcnfg.c
163
if (phy->up)
net/caif/cfcnfg.c
164
return &phy->dev_info;
net/caif/cfcnfg.c
171
struct cfcnfg_phyinfo *phy;
net/caif/cfcnfg.c
173
list_for_each_entry_rcu(phy, &cnfg->phys, node)
net/caif/cfcnfg.c
174
if (phy->ifindex == ifi && phy->up)
net/caif/cfcnfg.c
175
return phy->id;
net/caif/cfcnfg.c
305
struct cfcnfg_phyinfo *phy;
net/caif/cfcnfg.c
315
phy = cfcnfg_get_phyinfo_rcu(cfg, param.phyid);
net/caif/cfcnfg.c
316
if (!phy) {
net/caif/cfcnfg.c
336
frml = phy->frm_layer;
net/caif/cfcnfg.c
341
caif_assert(param.phyid == phy->id);
net/caif/cfcnfg.c
342
caif_assert(phy->frm_layer->id ==
net/caif/cfcnfg.c
344
caif_assert(phy->phy_layer->id ==
net/caif/cfcnfg.c
347
*ifindex = phy->ifindex;
net/caif/cfcnfg.c
349
*proto_head = protohead[param.linktype] + phy->head_room;
net/dsa/port.c
213
int dsa_port_enable_rt(struct dsa_port *dp, struct phy_device *phy)
net/dsa/port.c
220
err = ds->ops->port_enable(ds, port, phy);
net/dsa/port.c
234
int dsa_port_enable(struct dsa_port *dp, struct phy_device *phy)
net/dsa/port.c
239
err = dsa_port_enable_rt(dp, phy);
net/dsa/port.h
25
int dsa_port_enable_rt(struct dsa_port *dp, struct phy_device *phy);
net/dsa/port.h
26
int dsa_port_enable(struct dsa_port *dp, struct phy_device *phy);
net/ethtool/common.c
1005
if (!phy_has_tsinfo(pdn->phy))
net/ethtool/common.c
1009
err = phy_ts_info(pdn->phy, info);
net/ethtool/common.c
1014
return pdn->phy;
net/ethtool/common.c
1041
struct phy_device *phy;
net/ethtool/common.c
1043
phy = ethtool_phy_get_ts_info_by_phc(dev, info, hwprov_desc);
net/ethtool/common.c
1044
if (IS_ERR(phy))
net/ethtool/common.c
1045
return PTR_ERR(phy);
net/ethtool/common.c
1052
info->phc_phyindex = phy->phyindex;
net/ethtool/tsconfig.c
262
struct phy_device *phy = NULL;
net/ethtool/tsconfig.c
271
phy = ethtool_phy_get_ts_info_by_phc(dev, &ts_info, hwprov_desc);
net/ethtool/tsconfig.c
272
if (IS_ERR(phy)) {
net/ethtool/tsconfig.c
273
if (PTR_ERR(phy) == -ENODEV)
net/ethtool/tsconfig.c
277
return ERR_CAST(phy);
net/ethtool/tsconfig.c
290
hwprov->phydev = phy;
net/ethtool/tsinfo.c
456
if (phy_has_tsinfo(pdn->phy)) {
net/ethtool/tsinfo.c
458
pdn->phy, cb);
net/ieee802154/core.c
140
int wpan_phy_register(struct wpan_phy *phy)
net/ieee802154/core.c
142
struct cfg802154_registered_device *rdev = wpan_phy_to_rdev(phy);
net/ieee802154/core.c
146
ret = device_add(&phy->dev);
net/ieee802154/core.c
164
void wpan_phy_unregister(struct wpan_phy *phy)
net/ieee802154/core.c
166
struct cfg802154_registered_device *rdev = wpan_phy_to_rdev(phy);
net/ieee802154/core.c
189
device_del(&phy->dev);
net/ieee802154/core.c
195
void wpan_phy_free(struct wpan_phy *phy)
net/ieee802154/core.c
197
put_device(&phy->dev);
net/ieee802154/core.c
42
int (*fn)(struct wpan_phy *phy, void *data);
net/ieee802154/core.c
49
struct wpan_phy *phy = container_of(dev, struct wpan_phy, dev);
net/ieee802154/core.c
51
return wpid->fn(phy, wpid->data);
net/ieee802154/core.c
54
int wpan_phy_for_each(int (*fn)(struct wpan_phy *phy, void *data),
net/ieee802154/nl-mac.c
100
nla_put_string(msg, IEEE802154_ATTR_PHY_NAME, wpan_phy_name(phy)) ||
net/ieee802154/nl-mac.c
133
wpan_phy_put(phy);
net/ieee802154/nl-mac.c
138
wpan_phy_put(phy);
net/ieee802154/nl-mac.c
460
struct wpan_phy *phy;
net/ieee802154/nl-mac.c
490
phy = dev->ieee802154_ptr->wpan_phy;
net/ieee802154/nl-mac.c
491
get_device(&phy->dev);
net/ieee802154/nl-mac.c
523
wpan_phy_put(phy);
net/ieee802154/nl-mac.c
78
struct wpan_phy *phy;
net/ieee802154/nl-mac.c
90
phy = dev->ieee802154_ptr->wpan_phy;
net/ieee802154/nl-mac.c
91
BUG_ON(!phy);
net/ieee802154/nl-mac.c
92
get_device(&phy->dev);
net/ieee802154/nl-phy.c
103
wpan_phy_put(phy);
net/ieee802154/nl-phy.c
109
wpan_phy_put(phy);
net/ieee802154/nl-phy.c
119
static int ieee802154_dump_phy_iter(struct wpan_phy *phy, void *_data)
net/ieee802154/nl-phy.c
133
phy);
net/ieee802154/nl-phy.c
164
struct wpan_phy *phy;
net/ieee802154/nl-phy.c
195
phy = wpan_phy_find(name);
net/ieee802154/nl-phy.c
196
if (!phy)
net/ieee802154/nl-phy.c
218
dev = rdev_add_virtual_intf_deprecated(wpan_phy_to_rdev(phy), devname,
net/ieee802154/nl-phy.c
243
if (nla_put_string(msg, IEEE802154_ATTR_PHY_NAME, wpan_phy_name(phy)) ||
net/ieee802154/nl-phy.c
250
wpan_phy_put(phy);
net/ieee802154/nl-phy.c
256
rdev_del_virtual_intf_deprecated(wpan_phy_to_rdev(phy), dev);
net/ieee802154/nl-phy.c
262
wpan_phy_put(phy);
net/ieee802154/nl-phy.c
269
struct wpan_phy *phy;
net/ieee802154/nl-phy.c
29
u32 seq, int flags, struct wpan_phy *phy)
net/ieee802154/nl-phy.c
290
phy = dev->ieee802154_ptr->wpan_phy;
net/ieee802154/nl-phy.c
291
BUG_ON(!phy);
net/ieee802154/nl-phy.c
292
get_device(&phy->dev);
net/ieee802154/nl-phy.c
310
if (phy != phy2) {
net/ieee802154/nl-phy.c
323
rdev_del_virtual_intf_deprecated(wpan_phy_to_rdev(phy), dev);
net/ieee802154/nl-phy.c
331
if (nla_put_string(msg, IEEE802154_ATTR_PHY_NAME, wpan_phy_name(phy)) ||
net/ieee802154/nl-phy.c
334
wpan_phy_put(phy);
net/ieee802154/nl-phy.c
341
wpan_phy_put(phy);
net/ieee802154/nl-phy.c
46
if (nla_put_string(msg, IEEE802154_ATTR_PHY_NAME, wpan_phy_name(phy)) ||
net/ieee802154/nl-phy.c
47
nla_put_u8(msg, IEEE802154_ATTR_PAGE, phy->current_page) ||
net/ieee802154/nl-phy.c
48
nla_put_u8(msg, IEEE802154_ATTR_CHANNEL, phy->current_channel))
net/ieee802154/nl-phy.c
51
if (phy->supported.channels[i])
net/ieee802154/nl-phy.c
52
buf[pages++] = phy->supported.channels[i] | (i << 27);
net/ieee802154/nl-phy.c
77
struct wpan_phy *phy;
net/ieee802154/nl-phy.c
90
phy = wpan_phy_find(name);
net/ieee802154/nl-phy.c
91
if (!phy)
net/ieee802154/nl-phy.c
99
0, phy);
net/mac80211/uhr.c
29
sta_uhr_cap->phy = *ieee80211_uhr_phy_cap(uhr_cap, from_ap);
net/mac80211/util.c
4556
skb_put_data(skb, &uhr_cap->phy, sizeof(uhr_cap->phy));
net/mac802154/cfg.c
70
ret = drv_start(local, local->phy->filtering, &local->addr_filt);
net/mac802154/cfg.c
85
ieee802154_add_iface(struct wpan_phy *phy, const char *name,
net/mac802154/cfg.c
89
struct ieee802154_local *local = wpan_phy_priv(phy);
net/mac802154/driver-ops.h
187
local->phy->filtering = IEEE802154_FILTERING_NONE;
net/mac802154/driver-ops.h
200
local->phy->filtering = IEEE802154_FILTERING_4_FRAME_FIELDS;
net/mac802154/ieee802154_i.h
38
struct wpan_phy *phy;
net/mac802154/iface.c
633
&local->hw.phy->perm_extended_addr);
net/mac802154/iface.c
654
SET_NETDEV_DEV(ndev, &local->phy->dev);
net/mac802154/iface.c
655
dev_net_set(ndev, wpan_phy_net(local->hw.phy));
net/mac802154/iface.c
660
sdata->wpan_dev.wpan_phy = local->hw.phy;
net/mac802154/mac_cmd.c
79
if (local->hw.phy->flags & WPAN_PHY_FLAG_TXPOWER) {
net/mac802154/mac_cmd.c
85
if (local->hw.phy->flags & WPAN_PHY_FLAG_CCA_MODE) {
net/mac802154/mac_cmd.c
91
if (local->hw.phy->flags & WPAN_PHY_FLAG_CCA_ED_LEVEL) {
net/mac802154/main.c
109
phy->supported.max_minbe = 8;
net/mac802154/main.c
110
phy->supported.min_maxbe = 3;
net/mac802154/main.c
111
phy->supported.max_maxbe = 8;
net/mac802154/main.c
112
phy->supported.min_frame_retries = 0;
net/mac802154/main.c
113
phy->supported.max_frame_retries = 7;
net/mac802154/main.c
114
phy->supported.max_csma_backoffs = 5;
net/mac802154/main.c
115
phy->supported.lbt = NL802154_SUPPORTED_BOOL_FALSE;
net/mac802154/main.c
118
phy->supported.iftypes = BIT(NL802154_IFTYPE_NODE) | BIT(NL802154_IFTYPE_COORD);
net/mac802154/main.c
124
void ieee802154_configure_durations(struct wpan_phy *phy,
net/mac802154/main.c
163
phy->symbol_duration = duration;
net/mac802154/main.c
164
phy->lifs_period =
net/mac802154/main.c
165
(IEEE802154_LIFS_PERIOD * phy->symbol_duration) / NSEC_PER_USEC;
net/mac802154/main.c
166
phy->sifs_period =
net/mac802154/main.c
167
(IEEE802154_SIFS_PERIOD * phy->symbol_duration) / NSEC_PER_USEC;
net/mac802154/main.c
179
wpan_phy_free(local->phy);
net/mac802154/main.c
203
create_singlethread_workqueue(wpan_phy_name(local->phy));
net/mac802154/main.c
209
snprintf(mac_wq_name, IFNAMSIZ + 10, "%s-mac-cmds", wpan_phy_name(local->phy));
net/mac802154/main.c
219
wpan_phy_set_dev(local->phy, local->hw.parent);
net/mac802154/main.c
221
ieee802154_setup_wpan_phy_pib(local->phy);
net/mac802154/main.c
223
ieee802154_configure_durations(local->phy, local->phy->current_page,
net/mac802154/main.c
224
local->phy->current_channel);
net/mac802154/main.c
227
local->phy->supported.min_csma_backoffs = 4;
net/mac802154/main.c
228
local->phy->supported.max_csma_backoffs = 4;
net/mac802154/main.c
229
local->phy->supported.min_maxbe = 5;
net/mac802154/main.c
230
local->phy->supported.max_maxbe = 5;
net/mac802154/main.c
231
local->phy->supported.min_minbe = 3;
net/mac802154/main.c
232
local->phy->supported.max_minbe = 3;
net/mac802154/main.c
236
local->phy->supported.min_frame_retries = 3;
net/mac802154/main.c
237
local->phy->supported.max_frame_retries = 3;
net/mac802154/main.c
241
local->phy->supported.iftypes |= BIT(NL802154_IFTYPE_MONITOR);
net/mac802154/main.c
243
rc = wpan_phy_register(local->phy);
net/mac802154/main.c
263
wpan_phy_unregister(local->phy);
net/mac802154/main.c
288
wpan_phy_unregister(local->phy);
net/mac802154/main.c
49
struct wpan_phy *phy;
net/mac802154/main.c
77
phy = wpan_phy_new(&mac802154_config_ops, priv_size);
net/mac802154/main.c
78
if (!phy) {
net/mac802154/main.c
83
phy->privid = mac802154_wpan_phy_privid;
net/mac802154/main.c
85
local = wpan_phy_priv(phy);
net/mac802154/main.c
86
local->phy = phy;
net/mac802154/main.c
87
local->hw.phy = local->phy;
net/mac802154/mib.c
35
local->phy->current_channel = chan;
net/mac802154/mib.c
36
local->phy->current_page = page;
net/mac802154/rx.c
135
struct wpan_phy *wpan_phy = sdata->local->hw.phy;
net/mac802154/rx.c
359
if (local->hw.phy->filtering < IEEE802154_FILTERING_4_FRAME_FIELDS &&
net/mac802154/rx.c
423
if (local->hw.phy->filtering == IEEE802154_FILTERING_NONE) {
net/mac802154/scan.c
49
struct wpan_phy *wpan_phy = local->phy;
net/mac802154/trace.h
18
wpan_phy_name(local->hw.phy), MAXNAME)
net/mac802154/tx.c
104
if (atomic_dec_and_test(&local->phy->ongoing_txs))
net/mac802154/tx.c
105
wake_up(&local->phy->sync_txq);
net/mac802154/tx.c
117
wait_event(local->phy->sync_txq, !atomic_read(&local->phy->ongoing_txs));
net/mac802154/tx.c
130
set_bit(WPAN_PHY_FLAG_STATE_QUEUE_STOPPED, &local->phy->flags);
net/mac802154/tx.c
196
return test_bit(WPAN_PHY_FLAG_STATE_QUEUE_STOPPED, &local->phy->flags);
net/mac802154/tx.c
47
if (atomic_dec_and_test(&local->phy->ongoing_txs))
net/mac802154/tx.c
48
wake_up(&local->phy->sync_txq);
net/mac802154/tx.c
80
atomic_inc(&local->phy->ongoing_txs);
net/mac802154/util.c
133
hw->phy->lifs_period * NSEC_PER_USEC,
net/mac802154/util.c
137
hw->phy->sifs_period * NSEC_PER_USEC,
net/mac802154/util.c
144
if (atomic_dec_and_test(&hw->phy->ongoing_txs))
net/mac802154/util.c
145
wake_up(&hw->phy->sync_txq);
net/mac802154/util.c
157
if (atomic_dec_and_test(&hw->phy->ongoing_txs))
net/mac802154/util.c
158
wake_up(&hw->phy->sync_txq);
net/mac802154/util.c
32
clear_bit(WPAN_PHY_FLAG_STATE_QUEUE_STOPPED, &local->phy->flags);
net/mac802154/util.c
71
spin_lock_irqsave(&local->phy->queue_lock, flags);
net/mac802154/util.c
72
if (!atomic_fetch_inc(&local->phy->hold_txs))
net/mac802154/util.c
74
spin_unlock_irqrestore(&local->phy->queue_lock, flags);
net/mac802154/util.c
81
spin_lock_irqsave(&local->phy->queue_lock, flags);
net/mac802154/util.c
82
if (atomic_dec_and_test(&local->phy->hold_txs))
net/mac802154/util.c
84
spin_unlock_irqrestore(&local->phy->queue_lock, flags);
net/openvswitch/actions.c
1052
flow_key->phy.priority = skb->priority;
net/openvswitch/actions.c
1057
flow_key->phy.skb_mark = skb->mark;
net/openvswitch/datapath.c
676
packet->priority = flow->key.phy.priority;
net/openvswitch/datapath.c
677
packet->mark = flow->key.phy.skb_mark;
net/openvswitch/datapath.c
685
input_vport = ovs_vport_rcu(dp, flow->key.phy.in_port);
net/openvswitch/flow.c
1029
key->phy.priority = skb->priority;
net/openvswitch/flow.c
1030
key->phy.in_port = OVS_CB(skb)->input_vport->port_no;
net/openvswitch/flow.c
1031
key->phy.skb_mark = skb->mark;
net/openvswitch/flow.h
83
} __packed phy; /* Safe when right after 'tun_key'. */
net/openvswitch/flow_netlink.c
1191
SW_FLOW_KEY_PUT(match, phy.priority,
net/openvswitch/flow_netlink.c
1207
SW_FLOW_KEY_PUT(match, phy.in_port, in_port, is_mask);
net/openvswitch/flow_netlink.c
1210
SW_FLOW_KEY_PUT(match, phy.in_port, DP_MAX_PORTS, is_mask);
net/openvswitch/flow_netlink.c
1216
SW_FLOW_KEY_PUT(match, phy.skb_mark, mark, is_mask);
net/openvswitch/flow_netlink.c
1943
key->phy.in_port = DP_MAX_PORTS;
net/openvswitch/flow_netlink.c
2002
if (nla_put_u32(skb, OVS_KEY_ATTR_PRIORITY, output->phy.priority))
net/openvswitch/flow_netlink.c
2016
if (swkey->phy.in_port == DP_MAX_PORTS) {
net/openvswitch/flow_netlink.c
2017
if (is_mask && (output->phy.in_port == 0xffff))
net/openvswitch/flow_netlink.c
2025
(upper_u16 << 16) | output->phy.in_port))
net/openvswitch/flow_netlink.c
2029
if (nla_put_u32(skb, OVS_KEY_ATTR_SKB_MARK, output->phy.skb_mark))
net/openvswitch/flow_table.c
659
return rounddown(offsetof(struct sw_flow_key, phy),
net/wireless/nl80211.c
2027
sizeof(uhr_cap->phy), &uhr_cap->phy))
scripts/dtc/include-prefixes/dt-bindings/usb/pd.h
404
#define VDO_ACABLE2(mtemp, stemp, u3p, trans, phy, ele, u4, hops, u2, u32, lane, iso, gen) \
scripts/dtc/include-prefixes/dt-bindings/usb/pd.h
406
| (trans) << 11 | (phy) << 10 | (ele) << 9 | (u4) << 8 \
sound/ppc/pmac.c
383
unsigned int phy ;
sound/ppc/pmac.c
403
phy = le32_to_cpu(cp->phy_addr);
sound/ppc/pmac.c
404
phy += (req - res);
sound/ppc/pmac.c
408
cp->phy_addr = cpu_to_le32(phy);
sound/soc/fsl/fsl_xcvr.c
256
static int fsl_xcvr_ai_write(struct fsl_xcvr *xcvr, u8 reg, u32 data, bool phy)
sound/soc/fsl/fsl_xcvr.c
262
idx = BIT(phy ? 26 : 24);
sound/soc/fsl/fsl_xcvr.c
263
tidx = BIT(phy ? 27 : 25);
sound/soc/fsl/fsl_xcvr.c
275
phy ? "PHY" : "PLL", reg, data);
sound/soc/fsl/fsl_xcvr.c
279
static int fsl_xcvr_ai_read(struct fsl_xcvr *xcvr, u8 reg, u32 *data, bool phy)
sound/soc/fsl/fsl_xcvr.c
285
idx = BIT(phy ? 26 : 24);
sound/soc/fsl/fsl_xcvr.c
286
tidx = BIT(phy ? 27 : 25);
sound/soc/fsl/fsl_xcvr.c
297
phy ? "PHY" : "PLL", reg);