Lines Matching +full:function +full:- +full:mask

1 // SPDX-License-Identifier: GPL-2.0-or-later
6 #include "pinmux-aspeed.h"
18 aspeed_pinmux_ips[desc->ip], desc->reg, in aspeed_sig_desc_print_val()
19 desc->mask, enable ? desc->enable : desc->disable, in aspeed_sig_desc_print_val()
20 (rv & desc->mask) >> __ffs(desc->mask), rv); in aspeed_sig_desc_print_val()
24 * aspeed_sig_desc_eval() - Query the enabled or disabled state of a signal
35 * Evaluation of descriptor state is non-trivial in that it is not a binary
38 * descriptor (typically this means a different function to the one of interest
49 return -ENODEV; in aspeed_sig_desc_eval()
51 ret = regmap_read(map, desc->reg, &raw); in aspeed_sig_desc_eval()
56 want = enabled ? desc->enable : desc->disable; in aspeed_sig_desc_eval()
58 return ((raw & desc->mask) >> __ffs(desc->mask)) == want; in aspeed_sig_desc_eval()
62 * aspeed_sig_expr_eval - Query the enabled or disabled state for a
63 * mux function's signal on a pin
66 * @expr: An expression controlling the signal for a mux function on a pin
72 * A mux function is enabled or disabled if the function's signal expression
73 * for each pin in the function's pin group evaluates true for the desired
78 * multi-bit bitfields in a single signal descriptor or through multiple signal
89 if (ctx->ops->eval) in aspeed_sig_expr_eval()
90 return ctx->ops->eval(ctx, expr, enabled); in aspeed_sig_expr_eval()
92 for (i = 0; i < expr->ndescs; i++) { in aspeed_sig_expr_eval()
93 const struct aspeed_sig_desc *desc = &expr->descs[i]; in aspeed_sig_expr_eval()
95 ret = aspeed_sig_desc_eval(desc, enabled, ctx->maps[desc->ip]); in aspeed_sig_expr_eval()