Print this page
NEX-8705 Drivers for ATTO Celerity FC-162E Gen 5 and Celerity FC-162P Gen 6 16GB FC cards support
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
NEX-1878 update emlxs from source provided by Emulex
*** 1059,1068 ****
--- 1059,1103 ----
return;
} /* emlxs_mb_heartbeat() */
+ /*ARGSUSED*/
+ extern void
+ emlxs_mb_gpio_write(emlxs_hba_t *hba, MAILBOXQ *mbq, uint8_t pin, uint8_t val)
+ {
+ emlxs_port_t *port = &PPORT;
+ MAILBOX4 *mb4;
+ be_req_hdr_t *be_req;
+ mbox_req_hdr_t *hdr_req;
+ IOCTL_LOWLEVEL_GPIO_RDWR *gpio;
+
+ bzero((void *) mbq, sizeof (MAILBOXQ));
+
+ mbq->port = port;
+
+ mb4 = (MAILBOX4 *)mbq->mbox;
+ mb4->mbxCommand = MBX_SLI_CONFIG;
+ mb4->mbxOwner = OWN_HOST;
+
+ be_req = (be_req_hdr_t *)&mb4->un.varSLIConfig.be;
+ be_req->embedded = 1;
+ be_req->payload_length = sizeof (mbox_req_hdr_t) +
+ sizeof (IOCTL_LOWLEVEL_GPIO_RDWR);
+
+ hdr_req = &be_req->un_hdr.hdr_req;
+ hdr_req->subsystem = IOCTL_SUBSYSTEM_LOWLEVEL;
+ hdr_req->opcode = LOWLEVEL_OPCODE_GPIO_RDWR;
+ hdr_req->timeout = 0;
+ hdr_req->req_length = sizeof (IOCTL_LOWLEVEL_GPIO_RDWR);
+
+ gpio = (IOCTL_LOWLEVEL_GPIO_RDWR *)&mb4->un.varSLIConfig.payload;
+ gpio->params.request.GpioAction = LOWLEVEL_GPIO_ACT_WRITE;
+ gpio->params.request.LogicalPin = pin;
+ gpio->params.request.PinValue = val;
+ } /* emlxs_mb_gpio_write */
+
#ifdef MSI_SUPPORT
/*ARGSUSED*/
extern void
emlxs_mb_config_msi(emlxs_hba_t *hba, MAILBOXQ *mbq, uint32_t *intr_map,