Lines Matching defs:rmh
148 * vx_read_status - return the status rmh
149 * @rmh: rmh record to store the status
155 static int vx_read_status(struct vx_core *chip, struct vx_rmh *rmh)
160 if (rmh->DspStat == RMH_SSIZE_FIXED && rmh->LgStat == 0)
176 switch (rmh->DspStat) {
179 rmh->Stat[0] = val & 0xffff00;
180 rmh->LgStat = size + 1;
184 rmh->Stat[0] = val;
191 rmh->LgStat = size + 1;
195 size = rmh->LgStat;
196 rmh->Stat[0] = val; /* Val is the status 1st word */
215 rmh->Stat[i] = vx_inb(chip, RXH) << 16;
216 rmh->Stat[i] |= vx_inb(chip, RXM) << 8;
217 rmh->Stat[i] |= vx_inb(chip, RXL);
229 * @rmh: the rmh record to send and receive
236 int vx_send_msg_nolock(struct vx_core *chip, struct vx_rmh *rmh)
250 if (rmh->LgCmd > 1)
251 rmh->Cmd[0] |= MASK_MORE_THAN_1_WORD_COMMAND;
253 rmh->Cmd[0] &= MASK_1_WORD_COMMAND;
263 vx_outb(chip, TXH, (rmh->Cmd[0] >> 16) & 0xff);
264 vx_outb(chip, TXM, (rmh->Cmd[0] >> 8) & 0xff);
265 vx_outb(chip, TXL, rmh->Cmd[0] & 0xff);
298 if (rmh->LgCmd > 1) {
299 for (i = 1; i < rmh->LgCmd; i++) {
309 vx_outb(chip, TXH, (rmh->Cmd[i] >> 16) & 0xff);
310 vx_outb(chip, TXM, (rmh->Cmd[i] >> 8) & 0xff);
311 vx_outb(chip, TXL, rmh->Cmd[i] & 0xff);
334 return vx_read_status(chip, rmh);
340 * @rmh: the rmh record to send and receive
345 int vx_send_msg(struct vx_core *chip, struct vx_rmh *rmh)
348 return vx_send_msg_nolock(chip, rmh);