Lines Matching refs:fd
23 struct clk_fractional_divider *fd = to_clk_fd(hw); in clk_fd_recalc_rate() local
28 if (fd->lock) in clk_fd_recalc_rate()
29 spin_lock_irqsave(fd->lock, flags); in clk_fd_recalc_rate()
31 val = clk_readl(fd->reg); in clk_fd_recalc_rate()
33 if (fd->lock) in clk_fd_recalc_rate()
34 spin_unlock_irqrestore(fd->lock, flags); in clk_fd_recalc_rate()
36 m = (val & fd->mmask) >> fd->mshift; in clk_fd_recalc_rate()
37 n = (val & fd->nmask) >> fd->nshift; in clk_fd_recalc_rate()
51 struct clk_fractional_divider *fd = to_clk_fd(hw); in clk_fd_round_rate() local
52 unsigned maxn = (fd->nmask >> fd->nshift) + 1; in clk_fd_round_rate()
71 struct clk_fractional_divider *fd = to_clk_fd(hw); in clk_fd_set_rate() local
81 if (fd->lock) in clk_fd_set_rate()
82 spin_lock_irqsave(fd->lock, flags); in clk_fd_set_rate()
84 val = clk_readl(fd->reg); in clk_fd_set_rate()
85 val &= ~(fd->mmask | fd->nmask); in clk_fd_set_rate()
86 val |= (m << fd->mshift) | (n << fd->nshift); in clk_fd_set_rate()
87 clk_writel(val, fd->reg); in clk_fd_set_rate()
89 if (fd->lock) in clk_fd_set_rate()
90 spin_unlock_irqrestore(fd->lock, flags); in clk_fd_set_rate()
107 struct clk_fractional_divider *fd; in clk_register_fractional_divider() local
111 fd = kzalloc(sizeof(*fd), GFP_KERNEL); in clk_register_fractional_divider()
112 if (!fd) { in clk_register_fractional_divider()
123 fd->reg = reg; in clk_register_fractional_divider()
124 fd->mshift = mshift; in clk_register_fractional_divider()
125 fd->mmask = (BIT(mwidth) - 1) << mshift; in clk_register_fractional_divider()
126 fd->nshift = nshift; in clk_register_fractional_divider()
127 fd->nmask = (BIT(nwidth) - 1) << nshift; in clk_register_fractional_divider()
128 fd->flags = clk_divider_flags; in clk_register_fractional_divider()
129 fd->lock = lock; in clk_register_fractional_divider()
130 fd->hw.init = &init; in clk_register_fractional_divider()
132 clk = clk_register(dev, &fd->hw); in clk_register_fractional_divider()
134 kfree(fd); in clk_register_fractional_divider()