| /kernel/linux/linux-6.6/drivers/net/phy/ |
| D | mdio_bus.c | 1 // SPDX-License-Identifier: GPL-2.0+ 2 /* MDIO Bus interface 42 #include "mdio-boardinfo.h" 47 mdiodev->reset_gpio = gpiod_get_optional(&mdiodev->dev, in mdiobus_register_gpiod() 49 if (IS_ERR(mdiodev->reset_gpio)) in mdiobus_register_gpiod() 50 return PTR_ERR(mdiodev->reset_gpio); in mdiobus_register_gpiod() 52 if (mdiodev->reset_gpio) in mdiobus_register_gpiod() 53 gpiod_set_consumer_name(mdiodev->reset_gpio, "PHY reset"); in mdiobus_register_gpiod() 62 reset = reset_control_get_optional_exclusive(&mdiodev->dev, "phy"); in mdiobus_register_reset() 66 mdiodev->reset_ctrl = reset; in mdiobus_register_reset() [all …]
|
| /kernel/linux/linux-5.10/drivers/net/phy/ |
| D | mdio_bus.c | 1 // SPDX-License-Identifier: GPL-2.0+ 2 /* MDIO Bus interface 41 #include "mdio-boardinfo.h" 46 mdiodev->reset_gpio = gpiod_get_optional(&mdiodev->dev, in mdiobus_register_gpiod() 48 if (IS_ERR(mdiodev->reset_gpio)) in mdiobus_register_gpiod() 49 return PTR_ERR(mdiodev->reset_gpio); in mdiobus_register_gpiod() 51 if (mdiodev->reset_gpio) in mdiobus_register_gpiod() 52 gpiod_set_consumer_name(mdiodev->reset_gpio, "PHY reset"); in mdiobus_register_gpiod() 61 reset = reset_control_get_optional_exclusive(&mdiodev->dev, "phy"); in mdiobus_register_reset() 65 mdiodev->reset_ctrl = reset; in mdiobus_register_reset() [all …]
|
| /kernel/linux/linux-6.6/sound/hda/ |
| D | hdac_bus.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * HD-audio core bus driver 24 * snd_hdac_bus_init - initialize a HD-audio bas bus 25 * @bus: the pointer to bus object 27 * @ops: bus verb operators 31 int snd_hdac_bus_init(struct hdac_bus *bus, struct device *dev, in snd_hdac_bus_init() argument 34 memset(bus, 0, sizeof(*bus)); in snd_hdac_bus_init() 35 bus->dev = dev; in snd_hdac_bus_init() 37 bus->ops = ops; in snd_hdac_bus_init() 39 bus->ops = &default_ops; in snd_hdac_bus_init() [all …]
|
| D | hdac_controller.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * HD-audio controller helpers 15 static void azx_clear_corbrp(struct hdac_bus *bus) in azx_clear_corbrp() argument 19 for (timeout = 1000; timeout > 0; timeout--) { in azx_clear_corbrp() 20 if (snd_hdac_chip_readw(bus, CORBRP) & AZX_CORBRP_RST) in azx_clear_corbrp() 25 dev_err(bus->dev, "CORB reset timeout#1, CORBRP = %d\n", in azx_clear_corbrp() 26 snd_hdac_chip_readw(bus, CORBRP)); in azx_clear_corbrp() 28 snd_hdac_chip_writew(bus, CORBRP, 0); in azx_clear_corbrp() 29 for (timeout = 1000; timeout > 0; timeout--) { in azx_clear_corbrp() 30 if (snd_hdac_chip_readw(bus, CORBRP) == 0) in azx_clear_corbrp() [all …]
|
| /kernel/linux/linux-5.10/sound/hda/ |
| D | hdac_bus.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * HD-audio core bus driver 24 * snd_hdac_bus_init - initialize a HD-audio bas bus 25 * @bus: the pointer to bus object 27 * @ops: bus verb operators 31 int snd_hdac_bus_init(struct hdac_bus *bus, struct device *dev, in snd_hdac_bus_init() argument 34 memset(bus, 0, sizeof(*bus)); in snd_hdac_bus_init() 35 bus->dev = dev; in snd_hdac_bus_init() 37 bus->ops = ops; in snd_hdac_bus_init() 39 bus->ops = &default_ops; in snd_hdac_bus_init() [all …]
|
| D | hdac_controller.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * HD-audio controller helpers 16 static void azx_clear_corbrp(struct hdac_bus *bus) in azx_clear_corbrp() argument 20 for (timeout = 1000; timeout > 0; timeout--) { in azx_clear_corbrp() 21 if (snd_hdac_chip_readw(bus, CORBRP) & AZX_CORBRP_RST) in azx_clear_corbrp() 26 dev_err(bus->dev, "CORB reset timeout#1, CORBRP = %d\n", in azx_clear_corbrp() 27 snd_hdac_chip_readw(bus, CORBRP)); in azx_clear_corbrp() 29 snd_hdac_chip_writew(bus, CORBRP, 0); in azx_clear_corbrp() 30 for (timeout = 1000; timeout > 0; timeout--) { in azx_clear_corbrp() 31 if (snd_hdac_chip_readw(bus, CORBRP) == 0) in azx_clear_corbrp() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/ |
| D | anx9805.c | 28 #include "bus.h" 32 struct nvkm_i2c_bus *bus; member 33 u8 addr; member 39 u8 addr; member 45 struct anx9805_bus *bus = anx9805_bus(base); in anx9805_bus_xfer() local 46 struct anx9805_pad *pad = bus->pad; in anx9805_bus_xfer() 47 struct i2c_adapter *adap = &pad->bus->i2c; in anx9805_bus_xfer() 49 int ret = -ETIMEDOUT; in anx9805_bus_xfer() 53 tmp = nvkm_rdi2cr(adap, pad->addr, 0x07) & ~0x10; in anx9805_bus_xfer() 54 nvkm_wri2cr(adap, pad->addr, 0x07, tmp | 0x10); in anx9805_bus_xfer() [all …]
|
| D | busnv50.c | 25 #include "bus.h" 31 u32 addr; member 38 struct nv50_i2c_bus *bus = nv50_i2c_bus(base); in nv50_i2c_bus_drive_scl() local 39 struct nvkm_device *device = bus->base.pad->i2c->subdev.device; in nv50_i2c_bus_drive_scl() 40 if (state) bus->data |= 0x01; in nv50_i2c_bus_drive_scl() 41 else bus->data &= 0xfe; in nv50_i2c_bus_drive_scl() 42 nvkm_wr32(device, bus->addr, bus->data); in nv50_i2c_bus_drive_scl() 48 struct nv50_i2c_bus *bus = nv50_i2c_bus(base); in nv50_i2c_bus_drive_sda() local 49 struct nvkm_device *device = bus->base.pad->i2c->subdev.device; in nv50_i2c_bus_drive_sda() 50 if (state) bus->data |= 0x02; in nv50_i2c_bus_drive_sda() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/ |
| D | anx9805.c | 28 #include "bus.h" 32 struct nvkm_i2c_bus *bus; member 33 u8 addr; member 39 u8 addr; member 45 struct anx9805_bus *bus = anx9805_bus(base); in anx9805_bus_xfer() local 46 struct anx9805_pad *pad = bus->pad; in anx9805_bus_xfer() 47 struct i2c_adapter *adap = &pad->bus->i2c; in anx9805_bus_xfer() 49 int ret = -ETIMEDOUT; in anx9805_bus_xfer() 53 tmp = nvkm_rdi2cr(adap, pad->addr, 0x07) & ~0x10; in anx9805_bus_xfer() 54 nvkm_wri2cr(adap, pad->addr, 0x07, tmp | 0x10); in anx9805_bus_xfer() [all …]
|
| D | busnv50.c | 25 #include "bus.h" 31 u32 addr; member 38 struct nv50_i2c_bus *bus = nv50_i2c_bus(base); in nv50_i2c_bus_drive_scl() local 39 struct nvkm_device *device = bus->base.pad->i2c->subdev.device; in nv50_i2c_bus_drive_scl() 40 if (state) bus->data |= 0x01; in nv50_i2c_bus_drive_scl() 41 else bus->data &= 0xfe; in nv50_i2c_bus_drive_scl() 42 nvkm_wr32(device, bus->addr, bus->data); in nv50_i2c_bus_drive_scl() 48 struct nv50_i2c_bus *bus = nv50_i2c_bus(base); in nv50_i2c_bus_drive_sda() local 49 struct nvkm_device *device = bus->base.pad->i2c->subdev.device; in nv50_i2c_bus_drive_sda() 50 if (state) bus->data |= 0x02; in nv50_i2c_bus_drive_sda() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/dsa/sja1105/ |
| D | sja1105_mdio.c | 1 // SPDX-License-Identifier: GPL-2.0 4 #include <linux/pcs/pcs-xpcs.h> 10 int sja1105_pcs_mdio_read_c45(struct mii_bus *bus, int phy, int mmd, int reg) in sja1105_pcs_mdio_read_c45() argument 12 struct sja1105_mdio_private *mdio_priv = bus->priv; in sja1105_pcs_mdio_read_c45() 13 struct sja1105_private *priv = mdio_priv->priv; in sja1105_pcs_mdio_read_c45() 14 u64 addr; in sja1105_pcs_mdio_read_c45() local 18 addr = (mmd << 16) | reg; in sja1105_pcs_mdio_read_c45() 28 rc = sja1105_xfer_u32(priv, SPI_READ, addr, &tmp, NULL); in sja1105_pcs_mdio_read_c45() 35 int sja1105_pcs_mdio_write_c45(struct mii_bus *bus, int phy, int mmd, in sja1105_pcs_mdio_write_c45() argument 38 struct sja1105_mdio_private *mdio_priv = bus->priv; in sja1105_pcs_mdio_write_c45() [all …]
|
| /kernel/linux/linux-5.10/drivers/media/pci/cx25821/ |
| D | cx25821-i2c.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 22 MODULE_PARM_DESC(i2c_scan, "scan i2c bus at insmod time"); 27 printk(KERN_DEBUG "%s/0: " fmt, dev->name, ##arg); \ 38 struct cx25821_i2c *bus = i2c_adap->algo_data; in i2c_slave_did_ack() local 39 struct cx25821_dev *dev = bus->dev; in i2c_slave_did_ack() 40 return cx_read(bus->reg_stat) & 0x01; in i2c_slave_did_ack() 45 struct cx25821_i2c *bus = i2c_adap->algo_data; in i2c_is_busy() local 46 struct cx25821_dev *dev = bus->dev; in i2c_is_busy() 47 return cx_read(bus->reg_stat) & 0x02 ? 1 : 0; in i2c_is_busy() 69 struct cx25821_i2c *bus = i2c_adap->algo_data; in i2c_sendbytes() local [all …]
|
| /kernel/linux/linux-6.6/drivers/media/pci/cx25821/ |
| D | cx25821-i2c.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 22 MODULE_PARM_DESC(i2c_scan, "scan i2c bus at insmod time"); 27 printk(KERN_DEBUG "%s/0: " fmt, dev->name, ##arg); \ 38 struct cx25821_i2c *bus = i2c_adap->algo_data; in i2c_slave_did_ack() local 39 struct cx25821_dev *dev = bus->dev; in i2c_slave_did_ack() 40 return cx_read(bus->reg_stat) & 0x01; in i2c_slave_did_ack() 45 struct cx25821_i2c *bus = i2c_adap->algo_data; in i2c_is_busy() local 46 struct cx25821_dev *dev = bus->dev; in i2c_is_busy() 47 return cx_read(bus->reg_stat) & 0x02 ? 1 : 0; in i2c_is_busy() 69 struct cx25821_i2c *bus = i2c_adap->algo_data; in i2c_sendbytes() local [all …]
|
| /kernel/linux/linux-6.6/drivers/pci/controller/ |
| D | pci-thunder-ecam.c | 1 // SPDX-License-Identifier: GPL-2.0 11 #include <linux/pci-ecam.h> 29 static int handle_ea_bar(u32 e0, int bar, struct pci_bus *bus, in handle_ea_bar() argument 32 void __iomem *addr; in handle_ea_bar() local 35 /* Entries are 16-byte aligned; bits[2,3] select word in entry */ in handle_ea_bar() 43 addr = bus->ops->map_bus(bus, devfn, bar); /* BAR 0 */ in handle_ea_bar() 44 if (!addr) in handle_ea_bar() 47 v = readl(addr); in handle_ea_bar() 49 v |= 2; /* EA entry-1. Base-L */ in handle_ea_bar() 57 addr = bus->ops->map_bus(bus, devfn, bar); /* BAR 0 */ in handle_ea_bar() [all …]
|
| /kernel/linux/linux-6.6/arch/powerpc/platforms/maple/ |
| D | pci.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 19 #include <asm/pci-bridge.h> 22 #include <asm/ppc-pci.h> 23 #include <asm/isa-bridge.h> 37 for (; node; node = node->sibling) { in fixup_one_level_bus_range() 42 /* For PCI<->PCI bridges or CardBus bridges, we go down */ in fixup_one_level_bus_range() 43 class_code = of_get_property(node, "class-code", NULL); in fixup_one_level_bus_range() 47 bus_range = of_get_property(node, "bus-range", &len); in fixup_one_level_bus_range() 52 higher = fixup_one_level_bus_range(node->child, higher); in fixup_one_level_bus_range() 57 /* This routine fixes the "bus-range" property of all bridges in the [all …]
|
| /kernel/linux/linux-5.10/arch/powerpc/platforms/maple/ |
| D | pci.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 19 #include <asm/pci-bridge.h> 22 #include <asm/ppc-pci.h> 23 #include <asm/isa-bridge.h> 37 for (; node != 0;node = node->sibling) { in fixup_one_level_bus_range() 42 /* For PCI<->PCI bridges or CardBus bridges, we go down */ in fixup_one_level_bus_range() 43 class_code = of_get_property(node, "class-code", NULL); in fixup_one_level_bus_range() 47 bus_range = of_get_property(node, "bus-range", &len); in fixup_one_level_bus_range() 52 higher = fixup_one_level_bus_range(node->child, higher); in fixup_one_level_bus_range() 57 /* This routine fixes the "bus-range" property of all bridges in the [all …]
|
| /kernel/linux/linux-5.10/drivers/pci/controller/ |
| D | pci-thunder-ecam.c | 1 // SPDX-License-Identifier: GPL-2.0 11 #include <linux/pci-ecam.h> 29 static int handle_ea_bar(u32 e0, int bar, struct pci_bus *bus, in handle_ea_bar() argument 32 void __iomem *addr; in handle_ea_bar() local 35 /* Entries are 16-byte aligned; bits[2,3] select word in entry */ in handle_ea_bar() 43 addr = bus->ops->map_bus(bus, devfn, bar); /* BAR 0 */ in handle_ea_bar() 44 if (!addr) { in handle_ea_bar() 48 v = readl(addr); in handle_ea_bar() 50 v |= 2; /* EA entry-1. Base-L */ in handle_ea_bar() 58 addr = bus->ops->map_bus(bus, devfn, bar); /* BAR 0 */ in handle_ea_bar() [all …]
|
| /kernel/linux/linux-5.10/drivers/soundwire/ |
| D | bus.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) 2 // Copyright(c) 2015-17 Intel Corporation. 10 #include "bus.h" 15 static int sdw_get_id(struct sdw_bus *bus) in sdw_get_id() argument 22 bus->id = rc; in sdw_get_id() 27 * sdw_bus_master_add() - add a bus Master instance 28 * @bus: bus instance 32 * Initializes the bus instance, read properties and create child 35 int sdw_bus_master_add(struct sdw_bus *bus, struct device *parent, in sdw_bus_master_add() argument 43 return -ENODEV; in sdw_bus_master_add() [all …]
|
| /kernel/linux/linux-6.6/include/trace/events/ |
| D | fsi_master_i2cr.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 15 __field(int, bus) 18 __field(unsigned short, addr) 21 __entry->bus = client->adapter->nr; 22 __entry->rc = rc; 23 memcpy(__entry->command, &command, sizeof(uint32_t)); 24 __entry->addr = client->addr; 26 TP_printk("%d-%02x command:{ %*ph } rc:%d", __entry->bus, __entry->addr, 27 (int)sizeof(uint32_t), __entry->command, __entry->rc) 34 __field(int, bus) [all …]
|
| /kernel/linux/linux-6.6/drivers/soundwire/ |
| D | bus.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) 2 // Copyright(c) 2015-17 Intel Corporation. 11 #include "bus.h" 17 static int sdw_get_id(struct sdw_bus *bus) in sdw_get_id() argument 24 bus->id = rc; in sdw_get_id() 26 if (bus->controller_id == -1) in sdw_get_id() 27 bus->controller_id = rc; in sdw_get_id() 33 * sdw_bus_master_add() - add a bus Master instance 34 * @bus: bus instance 38 * Initializes the bus instance, read properties and create child [all …]
|
| /kernel/linux/linux-5.10/drivers/of/ |
| D | fdt_address.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * FDT Address translation based on u-boot fdt_support.c which in turn was 9 * Copyright 2010-2011 Freescale Semiconductor, Inc. 27 static void __init of_dump_addr(const char *s, const __be32 *addr, int na) in of_dump_addr() argument 30 while(na--) in of_dump_addr() 31 pr_cont(" %08x", *(addr++)); in of_dump_addr() 35 static void __init of_dump_addr(const char *s, const __be32 *addr, int na) { } in of_dump_addr() argument 38 /* Callbacks for bus specific translators */ 42 u64 (*map)(__be32 *addr, const __be32 *range, 44 int (*translate)(__be32 *addr, u64 offset, int na); [all …]
|
| /kernel/linux/linux-6.6/drivers/of/ |
| D | fdt_address.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * FDT Address translation based on u-boot fdt_support.c which in turn was 9 * Copyright 2010-2011 Freescale Semiconductor, Inc. 27 static void __init of_dump_addr(const char *s, const __be32 *addr, int na) in of_dump_addr() argument 30 while(na--) in of_dump_addr() 31 pr_cont(" %08x", *(addr++)); in of_dump_addr() 35 static void __init of_dump_addr(const char *s, const __be32 *addr, int na) { } in of_dump_addr() argument 38 /* Callbacks for bus specific translators */ 42 u64 (*map)(__be32 *addr, const __be32 *range, 44 int (*translate)(__be32 *addr, u64 offset, int na); [all …]
|
| /kernel/linux/linux-6.6/drivers/infiniband/hw/hfi1/ |
| D | qsfp.c | 1 // SPDX-License-Identifier: GPL-2.0 or BSD-3-Clause 12 /* for the given bus number, return the CSR for reading an i2c line */ 18 /* for the given bus number, return the CSR for writing an i2c line */ 26 struct hfi1_i2c_bus *bus = (struct hfi1_i2c_bus *)data; in hfi1_setsda() local 27 struct hfi1_devdata *dd = bus->controlling_dd; in hfi1_setsda() 31 target_oe = i2c_oe_csr(bus->num); in hfi1_setsda() 50 struct hfi1_i2c_bus *bus = (struct hfi1_i2c_bus *)data; in hfi1_setscl() local 51 struct hfi1_devdata *dd = bus->controlling_dd; in hfi1_setscl() 55 target_oe = i2c_oe_csr(bus->num); in hfi1_setscl() 74 struct hfi1_i2c_bus *bus = (struct hfi1_i2c_bus *)data; in hfi1_getsda() local [all …]
|
| /kernel/linux/linux-5.10/drivers/net/pcs/ |
| D | pcs-lynx.c | 1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 8 #include <linux/pcs-lynx.h> 36 struct mii_bus *bus = pcs->bus; in lynx_pcs_get_state_usxgmii() local 37 int addr = pcs->addr; in lynx_pcs_get_state_usxgmii() local 40 status = mdiobus_c45_read(bus, addr, MDIO_MMD_VEND2, MII_BMSR); in lynx_pcs_get_state_usxgmii() 44 state->link = !!(status & MDIO_STAT1_LSTATUS); in lynx_pcs_get_state_usxgmii() 45 state->an_complete = !!(status & MDIO_AN_STAT1_COMPLETE); in lynx_pcs_get_state_usxgmii() 46 if (!state->link || !state->an_complete) in lynx_pcs_get_state_usxgmii() 49 lpa = mdiobus_c45_read(bus, addr, MDIO_MMD_VEND2, MII_LPA); in lynx_pcs_get_state_usxgmii() 59 struct mii_bus *bus = pcs->bus; in lynx_pcs_get_state_2500basex() local [all …]
|
| /kernel/linux/linux-6.6/include/sound/ |
| D | hdaudio.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * HD-audio core stuff 12 #include <linux/io-64-nonatomic-lo-hi.h> 34 * exported bus type 50 * HD-audio codec base device 55 struct hdac_bus *bus; member 56 unsigned int addr; /* codec address */ member 57 struct list_head list; /* list point for bus codec_list */ 121 int snd_hdac_device_init(struct hdac_device *dev, struct hdac_bus *bus, 122 const char *name, unsigned int addr); [all …]
|