/linux/drivers/net/ethernet/atheros/alx/ |
H A D | hw.c | 39 #include "hw.h" 46 static int alx_wait_mdio_idle(struct alx_hw *hw) in alx_wait_mdio_idle() argument 52 val = alx_read_mem32(hw, ALX_MDIO); in alx_wait_mdio_idle() 61 static int alx_read_phy_core(struct alx_hw *hw, bool ext, u8 dev, in alx_read_phy_core() argument 70 clk_sel = hw->link_speed != SPEED_UNKNOWN ? in alx_read_phy_core() 77 alx_write_mem32(hw, ALX_MDIO_EXTN, val); in alx_read_phy_core() 88 alx_write_mem32(hw, ALX_MDIO, val); in alx_read_phy_core() 90 err = alx_wait_mdio_idle(hw); in alx_read_phy_core() 93 val = alx_read_mem32(hw, ALX_MDIO); in alx_read_phy_core() 98 static int alx_write_phy_core(struct alx_hw *hw, bool ext, u8 dev, in alx_write_phy_core() argument [all …]
|
/linux/drivers/isdn/hardware/mISDN/ |
H A D | mISDNinfineon.c | 103 spinlock_t lock; /* HW access lock */ 268 struct inf_hw *hw = dev_id; in diva_irq() local 271 spin_lock(&hw->lock); in diva_irq() 272 val = inb((u32)hw->cfg.start + DIVA_PCI_CTRL); in diva_irq() 274 spin_unlock(&hw->lock); in diva_irq() 277 hw->irqcnt++; in diva_irq() 278 mISDNipac_irq(&hw->ipac, irqloops); in diva_irq() 279 spin_unlock(&hw->lock); in diva_irq() 286 struct inf_hw *hw = dev_id; in diva20x_irq() local 289 spin_lock(&hw->lock); in diva20x_irq() [all …]
|
H A D | hfcsusb.c | 42 static void hfcsusb_ph_command(struct hfcsusb *hw, u_char command); 43 static void release_hw(struct hfcsusb *hw); 44 static void reset_hfcsusb(struct hfcsusb *hw); 45 static void setPortMode(struct hfcsusb *hw); 46 static void hfcsusb_start_endpoint(struct hfcsusb *hw, int channel); 47 static void hfcsusb_stop_endpoint(struct hfcsusb *hw, int channel); 50 static int hfcsusb_ph_info(struct hfcsusb *hw); 54 ctrl_start_transfer(struct hfcsusb *hw) in ctrl_start_transfer() argument 57 printk(KERN_DEBUG "%s: %s\n", hw->name, __func__); in ctrl_start_transfer() 59 if (hw->ctrl_cnt) { in ctrl_start_transfer() [all …]
|
/linux/drivers/clk/sprd/ |
H A D | sc9863a-clk.c | 57 [CLK_MPLL0_GATE] = &mpll0_gate.common.hw, 58 [CLK_DPLL0_GATE] = &dpll0_gate.common.hw, 59 [CLK_LPLL_GATE] = &lpll_gate.common.hw, 60 [CLK_GPLL_GATE] = &gpll_gate.common.hw, 61 [CLK_DPLL1_GATE] = &dpll1_gate.common.hw, 62 [CLK_MPLL1_GATE] = &mpll1_gate.common.hw, 63 [CLK_MPLL2_GATE] = &mpll2_gate.common.hw, 64 [CLK_ISPPLL_GATE] = &isppll_gate.common.hw, 93 static CLK_FIXED_FACTOR_HW(twpll_768m, "twpll-768m", &twpll.common.hw, 2, 1, 0); 94 static CLK_FIXED_FACTOR_HW(twpll_384m, "twpll-384m", &twpll.common.hw, 4, 1, 0); [all …]
|
H A D | ums512-clk.c | 30 /* some pll clocks configure CLK_IGNORE_UNUSED because hw dvfs does not call 31 * clock interface. hw dvfs can not gate the pll clock. 83 [CLK_26M_AUD] = &clk_26m_aud.hw, 84 [CLK_13M] = &clk_13m.hw, 85 [CLK_6M5] = &clk_6m5.hw, 86 [CLK_4M3] = &clk_4m3.hw, 87 [CLK_2M] = &clk_2m.hw, 88 [CLK_1M] = &clk_1m.hw, 89 [CLK_250K] = &clk_250k.hw, 90 [CLK_RCO_25M] = &rco_25m.hw, [all …]
|
/linux/drivers/clk/sophgo/ |
H A D | clk-cv1800.c | 71 { .hw = &clk_mipimpll.common.hw }, 75 { .hw = &clk_mipimpll.common.hw }, 79 { .hw = &clk_fpll.common.hw }, 167 { .hw = &clk_cam0pll.common.hw }, 187 { .hw = &clk_tpll.common.hw }, 188 { .hw = &clk_a0pll.common.hw }, 189 { .hw = &clk_mipimpll.common.hw }, 190 { .hw = &clk_fpll.common.hw }, 211 { .hw = &clk_axi6.div.common.hw }, 215 { .hw = &clk_axi6.div.common.hw }, [all …]
|
/linux/drivers/clk/meson/ |
H A D | g12a.c | 64 .hw.init = &(struct clk_init_data){ 81 .hw.init = &(struct clk_init_data){ 85 &g12a_fixed_pll_dco.hw 129 .hw.init = &(struct clk_init_data){ 148 .hw.init = &(struct clk_init_data){ 152 &g12a_sys_pll_dco.hw 188 .hw.init = &(struct clk_init_data){ 207 .hw.init = &(struct clk_init_data){ 211 &g12b_sys1_pll_dco.hw 223 .hw.init = &(struct clk_init_data) { [all …]
|
H A D | meson8b.c | 90 .hw.init = &(struct clk_init_data){ 109 .hw.init = &(struct clk_init_data){ 113 &meson8b_fixed_pll_dco.hw 126 .hw.init = &(struct clk_init_data){ 209 .hw.init = &(struct clk_init_data){ 214 &hdmi_pll_dco_in.hw 227 .hw.init = &(struct clk_init_data){ 231 &meson8b_hdmi_pll_dco.hw 245 .hw.init = &(struct clk_init_data){ 249 &meson8b_hdmi_pll_dco.hw [all …]
|
H A D | gxbb.c | 119 .hw.init = &(struct clk_init_data){ 136 .hw.init = &(struct clk_init_data){ 140 &gxbb_fixed_pll_dco.hw 153 .hw.init = &(struct clk_init_data){ 196 .hw.init = &(struct clk_init_data){ 200 &gxbb_hdmi_pll_pre_mult.hw 250 .hw.init = &(struct clk_init_data){ 272 .hw.init = &(struct clk_init_data){ 276 &gxbb_hdmi_pll_dco.hw 290 .hw.init = &(struct clk_init_data){ [all …]
|
H A D | axg-audio.c | 31 .hw.init = &(struct clk_init_data) { \ 47 .hw.init = &(struct clk_init_data){ \ 63 .hw.init = &(struct clk_init_data){ \ 77 .hw.init = &(struct clk_init_data) { \ 99 .hw.init = &(struct clk_init_data) { \ 127 .hw.init = &(struct clk_init_data) { \ 144 .hw.init = &(struct clk_init_data) { \ 167 .hw.init = &(struct clk_init_data) { \ 646 .hw.init = &(struct clk_init_data) { 662 .hw.init = &(struct clk_init_data) { [all …]
|
H A D | axg.c | 59 .hw.init = &(struct clk_init_data){ 76 .hw.init = &(struct clk_init_data){ 80 &axg_fixed_pll_dco.hw 118 .hw.init = &(struct clk_init_data){ 135 .hw.init = &(struct clk_init_data){ 139 &axg_sys_pll_dco.hw 223 .hw.init = &(struct clk_init_data){ 240 .hw.init = &(struct clk_init_data){ 244 &axg_gp0_pll_dco.hw 296 .hw.init = &(struct clk_init_data){ [all …]
|
/linux/drivers/net/ethernet/atheros/atl1c/ |
H A D | atl1c_hw.c | 19 int atl1c_check_eeprom_exist(struct atl1c_hw *hw) in atl1c_check_eeprom_exist() argument 23 AT_READ_REG(hw, REG_TWSI_DEBUG, &data); in atl1c_check_eeprom_exist() 27 AT_READ_REG(hw, REG_MASTER_CTRL, &data); in atl1c_check_eeprom_exist() 33 void atl1c_hw_set_mac_addr(struct atl1c_hw *hw, u8 *mac_addr) in atl1c_hw_set_mac_addr() argument 45 AT_WRITE_REG_ARRAY(hw, REG_MAC_STA_ADDR, 0, value); in atl1c_hw_set_mac_addr() 49 AT_WRITE_REG_ARRAY(hw, REG_MAC_STA_ADDR, 1, value); in atl1c_hw_set_mac_addr() 53 static bool atl1c_read_current_addr(struct atl1c_hw *hw, u8 *eth_addr) in atl1c_read_current_addr() argument 57 AT_READ_REG(hw, REG_MAC_STA_ADDR, &addr[0]); in atl1c_read_current_addr() 58 AT_READ_REG(hw, REG_MAC_STA_ADDR + 4, &addr[1]); in atl1c_read_current_addr() 70 static int atl1c_get_permanent_address(struct atl1c_hw *hw) in atl1c_get_permanent_address() argument [all …]
|
/linux/drivers/net/ethernet/intel/iavf/ |
H A D | iavf_adminq.c | 12 * @hw: pointer to the hardware structure 14 static enum iavf_status iavf_alloc_adminq_asq_ring(struct iavf_hw *hw) in iavf_alloc_adminq_asq_ring() argument 18 ret_code = iavf_allocate_dma_mem(hw, &hw->aq.asq.desc_buf, in iavf_alloc_adminq_asq_ring() 20 (hw->aq.num_asq_entries * in iavf_alloc_adminq_asq_ring() 26 ret_code = iavf_allocate_virt_mem(hw, &hw->aq.asq.cmd_buf, in iavf_alloc_adminq_asq_ring() 27 (hw->aq.num_asq_entries * in iavf_alloc_adminq_asq_ring() 30 iavf_free_dma_mem(hw, &hw->aq.asq.desc_buf); in iavf_alloc_adminq_asq_ring() 39 * @hw: pointer to the hardware structure 41 static enum iavf_status iavf_alloc_adminq_arq_ring(struct iavf_hw *hw) in iavf_alloc_adminq_arq_ring() argument 45 ret_code = iavf_allocate_dma_mem(hw, &hw->aq.arq.desc_buf, in iavf_alloc_adminq_arq_ring() [all …]
|
/linux/drivers/vdpa/ifcvf/ |
H A D | ifcvf_base.c | 13 u16 ifcvf_set_vq_vector(struct ifcvf_hw *hw, u16 qid, int vector) in ifcvf_set_vq_vector() argument 15 struct virtio_pci_common_cfg __iomem *cfg = hw->common_cfg; in ifcvf_set_vq_vector() 23 u16 ifcvf_set_config_vector(struct ifcvf_hw *hw, int vector) in ifcvf_set_config_vector() argument 25 struct virtio_pci_common_cfg __iomem *cfg = hw->common_cfg; in ifcvf_set_config_vector() 32 static void __iomem *get_cap_addr(struct ifcvf_hw *hw, in get_cap_addr() argument 43 IFCVF_DBG(hw->pdev, in get_cap_addr() 48 if (offset + length > pci_resource_len(hw->pdev, bar)) { in get_cap_addr() 49 IFCVF_DBG(hw->pdev, in get_cap_addr() 55 return hw->base[bar] + offset; in get_cap_addr() 72 u16 ifcvf_get_vq_size(struct ifcvf_hw *hw, u16 qid) in ifcvf_get_vq_size() argument [all …]
|
/linux/drivers/scsi/csiostor/ |
H A D | csio_init.c | 68 struct csio_hw *hw = file->private_data - mem; in csio_mem_read() local 83 ret = hw->chip_ops->chip_mc_read(hw, 0, pos, in csio_mem_read() 86 ret = hw->chip_ops->chip_edc_read(hw, mem, pos, in csio_mem_read() 112 void csio_add_debugfs_mem(struct csio_hw *hw, const char *name, in csio_add_debugfs_mem() argument 115 debugfs_create_file_size(name, S_IRUSR, hw->debugfs_root, in csio_add_debugfs_mem() 116 (void *)hw + idx, &csio_mem_debugfs_fops, in csio_add_debugfs_mem() 120 static int csio_setup_debugfs(struct csio_hw *hw) in csio_setup_debugfs() argument 124 if (IS_ERR_OR_NULL(hw->debugfs_root)) in csio_setup_debugfs() 127 i = csio_rd_reg32(hw, MA_TARGET_MEM_ENABLE_A); in csio_setup_debugfs() 129 csio_add_debugfs_mem(hw, "edc0", MEM_EDC0, 5); in csio_setup_debugfs() [all …]
|
H A D | csio_isr.c | 47 struct csio_hw *hw = (struct csio_hw *) dev_id; in csio_nondata_isr() local 51 if (unlikely(!hw)) in csio_nondata_isr() 54 if (unlikely(pci_channel_offline(hw->pdev))) { in csio_nondata_isr() 55 CSIO_INC_STATS(hw, n_pcich_offline); in csio_nondata_isr() 59 spin_lock_irqsave(&hw->lock, flags); in csio_nondata_isr() 60 csio_hw_slow_intr_handler(hw); in csio_nondata_isr() 61 rv = csio_mb_isr_handler(hw); in csio_nondata_isr() 63 if (rv == 0 && !(hw->flags & CSIO_HWF_FWEVT_PENDING)) { in csio_nondata_isr() 64 hw->flags |= CSIO_HWF_FWEVT_PENDING; in csio_nondata_isr() 65 spin_unlock_irqrestore(&hw->lock, flags); in csio_nondata_isr() [all …]
|
H A D | csio_hw.c | 102 static void csio_hw_initialize(struct csio_hw *hw); 103 static void csio_evtq_stop(struct csio_hw *hw); 104 static void csio_evtq_start(struct csio_hw *hw); 106 int csio_is_hw_ready(struct csio_hw *hw) in csio_is_hw_ready() argument 108 return csio_match_state(hw, csio_hws_ready); in csio_is_hw_ready() 111 int csio_is_hw_removing(struct csio_hw *hw) in csio_is_hw_removing() argument 113 return csio_match_state(hw, csio_hws_removing); in csio_is_hw_removing() 119 * @hw: the HW module 133 csio_hw_wait_op_done_val(struct csio_hw *hw, int reg, uint32_t mask, in csio_hw_wait_op_done_val() argument 138 val = csio_rd_reg32(hw, reg); in csio_hw_wait_op_done_val() [all …]
|
/linux/drivers/spi/ |
H A D | spi-altera-core.c | 43 static int altr_spi_writel(struct altera_spi *hw, unsigned int reg, in altr_spi_writel() argument 48 ret = regmap_write(hw->regmap, hw->regoff + reg, val); in altr_spi_writel() 50 dev_err(hw->dev, "fail to write reg 0x%x val 0x%x: %d\n", in altr_spi_writel() 56 static int altr_spi_readl(struct altera_spi *hw, unsigned int reg, in altr_spi_readl() argument 61 ret = regmap_read(hw->regmap, hw->regoff + reg, val); in altr_spi_readl() 63 dev_err(hw->dev, "fail to read reg 0x%x: %d\n", reg, ret); in altr_spi_readl() 75 struct altera_spi *hw = altera_spi_to_hw(spi); in altera_spi_set_cs() local 78 hw->imr &= ~ALTERA_SPI_CONTROL_SSO_MSK; in altera_spi_set_cs() 79 altr_spi_writel(hw, ALTERA_SPI_CONTROL, hw->imr); in altera_spi_set_cs() 80 altr_spi_writel(hw, ALTERA_SPI_TARGET_SEL, 0); in altera_spi_set_cs() [all …]
|
/linux/drivers/net/fjes/ |
H A D | fjes_hw.c | 23 u32 fjes_hw_rd32(struct fjes_hw *hw, u32 reg) in fjes_hw_rd32() argument 25 u8 *base = hw->base; in fjes_hw_rd32() 33 static u8 *fjes_hw_iomap(struct fjes_hw *hw) in fjes_hw_iomap() argument 37 if (!request_mem_region(hw->hw_res.start, hw->hw_res.size, in fjes_hw_iomap() 43 base = (u8 *)ioremap(hw->hw_res.start, hw->hw_res.size); in fjes_hw_iomap() 48 static void fjes_hw_iounmap(struct fjes_hw *hw) in fjes_hw_iounmap() argument 50 iounmap(hw->base); in fjes_hw_iounmap() 51 release_mem_region(hw->hw_res.start, hw->hw_res.size); in fjes_hw_iounmap() 54 int fjes_hw_reset(struct fjes_hw *hw) in fjes_hw_reset() argument 74 static int fjes_hw_get_max_epid(struct fjes_hw *hw) in fjes_hw_get_max_epid() argument [all …]
|
/linux/drivers/scsi/elx/efct/ |
H A D | efct_hw.c | 34 efct_hw_link_event_init(struct efct_hw *hw) in efct_hw_link_event_init() argument 36 hw->link.status = SLI4_LINK_STATUS_MAX; in efct_hw_link_event_init() 37 hw->link.topology = SLI4_LINK_TOPO_NONE; in efct_hw_link_event_init() 38 hw->link.medium = SLI4_LINK_MEDIUM_MAX; in efct_hw_link_event_init() 39 hw->link.speed = 0; in efct_hw_link_event_init() 40 hw->link.loop_map = NULL; in efct_hw_link_event_init() 41 hw->link.fc_id = U32_MAX; in efct_hw_link_event_init() 47 efct_hw_read_max_dump_size(struct efct_hw *hw) in efct_hw_read_max_dump_size() argument 50 struct efct *efct = hw->os; in efct_hw_read_max_dump_size() 58 if (sli_cmd_common_set_dump_location(&hw->sli, buf, 1, 0, NULL, 0)) in efct_hw_read_max_dump_size() [all …]
|
/linux/drivers/net/ethernet/intel/i40e/ |
H A D | i40e_nvm.c | 11 * @hw: pointer to the HW structure 19 int i40e_init_nvm(struct i40e_hw *hw) in i40e_init_nvm() argument 21 struct i40e_nvm_info *nvm = &hw->nvm; in i40e_init_nvm() 29 gens = rd32(hw, I40E_GLNVM_GENS); in i40e_init_nvm() 35 fla = rd32(hw, I40E_GLNVM_FLA); in i40e_init_nvm() 43 i40e_debug(hw, I40E_DEBUG_NVM, "NVM init error: unsupported blank mode.\n"); in i40e_init_nvm() 51 * @hw: pointer to the HW structure 57 int i40e_acquire_nvm(struct i40e_hw *hw, in i40e_acquire_nvm() argument 64 if (hw->nvm.blank_nvm_mode) in i40e_acquire_nvm() 67 ret_code = i40e_aq_request_resource(hw, I40E_NVM_RESOURCE_ID, access, in i40e_acquire_nvm() [all …]
|
/linux/drivers/clk/sunxi-ng/ |
H A D | ccu-sun5i.c | 34 .hw.init = CLK_HW_INIT("pll-core", 74 .hw.init = CLK_HW_INIT("pll-audio-base", 91 .hw.init = CLK_HW_INIT("pll-video0", 106 .hw.init = CLK_HW_INIT("pll-ve", 119 .hw.init = CLK_HW_INIT("pll-ddr-base", 134 .hw.init = CLK_HW_INIT("pll-ddr-other", "pll-ddr-base", 148 .hw.init = CLK_HW_INIT("pll-periph", 165 .hw.init = CLK_HW_INIT("pll-video1", 190 .hw.init = CLK_HW_INIT_PARENTS("cpu", 214 .hw.init = CLK_HW_INIT_PARENTS("ahb", [all …]
|
/linux/drivers/tty/ipwireless/ |
H A D | hardware.c | 31 static void ipw_send_setup_packet(struct ipw_hardware *hw); 37 static void handle_received_CTRL_packet(struct ipw_hardware *hw, 239 /* Flag if hw is ready to send next packet */ 404 static void do_send_fragment(struct ipw_hardware *hw, unsigned char *data, in do_send_fragment() argument 411 BUG_ON(length > hw->ll_mtu); in do_send_fragment() 416 spin_lock_irqsave(&hw->lock, flags); in do_send_fragment() 418 hw->tx_ready = 0; in do_send_fragment() 421 if (hw->hw_version == HW_VERSION_1) { in do_send_fragment() 422 outw((unsigned short) length, hw->base_port + IODWR); in do_send_fragment() 431 outw(raw_data, hw->base_port + IODWR); in do_send_fragment() [all …]
|
/linux/drivers/net/ethernet/intel/ixgbe/ |
H A D | ixgbe_common.h | 10 u16 ixgbe_get_pcie_msix_count_generic(struct ixgbe_hw *hw); 11 int ixgbe_init_hw_generic(struct ixgbe_hw *hw); 12 int ixgbe_start_hw_generic(struct ixgbe_hw *hw); 13 int ixgbe_start_hw_gen2(struct ixgbe_hw *hw); 14 int ixgbe_clear_hw_cntrs_generic(struct ixgbe_hw *hw); 15 int ixgbe_read_pba_string_generic(struct ixgbe_hw *hw, u8 *pba_num, 17 int ixgbe_get_mac_addr_generic(struct ixgbe_hw *hw, u8 *mac_addr); 20 int ixgbe_get_bus_info_generic(struct ixgbe_hw *hw); 21 void ixgbe_set_lan_id_multi_port_pcie(struct ixgbe_hw *hw); 22 int ixgbe_stop_adapter_generic(struct ixgbe_hw *hw); [all …]
|
/linux/drivers/net/ethernet/intel/e1000e/ |
H A D | 80003es2lan.c | 21 static s32 e1000_setup_copper_link_80003es2lan(struct e1000_hw *hw); 22 static s32 e1000_acquire_swfw_sync_80003es2lan(struct e1000_hw *hw, u16 mask); 23 static void e1000_release_swfw_sync_80003es2lan(struct e1000_hw *hw, u16 mask); 24 static void e1000_initialize_hw_bits_80003es2lan(struct e1000_hw *hw); 25 static void e1000_clear_hw_cntrs_80003es2lan(struct e1000_hw *hw); 26 static s32 e1000_cfg_kmrn_1000_80003es2lan(struct e1000_hw *hw); 27 static s32 e1000_cfg_kmrn_10_100_80003es2lan(struct e1000_hw *hw, u16 duplex); 28 static s32 e1000_read_kmrn_reg_80003es2lan(struct e1000_hw *hw, u32 offset, 30 static s32 e1000_write_kmrn_reg_80003es2lan(struct e1000_hw *hw, u32 offset, 32 static void e1000_power_down_phy_copper_80003es2lan(struct e1000_hw *hw); [all …]
|