Lines Matching refs:param
177 static int qlogicpti_mbox_command(struct qlogicpti *qpti, u_short param[], int force)
182 if (mbox_param[param[0]] == 0)
201 switch (mbox_param[param[0]] >> 4) {
202 case 6: sbus_writew(param[5], qpti->qregs + MBOX5);
204 case 5: sbus_writew(param[4], qpti->qregs + MBOX4);
206 case 4: sbus_writew(param[3], qpti->qregs + MBOX3);
208 case 3: sbus_writew(param[2], qpti->qregs + MBOX2);
210 case 2: sbus_writew(param[1], qpti->qregs + MBOX1);
212 case 1: sbus_writew(param[0], qpti->qregs + MBOX0);
235 qpti->qpti_id, param[0]);
249 qpti->qpti_id, param[0]);
257 qpti->qpti_id, param[0]);
260 switch (mbox_param[param[0]] & 0xf) {
261 case 6: param[5] = sbus_readw(qpti->qregs + MBOX5);
263 case 5: param[4] = sbus_readw(qpti->qregs + MBOX4);
265 case 4: param[3] = sbus_readw(qpti->qregs + MBOX3);
267 case 3: param[2] = sbus_readw(qpti->qregs + MBOX2);
269 case 2: param[1] = sbus_readw(qpti->qregs + MBOX1);
271 case 1: param[0] = sbus_readw(qpti->qregs + MBOX0);
329 u_short param[6];
380 param[0] = MBOX_EXEC_FIRMWARE;
381 param[1] = risc_code_addr;
382 if (qlogicpti_mbox_command(qpti, param, 1)) {
390 param[0] = MBOX_SET_INIT_SCSI_ID;
391 param[1] = qpti->host_param.initiator_scsi_id;
392 if (qlogicpti_mbox_command(qpti, param, 1) ||
393 (param[0] != MBOX_COMMAND_COMPLETE)) {
403 param[0] = MBOX_INIT_RES_QUEUE;
404 param[1] = RES_QUEUE_LEN + 1;
405 param[2] = (u_short) (qpti->res_dvma >> 16);
406 param[3] = (u_short) (qpti->res_dvma & 0xffff);
407 param[4] = param[5] = 0;
408 if (qlogicpti_mbox_command(qpti, param, 1)) {
415 param[0] = MBOX_INIT_REQ_QUEUE;
416 param[1] = QLOGICPTI_REQ_QUEUE_LEN + 1;
417 param[2] = (u_short) (qpti->req_dvma >> 16);
418 param[3] = (u_short) (qpti->req_dvma & 0xffff);
419 param[4] = param[5] = 0;
420 if (qlogicpti_mbox_command(qpti, param, 1)) {
427 param[0] = MBOX_SET_RETRY_COUNT;
428 param[1] = qpti->host_param.retry_count;
429 param[2] = qpti->host_param.retry_delay;
430 qlogicpti_mbox_command(qpti, param, 0);
432 param[0] = MBOX_SET_TAG_AGE_LIMIT;
433 param[1] = qpti->host_param.tag_aging;
434 qlogicpti_mbox_command(qpti, param, 0);
437 param[0] = MBOX_GET_DEV_QUEUE_PARAMS;
438 param[1] = (i << 8);
439 qlogicpti_mbox_command(qpti, param, 0);
442 param[0] = MBOX_GET_FIRMWARE_STATUS;
443 qlogicpti_mbox_command(qpti, param, 0);
445 param[0] = MBOX_SET_SELECT_TIMEOUT;
446 param[1] = qpti->host_param.selection_timeout;
447 qlogicpti_mbox_command(qpti, param, 0);
450 param[0] = MBOX_SET_TARGET_PARAMS;
451 param[1] = (i << 8);
452 param[2] = (qpti->dev_param[i].device_flags << 8);
456 param[2] |= 0xc0;
457 param[3] = 0; /* no offset, we do not have sync mode yet */
458 qlogicpti_mbox_command(qpti, param, 0);
464 param[0] = MBOX_BUS_RESET;
465 param[1] = qpti->host_param.bus_reset_delay;
466 qlogicpti_mbox_command(qpti, param, 0);
482 unsigned short param[6];
559 param[0] = MBOX_STOP_FIRMWARE;
560 param[1] = param[2] = param[3] = param[4] = param[5] = 0;
561 if (qlogicpti_mbox_command(qpti, param, 1)) {
570 param[0] = MBOX_WRITE_RAM_WORD;
571 param[1] = risc_code_addr + i;
572 param[2] = __le16_to_cpu(fw_data[i]);
573 if (qlogicpti_mbox_command(qpti, param, 1) ||
574 param[0] != MBOX_COMMAND_COMPLETE) {
591 param[0] = MBOX_VERIFY_CHECKSUM;
592 param[1] = risc_code_addr;
593 if (qlogicpti_mbox_command(qpti, param, 1) ||
594 (param[0] != MBOX_COMMAND_COMPLETE)) {
602 param[0] = MBOX_EXEC_FIRMWARE;
603 param[1] = risc_code_addr;
604 qlogicpti_mbox_command(qpti, param, 1);
606 param[0] = MBOX_ABOUT_FIRMWARE;
607 if (qlogicpti_mbox_command(qpti, param, 1) ||
608 (param[0] != MBOX_COMMAND_COMPLETE)) {
616 qpti->fware_majrev = param[1];
617 qpti->fware_minrev = param[2];
618 qpti->fware_micrev = param[3];
621 param[0] = MBOX_SET_CLOCK_RATE;
622 param[1] = qpti->clock;
623 if (qlogicpti_mbox_command(qpti, param, 1) ||
624 (param[0] != MBOX_COMMAND_COMPLETE)) {
633 param[0] = MBOX_WRITE_RAM_WORD;
634 param[1] = 0xff80;
635 param[2] = (unsigned short) qpti->scsi_id;
636 qlogicpti_mbox_command(qpti, param, 1);
638 param[0] = MBOX_WRITE_RAM_WORD;
639 param[1] = 0xff00;
640 param[2] = (unsigned short) 3;
641 qlogicpti_mbox_command(qpti, param, 1);
982 u_short param[6];
996 param[0] = MBOX_SET_TARGET_PARAMS;
997 param[1] = (tgt << 8);
998 param[2] = (qpti->dev_param[tgt].device_flags << 8);
1000 param[3] = (qpti->dev_param[tgt].synchronous_offset << 8) |
1003 param[3] = 0;
1005 qlogicpti_mbox_command(qpti, param, 0);
1228 u_short param[6];
1248 param[0] = MBOX_ABORT;
1249 param[1] = (((u_short) Cmnd->device->id) << 8) | Cmnd->device->lun;
1250 param[2] = cmd_cookie >> 16;
1251 param[3] = cmd_cookie & 0xffff;
1252 if (qlogicpti_mbox_command(qpti, param, 0) ||
1253 (param[0] != MBOX_COMMAND_COMPLETE)) {
1255 qpti->qpti_id, param[0]);
1266 u_short param[6];
1276 param[0] = MBOX_BUS_RESET;
1277 param[1] = qpti->host_param.bus_reset_delay;
1278 if (qlogicpti_mbox_command(qpti, param, 0) ||
1279 (param[0] != MBOX_COMMAND_COMPLETE)) {
1281 qpti->qpti_id, param[0]);