/linux-6.6.21/drivers/pinctrl/meson/ |
D | pinctrl-meson.c | 72 static int meson_get_bank(struct meson_pinctrl *pc, unsigned int pin, in meson_get_bank() argument 77 for (i = 0; i < pc->data->num_banks; i++) { in meson_get_bank() 78 if (pin >= pc->data->banks[i].first && in meson_get_bank() 79 pin <= pc->data->banks[i].last) { in meson_get_bank() 80 *bank = &pc->data->banks[i]; in meson_get_bank() 110 struct meson_pinctrl *pc = pinctrl_dev_get_drvdata(pcdev); in meson_get_groups_count() local 112 return pc->data->num_groups; in meson_get_groups_count() 118 struct meson_pinctrl *pc = pinctrl_dev_get_drvdata(pcdev); in meson_get_group_name() local 120 return pc->data->groups[selector].name; in meson_get_group_name() 126 struct meson_pinctrl *pc = pinctrl_dev_get_drvdata(pcdev); in meson_get_group_pins() local [all …]
|
/linux-6.6.21/drivers/bcma/ |
D | driver_pci.c | 20 u32 bcma_pcie_read(struct bcma_drv_pci *pc, u32 address) in bcma_pcie_read() argument 22 pcicore_write32(pc, BCMA_CORE_PCI_PCIEIND_ADDR, address); in bcma_pcie_read() 23 pcicore_read32(pc, BCMA_CORE_PCI_PCIEIND_ADDR); in bcma_pcie_read() 24 return pcicore_read32(pc, BCMA_CORE_PCI_PCIEIND_DATA); in bcma_pcie_read() 27 static void bcma_pcie_write(struct bcma_drv_pci *pc, u32 address, u32 data) in bcma_pcie_write() argument 29 pcicore_write32(pc, BCMA_CORE_PCI_PCIEIND_ADDR, address); in bcma_pcie_write() 30 pcicore_read32(pc, BCMA_CORE_PCI_PCIEIND_ADDR); in bcma_pcie_write() 31 pcicore_write32(pc, BCMA_CORE_PCI_PCIEIND_DATA, data); in bcma_pcie_write() 34 static void bcma_pcie_mdio_set_phy(struct bcma_drv_pci *pc, u16 phy) in bcma_pcie_mdio_set_phy() argument 47 pcicore_write32(pc, BCMA_CORE_PCI_MDIO_DATA, v); in bcma_pcie_mdio_set_phy() [all …]
|
D | driver_pci_host.c | 28 bool bcma_core_pci_is_in_hostmode(struct bcma_drv_pci *pc) in bcma_core_pci_is_in_hostmode() argument 30 struct bcma_bus *bus = pc->core->bus; in bcma_core_pci_is_in_hostmode() 39 bcma_core_enable(pc->core, 0); in bcma_core_pci_is_in_hostmode() 41 return !mips_busprobe32(tmp, pc->core->io_addr); in bcma_core_pci_is_in_hostmode() 44 static u32 bcma_pcie_read_config(struct bcma_drv_pci *pc, u32 address) in bcma_pcie_read_config() argument 46 pcicore_write32(pc, BCMA_CORE_PCI_CONFIG_ADDR, address); in bcma_pcie_read_config() 47 pcicore_read32(pc, BCMA_CORE_PCI_CONFIG_ADDR); in bcma_pcie_read_config() 48 return pcicore_read32(pc, BCMA_CORE_PCI_CONFIG_DATA); in bcma_pcie_read_config() 51 static void bcma_pcie_write_config(struct bcma_drv_pci *pc, u32 address, in bcma_pcie_write_config() argument 54 pcicore_write32(pc, BCMA_CORE_PCI_CONFIG_ADDR, address); in bcma_pcie_write_config() [all …]
|
/linux-6.6.21/drivers/pwm/ |
D | pwm-rockchip.c | 64 struct rockchip_pwm_chip *pc = to_rockchip_pwm_chip(chip); in rockchip_pwm_get_state() local 65 u32 enable_conf = pc->data->enable_conf; in rockchip_pwm_get_state() 71 ret = clk_enable(pc->pclk); in rockchip_pwm_get_state() 75 ret = clk_enable(pc->clk); in rockchip_pwm_get_state() 79 clk_rate = clk_get_rate(pc->clk); in rockchip_pwm_get_state() 81 tmp = readl_relaxed(pc->base + pc->data->regs.period); in rockchip_pwm_get_state() 82 tmp *= pc->data->prescaler * NSEC_PER_SEC; in rockchip_pwm_get_state() 85 tmp = readl_relaxed(pc->base + pc->data->regs.duty); in rockchip_pwm_get_state() 86 tmp *= pc->data->prescaler * NSEC_PER_SEC; in rockchip_pwm_get_state() 89 val = readl_relaxed(pc->base + pc->data->regs.ctrl); in rockchip_pwm_get_state() [all …]
|
D | pwm-sti.c | 123 static int sti_pwm_get_prescale(struct sti_pwm_chip *pc, unsigned long period, in sti_pwm_get_prescale() argument 126 struct sti_pwm_compat_data *cdata = pc->cdata; in sti_pwm_get_prescale() 131 clk_rate = clk_get_rate(pc->pwm_clk); in sti_pwm_get_prescale() 133 dev_err(pc->dev, "failed to get clock rate\n"); in sti_pwm_get_prescale() 167 struct sti_pwm_chip *pc = to_sti_pwmchip(chip); in sti_pwm_config() local 168 struct sti_pwm_compat_data *cdata = pc->cdata; in sti_pwm_config() 170 struct pwm_device *cur = pc->cur; in sti_pwm_config() 171 struct device *dev = pc->dev; in sti_pwm_config() 175 ncfg = hweight_long(pc->configured); in sti_pwm_config() 196 ret = clk_enable(pc->pwm_clk); in sti_pwm_config() [all …]
|
D | pwm-tiecap.c | 53 struct ecap_pwm_chip *pc = to_ecap_pwm_chip(chip); in ecap_pwm_config() local 58 c = pc->clk_rate; in ecap_pwm_config() 67 c = pc->clk_rate; in ecap_pwm_config() 73 pm_runtime_get_sync(pc->chip.dev); in ecap_pwm_config() 75 value = readw(pc->mmio_base + ECCTL2); in ecap_pwm_config() 80 writew(value, pc->mmio_base + ECCTL2); in ecap_pwm_config() 84 writel(duty_cycles, pc->mmio_base + CAP2); in ecap_pwm_config() 85 writel(period_cycles, pc->mmio_base + CAP1); in ecap_pwm_config() 92 writel(duty_cycles, pc->mmio_base + CAP4); in ecap_pwm_config() 93 writel(period_cycles, pc->mmio_base + CAP3); in ecap_pwm_config() [all …]
|
D | pwm-tiehrpwm.c | 181 static void configure_polarity(struct ehrpwm_pwm_chip *pc, int chan) in configure_polarity() argument 196 if (pc->polarity[chan] == PWM_POLARITY_INVERSED) in configure_polarity() 204 if (pc->polarity[chan] == PWM_POLARITY_INVERSED) in configure_polarity() 211 ehrpwm_modify(pc->mmio_base, aqctl_reg, aqctl_mask, aqctl_val); in configure_polarity() 221 struct ehrpwm_pwm_chip *pc = to_ehrpwm_pwm_chip(chip); in ehrpwm_pwm_config() local 230 c = pc->clk_rate; in ehrpwm_pwm_config() 239 c = pc->clk_rate; in ehrpwm_pwm_config() 250 if (pc->period_cycles[i] && in ehrpwm_pwm_config() 251 (pc->period_cycles[i] != period_cycles)) { in ehrpwm_pwm_config() 266 pc->period_cycles[pwm->hwpwm] = period_cycles; in ehrpwm_pwm_config() [all …]
|
D | pwm-tegra.c | 87 static inline u32 pwm_readl(struct tegra_pwm_chip *pc, unsigned int offset) in pwm_readl() argument 89 return readl(pc->regs + (offset << 4)); in pwm_readl() 92 static inline void pwm_writel(struct tegra_pwm_chip *pc, unsigned int offset, u32 value) in pwm_writel() argument 94 writel(value, pc->regs + (offset << 4)); in pwm_writel() 100 struct tegra_pwm_chip *pc = to_tegra_pwm_chip(chip); in tegra_pwm_config() local 119 if (period_ns < pc->min_period_ns) in tegra_pwm_config() 135 if (pc->soc->num_channels == 1) { in tegra_pwm_config() 150 if (required_clk_rate > clk_round_rate(pc->clk, required_clk_rate)) in tegra_pwm_config() 161 err = dev_pm_opp_set_rate(pc->dev, required_clk_rate); in tegra_pwm_config() 166 pc->clk_rate = clk_get_rate(pc->clk); in tegra_pwm_config() [all …]
|
D | pwm-bcm2835.c | 40 struct bcm2835_pwm *pc = to_bcm2835_pwm(chip); in bcm2835_pwm_request() local 43 value = readl(pc->base + PWM_CONTROL); in bcm2835_pwm_request() 46 writel(value, pc->base + PWM_CONTROL); in bcm2835_pwm_request() 53 struct bcm2835_pwm *pc = to_bcm2835_pwm(chip); in bcm2835_pwm_free() local 56 value = readl(pc->base + PWM_CONTROL); in bcm2835_pwm_free() 58 writel(value, pc->base + PWM_CONTROL); in bcm2835_pwm_free() 65 struct bcm2835_pwm *pc = to_bcm2835_pwm(chip); in bcm2835_pwm_apply() local 66 unsigned long rate = clk_get_rate(pc->clk); in bcm2835_pwm_apply() 73 dev_err(pc->dev, "failed to get clock rate\n"); in bcm2835_pwm_apply() 103 writel(period_cycles, pc->base + PERIOD(pwm->hwpwm)); in bcm2835_pwm_apply() [all …]
|
D | pwm-mediatek.c | 79 struct pwm_mediatek_chip *pc = to_pwm_mediatek_chip(chip); in pwm_mediatek_clk_enable() local 82 ret = clk_prepare_enable(pc->clk_top); in pwm_mediatek_clk_enable() 86 ret = clk_prepare_enable(pc->clk_main); in pwm_mediatek_clk_enable() 90 ret = clk_prepare_enable(pc->clk_pwms[pwm->hwpwm]); in pwm_mediatek_clk_enable() 97 clk_disable_unprepare(pc->clk_main); in pwm_mediatek_clk_enable() 99 clk_disable_unprepare(pc->clk_top); in pwm_mediatek_clk_enable() 107 struct pwm_mediatek_chip *pc = to_pwm_mediatek_chip(chip); in pwm_mediatek_clk_disable() local 109 clk_disable_unprepare(pc->clk_pwms[pwm->hwpwm]); in pwm_mediatek_clk_disable() 110 clk_disable_unprepare(pc->clk_main); in pwm_mediatek_clk_disable() 111 clk_disable_unprepare(pc->clk_top); in pwm_mediatek_clk_disable() [all …]
|
D | pwm-spear.c | 80 struct spear_pwm_chip *pc = to_spear_pwm_chip(chip); in spear_pwm_config() local 95 clk_rate = clk_get_rate(pc->clk); in spear_pwm_config() 124 ret = clk_enable(pc->clk); in spear_pwm_config() 128 spear_pwm_writel(pc, pwm->hwpwm, PWMCR, in spear_pwm_config() 130 spear_pwm_writel(pc, pwm->hwpwm, PWMDCR, dc); in spear_pwm_config() 131 spear_pwm_writel(pc, pwm->hwpwm, PWMPCR, pv); in spear_pwm_config() 132 clk_disable(pc->clk); in spear_pwm_config() 139 struct spear_pwm_chip *pc = to_spear_pwm_chip(chip); in spear_pwm_enable() local 143 rc = clk_enable(pc->clk); in spear_pwm_enable() 147 val = spear_pwm_readl(pc, pwm->hwpwm, PWMCR); in spear_pwm_enable() [all …]
|
D | pwm-pxa.c | 71 struct pxa_pwm_chip *pc = to_pxa_pwm_chip(chip); in pxa_pwm_config() local 78 c = clk_get_rate(pc->clk); in pxa_pwm_config() 96 writel(prescale | PWMCR_SD, pc->mmio_base + offset + PWMCR); in pxa_pwm_config() 97 writel(dc, pc->mmio_base + offset + PWMDCR); in pxa_pwm_config() 98 writel(pv, pc->mmio_base + offset + PWMPCR); in pxa_pwm_config() 106 struct pxa_pwm_chip *pc = to_pxa_pwm_chip(chip); in pxa_pwm_apply() local 113 err = clk_prepare_enable(pc->clk); in pxa_pwm_apply() 121 clk_disable_unprepare(pc->clk); in pxa_pwm_apply() 128 clk_disable_unprepare(pc->clk); in pxa_pwm_apply() 131 clk_disable_unprepare(pc->clk); in pxa_pwm_apply() [all …]
|
D | pwm-intel-lgm.c | 57 struct lgm_pwm_chip *pc = to_lgm_pwm_chip(chip); in lgm_pwm_enable() local 58 struct regmap *regmap = pc->regmap; in lgm_pwm_enable() 67 struct lgm_pwm_chip *pc = to_lgm_pwm_chip(chip); in lgm_pwm_apply() local 72 if (state->polarity != PWM_POLARITY_NORMAL || state->period < pc->period) in lgm_pwm_apply() 78 duty_cycle = min_t(u64, state->duty_cycle, pc->period); in lgm_pwm_apply() 79 val = duty_cycle * LGM_PWM_MAX_DUTY_CYCLE / pc->period; in lgm_pwm_apply() 81 ret = regmap_update_bits(pc->regmap, LGM_PWM_FAN_CON0, LGM_PWM_FAN_DC_MSK, in lgm_pwm_apply() 92 struct lgm_pwm_chip *pc = to_lgm_pwm_chip(chip); in lgm_pwm_get_state() local 95 state->enabled = regmap_test_bits(pc->regmap, LGM_PWM_FAN_CON0, in lgm_pwm_get_state() 98 state->period = pc->period; /* fixed period */ in lgm_pwm_get_state() [all …]
|
/linux-6.6.21/drivers/pinctrl/bcm/ |
D | pinctrl-bcm2835.c | 247 static inline u32 bcm2835_gpio_rd(struct bcm2835_pinctrl *pc, unsigned reg) in bcm2835_gpio_rd() argument 249 return readl(pc->base + reg); in bcm2835_gpio_rd() 252 static inline void bcm2835_gpio_wr(struct bcm2835_pinctrl *pc, unsigned reg, in bcm2835_gpio_wr() argument 255 writel(val, pc->base + reg); in bcm2835_gpio_wr() 258 static inline int bcm2835_gpio_get_bit(struct bcm2835_pinctrl *pc, unsigned reg, in bcm2835_gpio_get_bit() argument 262 return (bcm2835_gpio_rd(pc, reg) >> GPIO_REG_SHIFT(bit)) & 1; in bcm2835_gpio_get_bit() 266 static inline void bcm2835_gpio_set_bit(struct bcm2835_pinctrl *pc, in bcm2835_gpio_set_bit() argument 270 bcm2835_gpio_wr(pc, reg, BIT(GPIO_REG_SHIFT(bit))); in bcm2835_gpio_set_bit() 274 struct bcm2835_pinctrl *pc, unsigned pin) in bcm2835_pinctrl_fsel_get() argument 276 u32 val = bcm2835_gpio_rd(pc, FSEL_REG(pin)); in bcm2835_pinctrl_fsel_get() [all …]
|
D | pinctrl-bcm63xx.c | 47 struct bcm63xx_pinctrl *pc) in bcm63xx_gpio_probe() argument 55 grc.regmap = pc->regs; in bcm63xx_gpio_probe() 69 struct bcm63xx_pinctrl *pc; in bcm63xx_pinctrl_probe() local 73 pc = devm_kzalloc(dev, sizeof(*pc), GFP_KERNEL); in bcm63xx_pinctrl_probe() 74 if (!pc) in bcm63xx_pinctrl_probe() 77 platform_set_drvdata(pdev, pc); in bcm63xx_pinctrl_probe() 79 pc->dev = dev; in bcm63xx_pinctrl_probe() 80 pc->driver_data = driver_data; in bcm63xx_pinctrl_probe() 82 pc->regs = syscon_node_to_regmap(dev->parent->of_node); in bcm63xx_pinctrl_probe() 83 if (IS_ERR(pc->regs)) in bcm63xx_pinctrl_probe() [all …]
|
/linux-6.6.21/drivers/ssb/ |
D | driver_pcicore.c | 19 static u32 ssb_pcie_read(struct ssb_pcicore *pc, u32 address); 20 static void ssb_pcie_write(struct ssb_pcicore *pc, u32 address, u32 data); 21 static u16 ssb_pcie_mdio_read(struct ssb_pcicore *pc, u8 device, u8 address); 22 static void ssb_pcie_mdio_write(struct ssb_pcicore *pc, u8 device, 26 u32 pcicore_read32(struct ssb_pcicore *pc, u16 offset) in pcicore_read32() argument 28 return ssb_read32(pc->dev, offset); in pcicore_read32() 32 void pcicore_write32(struct ssb_pcicore *pc, u16 offset, u32 value) in pcicore_write32() argument 34 ssb_write32(pc->dev, offset, value); in pcicore_write32() 38 u16 pcicore_read16(struct ssb_pcicore *pc, u16 offset) in pcicore_read16() argument 40 return ssb_read16(pc->dev, offset); in pcicore_read16() [all …]
|
/linux-6.6.21/drivers/gpu/drm/bridge/imx/ |
D | imx8qxp-pixel-combiner.c | 64 struct imx8qxp_pc *pc; member 76 static inline u32 imx8qxp_pc_read(struct imx8qxp_pc *pc, unsigned int offset) in imx8qxp_pc_read() argument 78 return readl(pc->base + offset); in imx8qxp_pc_read() 82 imx8qxp_pc_write(struct imx8qxp_pc *pc, unsigned int offset, u32 value) in imx8qxp_pc_write() argument 84 writel(value, pc->base + offset); in imx8qxp_pc_write() 88 imx8qxp_pc_write_set(struct imx8qxp_pc *pc, unsigned int offset, u32 value) in imx8qxp_pc_write_set() argument 90 imx8qxp_pc_write(pc, offset + PC_REG_SET, value); in imx8qxp_pc_write_set() 94 imx8qxp_pc_write_clr(struct imx8qxp_pc *pc, unsigned int offset, u32 value) in imx8qxp_pc_write_clr() argument 96 imx8qxp_pc_write(pc, offset + PC_REG_CLR, value); in imx8qxp_pc_write_clr() 114 struct imx8qxp_pc *pc = ch->pc; in imx8qxp_pc_bridge_attach() local [all …]
|
/linux-6.6.21/arch/microblaze/kernel/ |
D | unwind.c | 77 static unsigned long *find_frame_creation(unsigned long *pc) in find_frame_creation() argument 86 for (i = 0; i < 1000; i++, pc--) { in find_frame_creation() 90 if (!kernel_text_address((unsigned long) pc)) in find_frame_creation() 93 instr = *pc; in find_frame_creation() 102 frame_size, pc); in find_frame_creation() 106 pr_debug(" Found frame creation at 0x%p, size %d\n", pc, in find_frame_creation() 108 return pc; in find_frame_creation() 125 static int lookup_prev_stack_frame(unsigned long fp, unsigned long pc, in lookup_prev_stack_frame() argument 133 if (pc != (unsigned long) &_switch_to) in lookup_prev_stack_frame() 134 prologue = find_frame_creation((unsigned long *)pc); in lookup_prev_stack_frame() [all …]
|
/linux-6.6.21/drivers/dma/mediatek/ |
D | mtk-cqdma.c | 123 struct mtk_cqdma_pchan *pc; member 145 struct mtk_cqdma_pchan **pc; member 168 static u32 mtk_dma_read(struct mtk_cqdma_pchan *pc, u32 reg) in mtk_dma_read() argument 170 return readl(pc->base + reg); in mtk_dma_read() 173 static void mtk_dma_write(struct mtk_cqdma_pchan *pc, u32 reg, u32 val) in mtk_dma_write() argument 175 writel_relaxed(val, pc->base + reg); in mtk_dma_write() 178 static void mtk_dma_rmw(struct mtk_cqdma_pchan *pc, u32 reg, in mtk_dma_rmw() argument 183 val = mtk_dma_read(pc, reg); in mtk_dma_rmw() 186 mtk_dma_write(pc, reg, val); in mtk_dma_rmw() 189 static void mtk_dma_set(struct mtk_cqdma_pchan *pc, u32 reg, u32 val) in mtk_dma_set() argument [all …]
|
/linux-6.6.21/arch/riscv/kernel/ |
D | stacktrace.c | 24 unsigned long fp, sp, pc; in walk_stackframe() local 30 pc = instruction_pointer(regs); in walk_stackframe() 34 pc = (unsigned long)walk_stackframe; in walk_stackframe() 40 pc = task->thread.ra; in walk_stackframe() 47 if (unlikely(!__kernel_text_address(pc) || (level++ >= 0 && !fn(arg, pc)))) in walk_stackframe() 58 if (regs && (regs->epc == pc) && (frame->fp & 0x7)) { in walk_stackframe() 60 pc = regs->ra; in walk_stackframe() 63 pc = ftrace_graph_ret_addr(current, NULL, frame->ra, in walk_stackframe() 65 if (pc == (unsigned long)ret_from_exception) { in walk_stackframe() 66 if (unlikely(!__kernel_text_address(pc) || !fn(arg, pc))) in walk_stackframe() [all …]
|
/linux-6.6.21/arch/csky/kernel/ |
D | stacktrace.c | 19 unsigned long fp, sp, pc; in walk_stackframe() local 24 pc = instruction_pointer(regs); in walk_stackframe() 29 pc = (unsigned long)walk_stackframe; in walk_stackframe() 34 pc = thread_saved_lr(task); in walk_stackframe() 41 if (unlikely(!__kernel_text_address(pc) || fn(pc, arg))) in walk_stackframe() 53 pc = ftrace_graph_ret_addr(current, NULL, frame->ra, in walk_stackframe() 63 unsigned long sp, pc; in walk_stackframe() local 68 pc = instruction_pointer(regs); in walk_stackframe() 71 pc = (unsigned long)walk_stackframe; in walk_stackframe() 75 pc = thread_saved_lr(task); in walk_stackframe() [all …]
|
/linux-6.6.21/arch/loongarch/kernel/ |
D | ftrace_dyn.c | 15 static int ftrace_modify_code(unsigned long pc, u32 old, u32 new, bool validate) in ftrace_modify_code() argument 20 if (larch_insn_read((void *)pc, &replaced)) in ftrace_modify_code() 27 if (larch_insn_patch_text((void *)pc, new)) in ftrace_modify_code() 34 static bool reachable_by_bl(unsigned long addr, unsigned long pc) in reachable_by_bl() argument 36 long offset = (long)addr - (long)pc; in reachable_by_bl() 65 unsigned long pc = rec->ip + LOONGARCH_INSN_SIZE; in ftrace_find_callable_addr() local 73 if (*addr != FTRACE_ADDR && *addr != FTRACE_REGS_ADDR && !reachable_by_bl(*addr, pc)) in ftrace_find_callable_addr() 80 if (reachable_by_bl(*addr, pc)) in ftrace_find_callable_addr() 94 mod = __module_text_address(pc); in ftrace_find_callable_addr() 121 unsigned long pc; in ftrace_modify_call() local [all …]
|
D | unwind_prologue.c | 65 static inline bool fix_exception(unsigned long pc) in fix_exception() argument 73 if (scan_handlers(pc - pcpu_handlers[cpu])) in fix_exception() 77 return scan_handlers(pc - eentry); in fix_exception() 84 static inline bool fix_ftrace(unsigned long pc) in fix_ftrace() argument 87 return pc == (unsigned long)ftrace_call + LOONGARCH_INSN_SIZE; in fix_ftrace() 95 if (!fix_exception(state->pc) && !fix_ftrace(state->pc)) in unwind_state_fixup() 114 unsigned long size, offset, pc; in unwind_by_prologue() local 126 state->pc = regs->csr_era; in unwind_by_prologue() 136 pc = state->pc - (state->first ? 0 : LOONGARCH_INSN_SIZE); in unwind_by_prologue() 137 if (!kallsyms_lookup_size_offset(pc, &size, &offset)) in unwind_by_prologue() [all …]
|
/linux-6.6.21/arch/xtensa/kernel/ |
D | stacktrace.c | 35 unsigned long pc = regs->pc; in xtensa_backtrace_user() local 42 frame.pc = pc; in xtensa_backtrace_user() 45 if (pc == 0 || pc >= TASK_SIZE || ufn(&frame, data)) in xtensa_backtrace_user() 73 pc = MAKE_PC_FROM_RA(a0, pc); in xtensa_backtrace_user() 80 frame.pc = pc; in xtensa_backtrace_user() 83 if (pc == 0 || pc >= TASK_SIZE || ufn(&frame, data)) in xtensa_backtrace_user() 97 pc = MAKE_PC_FROM_RA(a0, pc); in xtensa_backtrace_user() 107 frame.pc = pc; in xtensa_backtrace_user() 110 if (pc == 0 || pc >= TASK_SIZE || ufn(&frame, data)) in xtensa_backtrace_user() 121 unsigned long pc = regs->depc > VALID_DOUBLE_EXCEPTION_ADDRESS ? in xtensa_backtrace_kernel() local [all …]
|
/linux-6.6.21/arch/arm64/kernel/ |
D | ftrace.c | 48 FREGS_OFFSET("pc", pc), 150 static int ftrace_modify_code(unsigned long pc, u32 old, u32 new, in ftrace_modify_code() argument 164 if (aarch64_insn_read((void *)pc, &replaced)) in ftrace_modify_code() 170 if (aarch64_insn_patch_text_nosync((void *)pc, new)) in ftrace_modify_code() 181 unsigned long pc; in ftrace_update_ftrace_func() local 191 pc = (unsigned long)ftrace_call; in ftrace_update_ftrace_func() 192 new = aarch64_insn_gen_branch_imm(pc, (unsigned long)func, in ftrace_update_ftrace_func() 195 return ftrace_modify_code(pc, 0, new, false); in ftrace_update_ftrace_func() 209 static bool reachable_by_bl(unsigned long addr, unsigned long pc) in reachable_by_bl() argument 211 long offset = (long)addr - (long)pc; in reachable_by_bl() [all …]
|