Lines Matching full:rsc

26 static int amixer_master(struct rsc *rsc)  in amixer_master()  argument
28 rsc->conj = 0; in amixer_master()
29 return rsc->idx = container_of(rsc, struct amixer, rsc)->idx[0]; in amixer_master()
32 static int amixer_next_conj(struct rsc *rsc) in amixer_next_conj() argument
34 rsc->conj++; in amixer_next_conj()
35 return container_of(rsc, struct amixer, rsc)->idx[rsc->conj]; in amixer_next_conj()
38 static int amixer_index(const struct rsc *rsc) in amixer_index() argument
40 return container_of(rsc, struct amixer, rsc)->idx[rsc->conj]; in amixer_index()
43 static int amixer_output_slot(const struct rsc *rsc) in amixer_output_slot() argument
45 return (amixer_index(rsc) << 4) + 0x4; in amixer_output_slot()
55 static int amixer_set_input(struct amixer *amixer, struct rsc *rsc) in amixer_set_input() argument
59 hw = amixer->rsc.hw; in amixer_set_input()
60 hw->amixer_set_mode(amixer->rsc.ctrl_blk, AMIXER_Y_IMMEDIATE); in amixer_set_input()
61 amixer->input = rsc; in amixer_set_input()
62 if (!rsc) in amixer_set_input()
63 hw->amixer_set_x(amixer->rsc.ctrl_blk, BLANK_SLOT); in amixer_set_input()
65 hw->amixer_set_x(amixer->rsc.ctrl_blk, in amixer_set_input()
66 rsc->ops->output_slot(rsc)); in amixer_set_input()
76 hw = amixer->rsc.hw; in amixer_set_y()
77 hw->amixer_set_y(amixer->rsc.ctrl_blk, y); in amixer_set_y()
86 hw = amixer->rsc.hw; in amixer_set_invalid_squash()
87 hw->amixer_set_iv(amixer->rsc.ctrl_blk, iv); in amixer_set_invalid_squash()
96 hw = amixer->rsc.hw; in amixer_set_sum()
99 hw->amixer_set_se(amixer->rsc.ctrl_blk, 0); in amixer_set_sum()
101 hw->amixer_set_se(amixer->rsc.ctrl_blk, 1); in amixer_set_sum()
102 hw->amixer_set_sadr(amixer->rsc.ctrl_blk, in amixer_set_sum()
103 sum->rsc.ops->index(&sum->rsc)); in amixer_set_sum()
114 struct rsc *input; in amixer_commit_write()
117 hw = amixer->rsc.hw; in amixer_commit_write()
122 amixer->rsc.ops->master(&amixer->rsc); in amixer_commit_write()
127 sum->rsc.ops->master(&sum->rsc); in amixer_commit_write()
129 for (i = 0; i < amixer->rsc.msr; i++) { in amixer_commit_write()
130 hw->amixer_set_dirty_all(amixer->rsc.ctrl_blk); in amixer_commit_write()
132 hw->amixer_set_x(amixer->rsc.ctrl_blk, in amixer_commit_write()
137 hw->amixer_set_sadr(amixer->rsc.ctrl_blk, in amixer_commit_write()
138 sum->rsc.ops->index(&sum->rsc)); in amixer_commit_write()
139 sum->rsc.ops->next_conj(&sum->rsc); in amixer_commit_write()
141 index = amixer->rsc.ops->output_slot(&amixer->rsc); in amixer_commit_write()
142 hw->amixer_commit_write(hw, index, amixer->rsc.ctrl_blk); in amixer_commit_write()
143 amixer->rsc.ops->next_conj(&amixer->rsc); in amixer_commit_write()
145 amixer->rsc.ops->master(&amixer->rsc); in amixer_commit_write()
150 sum->rsc.ops->master(&sum->rsc); in amixer_commit_write()
160 hw = amixer->rsc.hw; in amixer_commit_raw_write()
161 index = amixer->rsc.ops->output_slot(&amixer->rsc); in amixer_commit_raw_write()
162 hw->amixer_commit_write(hw, index, amixer->rsc.ctrl_blk); in amixer_commit_raw_write()
171 hw = amixer->rsc.hw; in amixer_get_y()
172 return hw->amixer_get_y(amixer->rsc.ctrl_blk); in amixer_get_y()
175 static int amixer_setup(struct amixer *amixer, struct rsc *input, in amixer_setup()
202 err = rsc_init(&amixer->rsc, amixer->idx[0], in amixer_rsc_init()
208 amixer->rsc.ops = &amixer_basic_rsc_ops; in amixer_rsc_init()
221 rsc_uninit(&amixer->rsc); in amixer_rsc_uninit()
286 for (i = 0; i < amixer->rsc.msr; i++) in put_amixer_rsc()
334 static int sum_master(struct rsc *rsc) in sum_master() argument
336 rsc->conj = 0; in sum_master()
337 return rsc->idx = container_of(rsc, struct sum, rsc)->idx[0]; in sum_master()
340 static int sum_next_conj(struct rsc *rsc) in sum_next_conj() argument
342 rsc->conj++; in sum_next_conj()
343 return container_of(rsc, struct sum, rsc)->idx[rsc->conj]; in sum_next_conj()
346 static int sum_index(const struct rsc *rsc) in sum_index() argument
348 return container_of(rsc, struct sum, rsc)->idx[rsc->conj]; in sum_index()
351 static int sum_output_slot(const struct rsc *rsc) in sum_output_slot() argument
353 return (sum_index(rsc) << 4) + 0xc; in sum_output_slot()
369 err = rsc_init(&sum->rsc, sum->idx[0], SUM, desc->msr, mgr->mgr.hw); in sum_rsc_init()
373 sum->rsc.ops = &sum_basic_rsc_ops; in sum_rsc_init()
380 rsc_uninit(&sum->rsc); in sum_rsc_uninit()
441 for (i = 0; i < sum->rsc.msr; i++) in put_sum_rsc()