Lines Matching refs:hdlp

69 #define	HANDLE_ADDR(hdlp)	(hdlp->ah_addr)
70 #define HANDLE_FAULT(hdlp) (hdlp->ah_fault)
71 #define HANDLE_MAPLEN(hdlp) (hdlp->ah_len)
72 #define HANDLE_PRIVATE(hdlp) (hdlp->ah_bus_private)
80 #define HANDLE_ADDR(hdlp) (hdlp->ahi_common.ah_addr)
81 #define HANDLE_FAULT(hdlp) (hdlp->ahi_fault)
82 #define HANDLE_MAPLEN(hdlp) (hdlp->ahi_common.ah_len)
83 #define HANDLE_PRIVATE(hdlp) (hdlp->ahi_common.ah_bus_private)
101 #define ADDR_TO_OFFSET(a, hdlp) ((caddr_t)(a) - HANDLE_ADDR(hdlp))
827 lombus_cmd(HANDLE_TYPE *hdlp, ptrdiff_t vreg, uint_t val, uint_t cmd)
839 ssp = HANDLE_PRIVATE(hdlp);
941 HANDLE_FAULT(hdlp) = LOMBUS_ERR_SIOHW;
949 HANDLE_FAULT(hdlp) = ssp->error;
951 HANDLE_FAULT(hdlp) = LOMBUS_ERR_BADERRCODE;
971 lombus_vreg_get8(HANDLE_TYPE *hdlp, uint8_t *addr)
979 offset = ADDR_TO_OFFSET(addr, hdlp);
980 if (offset < 0 || offset >= HANDLE_MAPLEN(hdlp)) {
984 HANDLE_FAULT(hdlp) = LOMBUS_ERR_REG_NUM;
991 return (lombus_cmd(hdlp, ADDR_TO_VREG(addr), 0, LOMBUS_CMD_READ));
995 lombus_vreg_put8(HANDLE_TYPE *hdlp, uint8_t *addr, uint8_t val)
1003 offset = ADDR_TO_OFFSET(addr, hdlp);
1004 if (offset < 0 || offset >= HANDLE_MAPLEN(hdlp)) {
1008 HANDLE_FAULT(hdlp) = LOMBUS_ERR_REG_NUM;
1015 (void) lombus_cmd(hdlp, ADDR_TO_VREG(addr), val, LOMBUS_CMD_WRITE);
1019 lombus_vreg_rep_get8(HANDLE_TYPE *hdlp, uint8_t *host_addr,
1026 *host_addr++ = lombus_vreg_get8(hdlp, dev_addr);
1030 lombus_vreg_rep_put8(HANDLE_TYPE *hdlp, uint8_t *host_addr,
1037 lombus_vreg_put8(hdlp, dev_addr, *host_addr++);
1060 lombus_pat_get8(HANDLE_TYPE *hdlp, uint8_t *addr)
1068 offset = ADDR_TO_OFFSET(addr, hdlp);
1069 if (offset < 0 || offset >= HANDLE_MAPLEN(hdlp)) {
1073 HANDLE_FAULT(hdlp) = LOMBUS_ERR_REG_NUM;
1081 lombus_pat_put8(HANDLE_TYPE *hdlp, uint8_t *addr, uint8_t val)
1093 offset = ADDR_TO_OFFSET(addr, hdlp);
1094 if (offset < 0 || offset >= HANDLE_MAPLEN(hdlp)) {
1098 HANDLE_FAULT(hdlp) = LOMBUS_ERR_REG_NUM;
1102 ssp = HANDLE_PRIVATE(hdlp);
1113 lombus_pat_rep_get8(HANDLE_TYPE *hdlp, uint8_t *host_addr,
1120 *host_addr++ = lombus_pat_get8(hdlp, dev_addr);
1124 lombus_pat_rep_put8(HANDLE_TYPE *hdlp, uint8_t *host_addr,
1131 lombus_pat_put8(hdlp, dev_addr, *host_addr++);
1140 lombus_event_get16(HANDLE_TYPE *hdlp, uint16_t *addr)
1149 offset = ADDR_TO_OFFSET(addr, hdlp);
1150 if (offset < 0 || (offset%2) != 0 || offset >= HANDLE_MAPLEN(hdlp)) {
1154 HANDLE_FAULT(hdlp) = LOMBUS_ERR_REG_NUM;
1162 ssp = HANDLE_PRIVATE(hdlp);
1167 lombus_event_put16(HANDLE_TYPE *hdlp, uint16_t *addr, uint16_t val)
1177 offset = ADDR_TO_OFFSET(addr, hdlp);
1178 if (offset < 0 || (offset%2) != 0 || offset >= HANDLE_MAPLEN(hdlp)) {
1182 HANDLE_FAULT(hdlp) = LOMBUS_ERR_REG_NUM;
1189 HANDLE_FAULT(hdlp) = LOMBUS_ERR_REG_RO;
1193 lombus_event_rep_get16(HANDLE_TYPE *hdlp, uint16_t *host_addr,
1200 *host_addr++ = lombus_event_get16(hdlp, dev_addr);
1204 lombus_event_rep_put16(HANDLE_TYPE *hdlp, uint16_t *host_addr,
1211 lombus_event_put16(hdlp, dev_addr, *host_addr++);
1220 lombus_meta_get32(HANDLE_TYPE *hdlp, uint32_t *addr)
1230 offset = ADDR_TO_OFFSET(addr, hdlp);
1237 return (HANDLE_FAULT(hdlp));
1245 HANDLE_FAULT(hdlp) = 0;
1246 (void) lombus_cmd(hdlp, 0, 0, LOMBUS_CMD_NOP);
1247 return (HANDLE_FAULT(hdlp));
1260 ssp = HANDLE_PRIVATE(hdlp);
1267 HANDLE_FAULT(hdlp) = LOMBUS_ERR_REG_SIZE;
1273 lombus_meta_put32(HANDLE_TYPE *hdlp, uint32_t *addr, uint32_t val)
1282 offset = ADDR_TO_OFFSET(addr, hdlp);
1290 HANDLE_FAULT(hdlp) = val;
1300 HANDLE_FAULT(hdlp) = 0;
1301 (void) lombus_cmd(hdlp, 0, 0, LOMBUS_CMD_NOP);
1308 HANDLE_FAULT(hdlp) = LOMBUS_ERR_REG_SIZE;
1314 lombus_meta_rep_get32(HANDLE_TYPE *hdlp, uint32_t *host_addr,
1321 *host_addr++ = lombus_meta_get32(hdlp, dev_addr);
1325 lombus_meta_rep_put32(HANDLE_TYPE *hdlp, uint32_t *host_addr,
1332 lombus_meta_put32(hdlp, dev_addr, *host_addr++);
1341 lombus_no_get8(HANDLE_TYPE *hdlp, uint8_t *addr)
1348 HANDLE_FAULT(hdlp) = LOMBUS_ERR_REG_SIZE;
1353 lombus_no_put8(HANDLE_TYPE *hdlp, uint8_t *addr, uint8_t val)
1360 HANDLE_FAULT(hdlp) = LOMBUS_ERR_REG_SIZE;
1364 lombus_no_rep_get8(HANDLE_TYPE *hdlp, uint8_t *host_addr,
1372 HANDLE_FAULT(hdlp) = LOMBUS_ERR_REG_SIZE;
1376 lombus_no_rep_put8(HANDLE_TYPE *hdlp, uint8_t *host_addr,
1384 HANDLE_FAULT(hdlp) = LOMBUS_ERR_REG_SIZE;
1388 lombus_no_get16(HANDLE_TYPE *hdlp, uint16_t *addr)
1395 HANDLE_FAULT(hdlp) = LOMBUS_ERR_REG_SIZE;
1400 lombus_no_put16(HANDLE_TYPE *hdlp, uint16_t *addr, uint16_t val)
1407 HANDLE_FAULT(hdlp) = LOMBUS_ERR_REG_SIZE;
1411 lombus_no_rep_get16(HANDLE_TYPE *hdlp, uint16_t *host_addr,
1419 HANDLE_FAULT(hdlp) = LOMBUS_ERR_REG_SIZE;
1423 lombus_no_rep_put16(HANDLE_TYPE *hdlp, uint16_t *host_addr,
1431 HANDLE_FAULT(hdlp) = LOMBUS_ERR_REG_SIZE;
1435 lombus_no_get64(HANDLE_TYPE *hdlp, uint64_t *addr)
1442 HANDLE_FAULT(hdlp) = LOMBUS_ERR_REG_SIZE;
1447 lombus_no_put64(HANDLE_TYPE *hdlp, uint64_t *addr, uint64_t val)
1454 HANDLE_FAULT(hdlp) = LOMBUS_ERR_REG_SIZE;
1458 lombus_no_rep_get64(HANDLE_TYPE *hdlp, uint64_t *host_addr,
1466 HANDLE_FAULT(hdlp) = LOMBUS_ERR_REG_SIZE;
1470 lombus_no_rep_put64(HANDLE_TYPE *hdlp, uint64_t *host_addr,
1478 HANDLE_FAULT(hdlp) = LOMBUS_ERR_REG_SIZE;
1482 lombus_acc_fault_check(HANDLE_TYPE *hdlp)
1484 return (HANDLE_FAULT(hdlp) != 0);
1690 ndi_acc_handle_t *hdlp, caddr_t *addrp)
1702 ndi_set_acc_fns(hdlp, &lombus_vreg_acc_fns);
1706 ndi_set_acc_fns(hdlp, &lombus_pat_acc_fns);
1710 ndi_set_acc_fns(hdlp, &lombus_event_acc_fns);
1713 hdlp->ah_addr = *addrp = vaddr;
1714 hdlp->ah_len = len;
1715 hdlp->ah_bus_private = ssp;
1720 hdlp->ah_bus_private = NULL;
1730 ddi_acc_hdl_t *hdlp, caddr_t *addrp)
1732 ddi_acc_impl_t *aip = hdlp->ah_platform_private;
1815 hdlp->ah_addr = *addrp = vaddr;
1816 hdlp->ah_len = len;
1817 hdlp->ah_bus_private = ssp;
1822 hdlp->ah_bus_private = NULL;