Home
last modified time | relevance | path

Searched refs:pc (Results 1 – 25 of 884) sorted by relevance

12345678910>>...36

/linux/drivers/gpu/drm/xe/
H A Dxe_guc_pc.c95 static struct xe_guc *pc_to_guc(struct xe_guc_pc *pc) in pc_to_guc() argument
97 return container_of(pc, struct xe_guc, pc); in pc_to_guc()
100 static struct xe_guc_ct *pc_to_ct(struct xe_guc_pc *pc) in pc_to_ct() argument
102 return &pc_to_guc(pc)->ct; in pc_to_ct()
105 static struct xe_gt *pc_to_gt(struct xe_guc_pc *pc) in pc_to_gt() argument
107 return guc_to_gt(pc_to_guc(pc)); in pc_to_gt()
110 static struct xe_device *pc_to_xe(struct xe_guc_pc *pc) in pc_to_xe() argument
112 return guc_to_xe(pc_to_guc(pc)); in pc_to_xe()
115 static struct iosys_map *pc_to_maps(struct xe_guc_pc *pc) in pc_to_maps() argument
117 return &pc->bo->vmap; in pc_to_maps()
[all …]
H A Dxe_guc_pc.h15 int xe_guc_pc_init(struct xe_guc_pc *pc);
16 int xe_guc_pc_start(struct xe_guc_pc *pc);
17 int xe_guc_pc_stop(struct xe_guc_pc *pc);
18 int xe_guc_pc_gucrc_disable(struct xe_guc_pc *pc);
19 int xe_guc_pc_override_gucrc_mode(struct xe_guc_pc *pc, enum slpc_gucrc_mode mode);
20 int xe_guc_pc_unset_gucrc_mode(struct xe_guc_pc *pc);
21 void xe_guc_pc_print(struct xe_guc_pc *pc, struct drm_printer *p);
23 u32 xe_guc_pc_get_act_freq(struct xe_guc_pc *pc);
24 int xe_guc_pc_get_cur_freq(struct xe_guc_pc *pc, u32 *freq);
25 u32 xe_guc_pc_get_cur_freq_fw(struct xe_guc_pc *pc);
[all …]
/linux/drivers/pinctrl/meson/
H A Dpinctrl-meson.c72 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()
111 struct meson_pinctrl *pc = pinctrl_dev_get_drvdata(pcdev); in meson_get_groups_count() local
113 return pc->data->num_groups; in meson_get_groups_count()
119 struct meson_pinctrl *pc = pinctrl_dev_get_drvdata(pcdev); in meson_get_group_name() local
121 return pc->data->groups[selector].name; in meson_get_group_name()
127 struct meson_pinctrl *pc = pinctrl_dev_get_drvdata(pcdev); in meson_get_group_pins() local
[all …]
/linux/drivers/bcma/
H A Ddriver_pci.c20 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 …]
H A Ddriver_pci_host.c28 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/drivers/pinctrl/bcm/
H A Dpinctrl-brcmstb.c54 static unsigned int brcmstb_pinctrl_fsel_get(struct brcmstb_pinctrl *pc, in brcmstb_pinctrl_fsel_get() argument
57 u32 bit = pc->pin_regs[pin].mux_bit; in brcmstb_pinctrl_fsel_get()
63 return pc->func_gpio; in brcmstb_pinctrl_fsel_get()
67 val = readl(pc->base + BIT_TO_REG(bit)); in brcmstb_pinctrl_fsel_get()
68 fsel = (val >> BIT_TO_SHIFT(bit)) & pc->pin_funcs[pin].func_mask; in brcmstb_pinctrl_fsel_get()
69 func = pc->pin_funcs[pin].funcs[fsel]; in brcmstb_pinctrl_fsel_get()
71 if (func >= pc->func_count) in brcmstb_pinctrl_fsel_get()
74 dev_dbg(pc->dev, "get %04x: %08x (%u => %s)\n", in brcmstb_pinctrl_fsel_get()
76 pc->func_names[func]); in brcmstb_pinctrl_fsel_get()
81 static int brcmstb_pinctrl_fsel_set(struct brcmstb_pinctrl *pc, in brcmstb_pinctrl_fsel_set() argument
[all …]
H A Dpinctrl-bcm2835.c252 static inline u32 bcm2835_gpio_rd(struct bcm2835_pinctrl *pc, unsigned reg) in bcm2835_gpio_rd() argument
254 return readl(pc->base + reg); in bcm2835_gpio_rd()
257 static inline void bcm2835_gpio_wr(struct bcm2835_pinctrl *pc, unsigned reg, in bcm2835_gpio_wr() argument
260 writel(val, pc->base + reg); in bcm2835_gpio_wr()
263 static inline int bcm2835_gpio_get_bit(struct bcm2835_pinctrl *pc, unsigned reg, in bcm2835_gpio_get_bit() argument
267 return (bcm2835_gpio_rd(pc, reg) >> GPIO_REG_SHIFT(bit)) & 1; in bcm2835_gpio_get_bit()
271 static inline void bcm2835_gpio_set_bit(struct bcm2835_pinctrl *pc, in bcm2835_gpio_set_bit() argument
275 bcm2835_gpio_wr(pc, reg, BIT(GPIO_REG_SHIFT(bit))); in bcm2835_gpio_set_bit()
279 struct bcm2835_pinctrl *pc, unsigned pin) in bcm2835_pinctrl_fsel_get() argument
281 u32 val = bcm2835_gpio_rd(pc, FSEL_REG(pin)); in bcm2835_pinctrl_fsel_get()
[all …]
H A Dpinctrl-bcm63xx.c47 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
72 pc = devm_kzalloc(dev, sizeof(*pc), GFP_KERNEL); in bcm63xx_pinctrl_probe()
73 if (!pc) in bcm63xx_pinctrl_probe()
76 platform_set_drvdata(pdev, pc); in bcm63xx_pinctrl_probe()
78 pc->dev = dev; in bcm63xx_pinctrl_probe()
79 pc->driver_data = driver_data; in bcm63xx_pinctrl_probe()
81 pc->regs = syscon_node_to_regmap(dev->parent->of_node); in bcm63xx_pinctrl_probe()
82 if (IS_ERR(pc->regs)) in bcm63xx_pinctrl_probe()
[all …]
/linux/drivers/pwm/
H A Dpwm-sti.c116 static int sti_pwm_get_prescale(struct sti_pwm_chip *pc, unsigned long period, in sti_pwm_get_prescale() argument
123 clk_rate = clk_get_rate(pc->pwm_clk); in sti_pwm_get_prescale()
125 dev_err(pc->dev, "failed to get clock rate\n"); in sti_pwm_get_prescale()
133 value *= pc->max_pwm_cnt + 1; in sti_pwm_get_prescale()
139 if (ps > pc->max_prescale) in sti_pwm_get_prescale()
159 struct sti_pwm_chip *pc = to_sti_pwmchip(chip); in sti_pwm_config() local
161 struct pwm_device *cur = pc->cur; in sti_pwm_config()
162 struct device *dev = pc->dev; in sti_pwm_config()
166 ncfg = hweight_long(pc->configured); in sti_pwm_config()
187 ret = clk_enable(pc->pwm_clk); in sti_pwm_config()
[all …]
H A Dpwm-rockchip.c65 struct rockchip_pwm_chip *pc = to_rockchip_pwm_chip(chip); in rockchip_pwm_get_state() local
66 u64 prescaled_ns = (u64)pc->data->prescaler * NSEC_PER_SEC; in rockchip_pwm_get_state()
67 u32 enable_conf = pc->data->enable_conf; in rockchip_pwm_get_state()
73 ret = clk_enable(pc->pclk); in rockchip_pwm_get_state()
77 ret = clk_enable(pc->clk); in rockchip_pwm_get_state()
81 clk_rate = clk_get_rate(pc->clk); in rockchip_pwm_get_state()
83 tmp = readl_relaxed(pc->base + pc->data->regs.period); in rockchip_pwm_get_state()
87 tmp = readl_relaxed(pc->base + pc->data->regs.duty); in rockchip_pwm_get_state()
91 val = readl_relaxed(pc->base + pc->data->regs.ctrl); in rockchip_pwm_get_state()
94 if (pc->data->supports_polarity && !(val & PWM_DUTY_POSITIVE)) in rockchip_pwm_get_state()
[all …]
H A Dpwm-mediatek.c72 static int pwm_mediatek_clk_enable(struct pwm_mediatek_chip *pc, in pwm_mediatek_clk_enable() argument
77 ret = clk_prepare_enable(pc->clk_top); in pwm_mediatek_clk_enable()
81 ret = clk_prepare_enable(pc->clk_main); in pwm_mediatek_clk_enable()
85 ret = clk_prepare_enable(pc->clk_pwms[hwpwm].clk); in pwm_mediatek_clk_enable()
89 if (!pc->clk_pwms[hwpwm].rate) { in pwm_mediatek_clk_enable()
90 pc->clk_pwms[hwpwm].rate = clk_get_rate(pc->clk_pwms[hwpwm].clk); in pwm_mediatek_clk_enable()
96 if (!pc->clk_pwms[hwpwm].rate || in pwm_mediatek_clk_enable()
97 pc->clk_pwms[hwpwm].rate > 1000000000) { in pwm_mediatek_clk_enable()
106 clk_disable_unprepare(pc->clk_pwms[hwpwm].clk); in pwm_mediatek_clk_enable()
108 clk_disable_unprepare(pc->clk_main); in pwm_mediatek_clk_enable()
[all …]
H A Dpwm-tiehrpwm.c182 struct ehrpwm_pwm_chip *pc = to_ehrpwm_pwm_chip(chip); in ehrpwm_pwm_config() local
193 c = pc->clk_rate; in ehrpwm_pwm_config()
198 c = pc->clk_rate; in ehrpwm_pwm_config()
208 if (pc->period_cycles[i] && in ehrpwm_pwm_config()
209 (pc->period_cycles[i] != period_cycles)) { in ehrpwm_pwm_config()
224 pc->period_cycles[pwm->hwpwm] = period_cycles; in ehrpwm_pwm_config()
243 ehrpwm_modify(pc->mmio_base, TBCTL, TBCTL_CLKDIV_MASK, tb_divval); in ehrpwm_pwm_config()
279 ehrpwm_modify(pc->mmio_base, aqctl_reg, aqctl_mask, aqctl_val); in ehrpwm_pwm_config()
282 ehrpwm_modify(pc->mmio_base, TBCTL, TBCTL_PRDLD_MASK, TBCTL_PRDLD_SHDW); in ehrpwm_pwm_config()
284 ehrpwm_write(pc->mmio_base, TBPRD, period_cycles - 1); in ehrpwm_pwm_config()
[all …]
H A Dpwm-tegra.c84 static inline u32 pwm_readl(struct tegra_pwm_chip *pc, unsigned int offset) in pwm_readl() argument
86 return readl(pc->regs + (offset << 4)); in pwm_readl()
89 static inline void pwm_writel(struct tegra_pwm_chip *pc, unsigned int offset, u32 value) in pwm_writel() argument
91 writel(value, pc->regs + (offset << 4)); in pwm_writel()
97 struct tegra_pwm_chip *pc = to_tegra_pwm_chip(chip); in tegra_pwm_config() local
116 if (period_ns < pc->min_period_ns) in tegra_pwm_config()
132 if (pc->soc->num_channels == 1) { in tegra_pwm_config()
147 if (required_clk_rate > clk_round_rate(pc->clk, required_clk_rate)) in tegra_pwm_config()
163 pc->clk_rate = clk_get_rate(pc->clk); in tegra_pwm_config()
167 rate = mul_u64_u64_div_u64(pc->clk_rate, period_ns, in tegra_pwm_config()
[all …]
H A Dpwm-tiecap.c56 struct ecap_pwm_chip *pc = to_ecap_pwm_chip(chip); in ecap_pwm_config() local
61 c = pc->clk_rate; in ecap_pwm_config()
70 c = pc->clk_rate; in ecap_pwm_config()
78 value = readw(pc->mmio_base + ECCTL2); in ecap_pwm_config()
83 writew(value, pc->mmio_base + ECCTL2); in ecap_pwm_config()
87 writel(duty_cycles, pc->mmio_base + CAP2); in ecap_pwm_config()
88 writel(period_cycles, pc->mmio_base + CAP1); in ecap_pwm_config()
95 writel(duty_cycles, pc->mmio_base + CAP4); in ecap_pwm_config()
96 writel(period_cycles, pc->mmio_base + CAP3); in ecap_pwm_config()
100 value = readw(pc->mmio_base + ECCTL2); in ecap_pwm_config()
[all …]
H A Dpwm-bcm2835.c39 struct bcm2835_pwm *pc = to_bcm2835_pwm(chip); in bcm2835_pwm_request() local
42 value = readl(pc->base + PWM_CONTROL); in bcm2835_pwm_request()
45 writel(value, pc->base + PWM_CONTROL); in bcm2835_pwm_request()
52 struct bcm2835_pwm *pc = to_bcm2835_pwm(chip); in bcm2835_pwm_free() local
55 value = readl(pc->base + PWM_CONTROL); in bcm2835_pwm_free()
57 writel(value, pc->base + PWM_CONTROL); in bcm2835_pwm_free()
64 struct bcm2835_pwm *pc = to_bcm2835_pwm(chip); in bcm2835_pwm_apply() local
84 max_period = DIV_ROUND_UP_ULL((u64)U32_MAX * NSEC_PER_SEC + NSEC_PER_SEC / 2, pc->rate) - 1; in bcm2835_pwm_apply()
90 period_cycles = DIV_ROUND_CLOSEST_ULL(state->period * pc->rate, NSEC_PER_SEC); in bcm2835_pwm_apply()
96 writel(period_cycles, pc->base + PERIOD(pwm->hwpwm)); in bcm2835_pwm_apply()
[all …]
H A Dpwm-spear.c78 struct spear_pwm_chip *pc = to_spear_pwm_chip(chip); in spear_pwm_config() local
93 clk_rate = clk_get_rate(pc->clk); in spear_pwm_config()
122 ret = clk_enable(pc->clk); in spear_pwm_config()
126 spear_pwm_writel(pc, pwm->hwpwm, PWMCR, in spear_pwm_config()
128 spear_pwm_writel(pc, pwm->hwpwm, PWMDCR, dc); in spear_pwm_config()
129 spear_pwm_writel(pc, pwm->hwpwm, PWMPCR, pv); in spear_pwm_config()
130 clk_disable(pc->clk); in spear_pwm_config()
137 struct spear_pwm_chip *pc = to_spear_pwm_chip(chip); in spear_pwm_enable() local
141 rc = clk_enable(pc->clk); in spear_pwm_enable()
145 val = spear_pwm_readl(pc, pwm->hwpwm, PWMCR); in spear_pwm_enable()
[all …]
/linux/drivers/ssb/
H A Ddriver_pcicore.c19 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/drivers/gpu/drm/bridge/imx/
H A Dimx8qxp-pixel-combiner.c64 struct imx8qxp_pc *pc; member
75 static inline u32 imx8qxp_pc_read(struct imx8qxp_pc *pc, unsigned int offset) in imx8qxp_pc_read() argument
77 return readl(pc->base + offset); in imx8qxp_pc_read()
81 imx8qxp_pc_write(struct imx8qxp_pc *pc, unsigned int offset, u32 value) in imx8qxp_pc_write() argument
83 writel(value, pc->base + offset); in imx8qxp_pc_write()
87 imx8qxp_pc_write_set(struct imx8qxp_pc *pc, unsigned int offset, u32 value) in imx8qxp_pc_write_set() argument
89 imx8qxp_pc_write(pc, offset + PC_REG_SET, value); in imx8qxp_pc_write_set()
93 imx8qxp_pc_write_clr(struct imx8qxp_pc *pc, unsigned int offset, u32 value) in imx8qxp_pc_write_clr() argument
95 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/arch/microblaze/kernel/
H A Dunwind.c77 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/drivers/dma/mediatek/
H A Dmtk-cqdma.c123 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/arch/csky/kernel/
H A Dstacktrace.c19 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/arch/riscv/kernel/
H A Dstacktrace.c51 unsigned long fp, sp, pc; in walk_stackframe() local
58 pc = instruction_pointer(regs); in walk_stackframe()
62 pc = (unsigned long)walk_stackframe; in walk_stackframe()
68 pc = task->thread.ra; in walk_stackframe()
74 if (unlikely(!__kernel_text_address(pc) || (level++ >= 0 && !fn(arg, pc)))) in walk_stackframe()
83 if (regs && (regs->epc == pc) && fp_is_valid(frame->ra, sp)) { in walk_stackframe()
86 pc = regs->ra; in walk_stackframe()
89 pc = READ_ONCE_TASK_STACK(task, frame->ra); in walk_stackframe()
90 pc = ftrace_graph_ret_addr(current, &graph_idx, pc, in walk_stackframe()
92 if (pc >= (unsigned long)handle_exception && in walk_stackframe()
[all …]
/linux/arch/xtensa/kernel/
H A Dstacktrace.c36 unsigned long pc = regs->pc; in xtensa_backtrace_user() local
43 frame.pc = pc; in xtensa_backtrace_user()
46 if (pc == 0 || pc >= TASK_SIZE || ufn(&frame, data)) in xtensa_backtrace_user()
74 pc = MAKE_PC_FROM_RA(a0, pc); in xtensa_backtrace_user()
81 frame.pc = pc; in xtensa_backtrace_user()
84 if (pc == 0 || pc >= TASK_SIZE || ufn(&frame, data)) in xtensa_backtrace_user()
98 pc = MAKE_PC_FROM_RA(a0, pc); in xtensa_backtrace_user()
108 frame.pc = pc; in xtensa_backtrace_user()
111 if (pc == 0 || pc >= TASK_SIZE || ufn(&frame, data)) in xtensa_backtrace_user()
122 unsigned long pc = regs->depc > VALID_DOUBLE_EXCEPTION_ADDRESS ? in xtensa_backtrace_kernel() local
[all …]
/linux/arch/loongarch/kernel/
H A Dftrace_dyn.c15 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()
120 unsigned long pc; in ftrace_modify_call() local
[all …]
H A Dunwind_prologue.c66 static inline bool fix_exception(unsigned long pc) in fix_exception() argument
74 if (scan_handlers(pc - pcpu_handlers[cpu])) in fix_exception()
78 return scan_handlers(pc - eentry); in fix_exception()
85 static inline bool fix_ftrace(unsigned long pc) in fix_ftrace() argument
88 return pc == (unsigned long)ftrace_call + LOONGARCH_INSN_SIZE; in fix_ftrace()
96 if (!fix_exception(state->pc) && !fix_ftrace(state->pc)) in unwind_state_fixup()
115 unsigned long size, offset, pc; in unwind_by_prologue() local
127 state->pc = regs->csr_era; in unwind_by_prologue()
137 pc = state->pc - (state->first ? 0 : LOONGARCH_INSN_SIZE); in unwind_by_prologue()
138 if (!kallsyms_lookup_size_offset(pc, &size, &offset)) in unwind_by_prologue()
[all …]

12345678910>>...36