/Linux-v6.1/drivers/mtd/maps/ |
D | physmap-bt1-rom.c | 1 // SPDX-License-Identifier: GPL-2.0-only 8 * Baikal-T1 Physically Mapped Internal ROM driver 22 #include "physmap-bt1-rom.h" 25 * Baikal-T1 SoC ROMs are only accessible by the dword-aligned instructions. 26 * We have to take this into account when implementing the data read-methods. 27 * Note there is no need in bothering with endianness, since both Baikal-T1 33 void __iomem *src = map->virt + ofs; in bt1_rom_map_read() 34 unsigned int shift; in bt1_rom_map_read() local 36 u32 data; in bt1_rom_map_read() local 38 /* Read data within offset dword. */ in bt1_rom_map_read() [all …]
|
/Linux-v6.1/drivers/clk/meson/ |
D | axg.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * AmLogic Meson-AXG Clock Controller Driver 12 #include <linux/clk-provider.h> 18 #include "clk-regmap.h" 19 #include "clk-pll.h" 20 #include "clk-mpll.h" 22 #include "meson-eeclk.h" 27 .data = &(struct meson_clk_pll_data){ 30 .shift = 30, 35 .shift = 0, [all …]
|
D | gxbb.c | 1 // SPDX-License-Identifier: GPL-2.0 7 #include <linux/clk-provider.h> 14 #include "clk-regmap.h" 15 #include "clk-pll.h" 16 #include "clk-mpll.h" 17 #include "meson-eeclk.h" 18 #include "vid-pll-div.h" 87 .data = &(struct meson_clk_pll_data){ 90 .shift = 30, 95 .shift = 0, [all …]
|
D | g12a.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Amlogic Meson-G12A Clock Controller Driver 13 #include <linux/clk-provider.h> 20 #include "clk-mpll.h" 21 #include "clk-pll.h" 22 #include "clk-regmap.h" 23 #include "clk-cpu-dyndiv.h" 24 #include "vid-pll-div.h" 25 #include "meson-eeclk.h" 31 .data = &(struct meson_clk_pll_data){ [all …]
|
D | g12a-aoclk.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Amlogic Meson-AXG Clock Controller Driver 11 #include <linux/clk-provider.h> 13 #include <linux/reset-controller.h> 16 #include "meson-aoclk.h" 17 #include "g12a-aoclk.h" 19 #include "clk-regmap.h" 20 #include "clk-dualdiv.h" 24 * Register offsets from the data sheet must be multiplied by 4. 46 .data = &(struct clk_regmap_gate_data) { \ [all …]
|
D | clk-regmap.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 10 #include <linux/clk-provider.h> 14 * struct clk_regmap - regmap backed clock 16 * @hw: handle between common and hardware-specific interfaces 18 * @data: data specific to the clock type 21 * of the clock is controlled by the clock_ops and data. 26 void *data; member 35 * struct clk_regmap_gate_data - regmap backed gate specific data 39 * @flags: hardware-specific flags 53 return (struct clk_regmap_gate_data *)clk->data; in clk_get_regmap_gate_data() [all …]
|
D | meson8b.c | 1 // SPDX-License-Identifier: GPL-2.0 11 #include <linux/clk-provider.h> 15 #include <linux/reset-controller.h> 20 #include "clk-regmap.h" 21 #include "clk-pll.h" 22 #include "clk-mpll.h" 56 .data = &(struct meson_clk_pll_data){ 59 .shift = 30, 64 .shift = 0, 69 .shift = 9, [all …]
|
/Linux-v6.1/arch/arm64/lib/ |
D | csum.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 // Copyright (C) 2019-2020 Arm Ltd. 5 #include <linux/kasan-checks.h> 10 /* Looks dumb, but generates nice-ish code */ 11 static u64 accumulate(u64 sum, u64 data) in accumulate() argument 13 __uint128_t tmp = (__uint128_t)sum + data; in accumulate() 18 * We over-read the buffer and this makes KASAN unhappy. Instead, disable 23 unsigned int offset, shift, sum; in do_csum() local 25 u64 data, sum64 = 0; in do_csum() local 34 * should absolutely not be pointing to anything read-sensitive. We do, in do_csum() [all …]
|
/Linux-v6.1/arch/sh/drivers/pci/ |
D | ops-sh4.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Generic SH-4 / SH-4A PCIC operations (SH7751, SH7780). 5 * Copyright (C) 2002 - 2009 Paul Mundt 11 #include "pci-sh4.h" 17 (0x80000000 | (bus->number << 16) | (devfn << 8) | (where & ~3)) 25 struct pci_channel *chan = bus->sysdata; in sh4_pci_read() 27 u32 data; in sh4_pci_read() local 35 data = pci_read_reg(chan, SH4_PCIPDR); in sh4_pci_read() 40 *val = (data >> ((where & 3) << 3)) & 0xff; in sh4_pci_read() 43 *val = (data >> ((where & 2) << 3)) & 0xffff; in sh4_pci_read() [all …]
|
/Linux-v6.1/kernel/time/ |
D | vsyscall.c | 1 // SPDX-License-Identifier: GPL-2.0 24 vdata[CS_HRES_COARSE].cycle_last = tk->tkr_mono.cycle_last; in update_vdso_data() 25 vdata[CS_HRES_COARSE].mask = tk->tkr_mono.mask; in update_vdso_data() 26 vdata[CS_HRES_COARSE].mult = tk->tkr_mono.mult; in update_vdso_data() 27 vdata[CS_HRES_COARSE].shift = tk->tkr_mono.shift; in update_vdso_data() 28 vdata[CS_RAW].cycle_last = tk->tkr_raw.cycle_last; in update_vdso_data() 29 vdata[CS_RAW].mask = tk->tkr_raw.mask; in update_vdso_data() 30 vdata[CS_RAW].mult = tk->tkr_raw.mult; in update_vdso_data() 31 vdata[CS_RAW].shift = tk->tkr_raw.shift; in update_vdso_data() 35 vdso_ts->sec = tk->xtime_sec + tk->wall_to_monotonic.tv_sec; in update_vdso_data() [all …]
|
/Linux-v6.1/drivers/gpu/drm/nouveau/nvkm/subdev/gpio/ |
D | nv50.c | 29 struct nvkm_device *device = gpio->subdev.device; in nv50_gpio_reset() 30 struct nvkm_bios *bios = device->bios; in nv50_gpio_reset() 33 int ent = -1; in nv50_gpio_reset() 37 u32 data = nvbios_rd32(bios, entry); in nv50_gpio_reset() local 38 u8 line = (data & 0x0000001f); in nv50_gpio_reset() 39 u8 func = (data & 0x0000ff00) >> 8; in nv50_gpio_reset() 40 u8 defs = !!(data & 0x01000000); in nv50_gpio_reset() 41 u8 unk0 = !!(data & 0x02000000); in nv50_gpio_reset() 42 u8 unk1 = !!(data & 0x04000000); in nv50_gpio_reset() 58 nv50_gpio_location(int line, u32 *reg, u32 *shift) in nv50_gpio_location() argument [all …]
|
/Linux-v6.1/sound/soc/sprd/ |
D | sprd-mcdt.c | 1 // SPDX-License-Identifier: GPL-2.0 14 #include "sprd-mcdt.h" 121 u32 orig = readl_relaxed(mcdt->base + reg); in sprd_mcdt_update() 125 writel_relaxed(tmp, mcdt->base + reg); in sprd_mcdt_update() 155 u32 shift = MCDT_DAC_DMA_SHIFT + channel; in sprd_mcdt_dac_dma_enable() local 158 sprd_mcdt_update(mcdt, MCDT_DMA_EN, BIT(shift), BIT(shift)); in sprd_mcdt_dac_dma_enable() 160 sprd_mcdt_update(mcdt, MCDT_DMA_EN, 0, BIT(shift)); in sprd_mcdt_dac_dma_enable() 187 writel_relaxed(val, mcdt->base + reg); in sprd_mcdt_dac_write_fifo() 195 *val = readl_relaxed(mcdt->base + reg); in sprd_mcdt_adc_read_fifo() 298 u32 reg, shift = sprd_mcdt_dma_ack_shift(channel), ack = dma_chan; in sprd_mcdt_dac_dma_ack_select() local [all …]
|
/Linux-v6.1/drivers/pinctrl/samsung/ |
D | pinctrl-s3c64xx.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 // S3C64xx specific support for pinctrl-samsung driver. 7 // Based on pinctrl-exynos.c, please see the file for original copyrights. 24 #include "pinctrl-samsung.h" 112 .eint_mask = (1 << (pins)) - 1, \ 136 .eint_mask = (1 << (pins)) - 1, \ 190 .eint_mask = (1 << (pins)) - 1, \ 196 * struct s3c64xx_eint0_data - EINT0 common data 197 * @drvdata: pin controller driver data 208 * struct s3c64xx_eint0_domain_data - EINT0 per-domain data [all …]
|
/Linux-v6.1/arch/arm/mach-omap2/ |
D | vc.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 22 * struct omap_vc_common - per-VC register/bitfield data 26 * @data_shift: DATA field shift in PRM_VC_BYPASS_VAL register 27 * @slaveaddr_shift: SLAVEADDR field shift in PRM_VC_BYPASS_VAL register 28 * @regaddr_shift: REGADDR field shift in PRM_VC_BYPASS_VAL register 29 * @cmd_on_shift: ON field shift in PRM_VC_CMD_VAL_* register 30 * @cmd_onlp_shift: ONLP field shift in PRM_VC_CMD_VAL_* register 31 * @cmd_ret_shift: RET field shift in PRM_VC_CMD_VAL_* register 32 * @cmd_off_shift: OFF field shift in PRM_VC_CMD_VAL_* register 34 * @i2c_cfg_clear_mask: high-speed mode bit clear mask in I2C config register [all …]
|
/Linux-v6.1/net/sunrpc/ |
D | xdr.c | 1 // SPDX-License-Identifier: GPL-2.0-only 31 unsigned int quadlen = XDR_QUADLEN(obj->len); in xdr_encode_netobj() 34 *p++ = cpu_to_be32(obj->len); in xdr_encode_netobj() 35 memcpy(p, obj->data, obj->len); in xdr_encode_netobj() 36 return p + XDR_QUADLEN(obj->len); in xdr_encode_netobj() 47 obj->len = len; in xdr_decode_netobj() 48 obj->data = (u8 *) p; in xdr_decode_netobj() 54 * xdr_encode_opaque_fixed - Encode fixed length opaque data 56 * @ptr: pointer to data to encode (or NULL) 57 * @nbytes: size of data. [all …]
|
/Linux-v6.1/drivers/clk/hisilicon/ |
D | clkdivider-hi6220.c | 1 // SPDX-License-Identifier: GPL-2.0-only 11 #include <linux/clk-provider.h> 19 #define div_mask(width) ((1 << (width)) - 1) 22 * struct hi6220_clk_divider - divider clock for hi6220 24 * @hw: handle between common and hardware-specific interfaces 26 * @shift: shift to the divider bit field 35 u8 shift; member 51 val = readl_relaxed(dclk->reg) >> dclk->shift; in hi6220_clkdiv_recalc_rate() 52 val &= div_mask(dclk->width); in hi6220_clkdiv_recalc_rate() 54 return divider_recalc_rate(hw, parent_rate, val, dclk->table, in hi6220_clkdiv_recalc_rate() [all …]
|
/Linux-v6.1/drivers/media/pci/netup_unidvb/ |
D | netup_unidvb_ci.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * DVB CAM support for NetUP Universal Dual DVB-CI 43 /* BIT_CAM_BYPASS bit shift for SLOT 1 */ 48 writew(0x101, ndev->bmmio0 + CAM_CTRLSTAT_CLR); in netup_ci_interrupt() 55 struct netup_ci_state *state = en50221->data; in netup_unidvb_ci_slot_ts_ctl() 56 struct netup_unidvb_dev *dev = state->dev; in netup_unidvb_ci_slot_ts_ctl() 57 u16 shift = (state->nr == 1) ? CAM1_SHIFT : 0; in netup_unidvb_ci_slot_ts_ctl() local 59 dev_dbg(&dev->pci_dev->dev, "%s(): CAM_CTRLSTAT=0x%x\n", in netup_unidvb_ci_slot_ts_ctl() 60 __func__, readw(dev->bmmio0 + CAM_CTRLSTAT_READ_SET)); in netup_unidvb_ci_slot_ts_ctl() 62 return -EINVAL; in netup_unidvb_ci_slot_ts_ctl() [all …]
|
/Linux-v6.1/sound/soc/ |
D | soc-ops.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 // soc-ops.c -- Generic ASoC operations 11 // with code, comments and ideas from :- 26 #include <sound/soc-dpcm.h> 30 * snd_soc_info_enum_double - enumerated double mixer info callback 42 struct soc_enum *e = (struct soc_enum *)kcontrol->private_value; in snd_soc_info_enum_double() 44 return snd_ctl_enum_info(uinfo, e->shift_l == e->shift_r ? 1 : 2, in snd_soc_info_enum_double() 45 e->items, e->texts); in snd_soc_info_enum_double() 50 * snd_soc_get_enum_double - enumerated double mixer get callback 62 struct soc_enum *e = (struct soc_enum *)kcontrol->private_value; in snd_soc_get_enum_double() [all …]
|
/Linux-v6.1/arch/mips/cavium-octeon/executive/ |
D | cvmx-helper-jtag.c | 8 * Copyright (c) 2003-2008 Cavium Networks 15 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty 22 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 36 #include <asm/octeon/cvmx-helper-jtag.h> 50 uint32_t divisor = cvmx_sysinfo_get()->cpu_clock_hz / (25 * 1000000); in cvmx_helper_qlm_jtag_init() 51 divisor = (divisor - 1) >> 2; in cvmx_helper_qlm_jtag_init() 52 /* Convert the divisor into a power of 2 shift */ in cvmx_helper_qlm_jtag_init() 75 * into the MSB and out the LSB, so you should shift in the low 79 * @qlm: QLM to shift value into 80 * @bits: Number of bits to shift in (1-32). [all …]
|
/Linux-v6.1/drivers/mfd/ |
D | atmel-smc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 8 * Author: Boris Brezillon <boris.brezillon@free-electrons.com> 11 #include <linux/mfd/syscon/atmel-smc.h> 15 * atmel_smc_cs_conf_init - initialize a SMC CS conf 27 * atmel_smc_cs_encode_ncycles - encode a number of MCK clk cycles in the 40 * If the @ncycles value is too big to be encoded, -ERANGE is returned and 49 unsigned int lsbmask = GENMASK(msbpos - 1, 0); in atmel_smc_cs_encode_ncycles() 50 unsigned int msbmask = GENMASK(msbwidth - 1, 0); in atmel_smc_cs_encode_ncycles() 65 * We still return -ERANGE in case the caller cares. in atmel_smc_cs_encode_ncycles() 70 ret = -ERANGE; in atmel_smc_cs_encode_ncycles() [all …]
|
/Linux-v6.1/drivers/net/usb/ |
D | r8153_ecm.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 15 u8 shift = index & 2; in pla_read_word() local 19 if (shift) in pla_read_word() 20 byen <<= shift; in pla_read_word() 30 ret >>= (shift * 8); in pla_read_word() 37 static int pla_write_word(struct usbnet *dev, u16 index, u32 data) in pla_write_word() argument 41 u8 shift = index & 2; in pla_write_word() local 45 data &= mask; in pla_write_word() 47 if (shift) { in pla_write_word() 48 byen <<= shift; in pla_write_word() [all …]
|
/Linux-v6.1/drivers/hwmon/ |
D | asc7621.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * asc7621.c - Part of lm_sensors, Linux kernel modules for hardware monitoring 13 #include <linux/hwmon-sysfs.h> 71 * and data arrays. 72 * This comes from the data sheet register description table. 110 u8 shift[3]; member 125 dev_err(&client->dev, in read_byte() 132 static inline int write_byte(struct i2c_client *client, u8 reg, u8 data) in write_byte() argument 134 int res = i2c_smbus_write_byte_data(client, reg, data); in write_byte() 136 dev_err(&client->dev, in write_byte() [all …]
|
/Linux-v6.1/arch/riscv/kvm/ |
D | vcpu_insn.c | 1 // SPDX-License-Identifier: GPL-2.0 89 #define RV_X(x, s, n) (((x) >> (s)) & ((1 << (n)) - 1)) 110 ((y) < 0 ? ((x) << -(y)) : ((x) >> (y))) 113 ((1 << (5 + LOG_REGBYTES)) - (1 << LOG_REGBYTES)) 116 (SHIFT_RIGHT((insn), (pos) - LOG_REGBYTES) & REG_MASK) 140 * 2) Returns 0 for exit to user-space 157 utrap.sepc = vcpu->arch.guest_context.sepc; in truly_illegal_insn() 173 utrap.sepc = vcpu->arch.guest_context.sepc; in truly_virtual_insn() 184 * kvm_riscv_vcpu_wfi -- Emulate wait for interrupt (WFI) behaviour 199 vcpu->stat.wfi_exit_stat++; in wfi_insn() [all …]
|
/Linux-v6.1/include/linux/ |
D | clk-provider.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Copyright (c) 2010-2011 Jeremy Kerr <jeremy.kerr@canonical.com> 4 * Copyright (C) 2011-2012 Linaro Ltd <mturquette@linaro.org> 14 * top-level framework. custom flags for dealing with hardware specifics 20 #define CLK_SET_PARENT_GATE BIT(1) /* must be gated across re-parent */ 26 #define CLK_SET_RATE_NO_REPARENT BIT(7) /* don't re-parent on rate change */ 31 /* parents need enable during gate/ungate, set rate and re-parent */ 42 * struct clk_rate_request - Structure encoding the clk constraints that 75 * struct clk_duty - Struture encoding the duty cycle ratio of a clock 86 * struct clk_ops - Callback operations for hardware clocks; these are to [all …]
|
/Linux-v6.1/drivers/iio/potentiometer/ |
D | ad5110.c | 1 // SPDX-License-Identifier: GPL-2.0+ 7 …* Datasheet: https://www.analog.com/media/en/technical-documentation/data-sheets/AD5110_5112_5114.… 27 /* AD5110_EEPROM_RD data */ 36 int shift; member 52 [AD5112_05] = { .max_pos = 64, .kohms = 5, .shift = 1 }, 53 [AD5112_10] = { .max_pos = 64, .kohms = 10, .shift = 1 }, 54 [AD5112_80] = { .max_pos = 64, .kohms = 80, .shift = 1 }, 55 [AD5114_10] = { .max_pos = 32, .kohms = 10, .shift = 2 }, 56 [AD5114_80] = { .max_pos = 32, .kohms = 80, .shift = 2 }, 81 static int ad5110_read(struct ad5110_data *data, u8 cmd, int *val) in ad5110_read() argument [all …]
|