Lines Matching full:hp

423 			struct compat_sg_io_hdr __user *hp = buf;  in get_sg_io_pack_id()  local
425 return get_user(*pack_id, &hp->pack_id); in get_sg_io_pack_id()
429 struct sg_io_hdr __user *hp = buf; in get_sg_io_pack_id() local
431 return get_user(*pack_id, &hp->pack_id); in get_sg_io_pack_id()
448 sg_io_hdr_t *hp; in sg_read() local
484 hp = &srp->header; in sg_read()
489 old_hdr->reply_len = (int) hp->timeout; in sg_read()
491 old_hdr->pack_id = hp->pack_id; in sg_read()
493 ((srp->data.cmd_opcode >= 0xc0) && (12 == hp->cmd_len)) ? 1 : 0; in sg_read()
494 old_hdr->target_status = hp->masked_status; in sg_read()
495 old_hdr->host_status = hp->host_status; in sg_read()
496 old_hdr->driver_status = hp->driver_status; in sg_read()
497 if ((CHECK_CONDITION & hp->masked_status) || in sg_read()
498 (DRIVER_SENSE & hp->driver_status)) in sg_read()
501 switch (hp->host_status) { in sg_read()
523 hp->masked_status == GOOD) ? 0 : EIO; in sg_read()
558 sg_io_hdr_t *hp = &srp->header; in sg_new_read() local
571 hp->sb_len_wr = 0; in sg_new_read()
572 if ((hp->mx_sb_len > 0) && hp->sbp) { in sg_new_read()
573 if ((CHECK_CONDITION & hp->masked_status) || in sg_new_read()
574 (DRIVER_SENSE & hp->driver_status)) { in sg_new_read()
576 sb_len = (hp->mx_sb_len > sb_len) ? sb_len : hp->mx_sb_len; in sg_new_read()
579 if (copy_to_user(hp->sbp, srp->sense_b, len)) { in sg_new_read()
583 hp->sb_len_wr = len; in sg_new_read()
586 if (hp->masked_status || hp->host_status || hp->driver_status) in sg_new_read()
587 hp->info |= SG_INFO_CHECK; in sg_new_read()
588 err = put_sg_io_hdr(hp, buf); in sg_new_read()
605 sg_io_hdr_t *hp; in sg_write() local
664 hp = &srp->header; in sg_write()
665 hp->interface_id = '\0'; /* indicator of old interface tunnelled */ in sg_write()
666 hp->cmd_len = (unsigned char) cmd_size; in sg_write()
667 hp->iovec_count = 0; in sg_write()
668 hp->mx_sb_len = 0; in sg_write()
670 hp->dxfer_direction = (old_hdr.reply_len > SZ_SG_HEADER) ? in sg_write()
673 hp->dxfer_direction = (mxsize > 0) ? SG_DXFER_FROM_DEV : SG_DXFER_NONE; in sg_write()
674 hp->dxfer_len = mxsize; in sg_write()
675 if ((hp->dxfer_direction == SG_DXFER_TO_DEV) || in sg_write()
676 (hp->dxfer_direction == SG_DXFER_TO_FROM_DEV)) in sg_write()
677 hp->dxferp = (char __user *)buf + cmd_size; in sg_write()
679 hp->dxferp = NULL; in sg_write()
680 hp->sbp = NULL; in sg_write()
681 hp->timeout = old_hdr.reply_len; /* structure abuse ... */ in sg_write()
682 hp->flags = input_size; /* structure abuse ... */ in sg_write()
683 hp->pack_id = old_hdr.pack_id; in sg_write()
684 hp->usr_ptr = NULL; in sg_write()
694 if (hp->dxfer_direction == SG_DXFER_TO_FROM_DEV) { in sg_write()
715 sg_io_hdr_t *hp; in sg_new_write() local
730 hp = &srp->header; in sg_new_write()
731 if (get_sg_io_hdr(hp, buf)) { in sg_new_write()
735 if (hp->interface_id != 'S') { in sg_new_write()
739 if (hp->flags & SG_FLAG_MMAP_IO) { in sg_new_write()
740 if (hp->dxfer_len > sfp->reserve.bufflen) { in sg_new_write()
744 if (hp->flags & SG_FLAG_DIRECT_IO) { in sg_new_write()
755 if ((!hp->cmdp) || (hp->cmd_len < 6) || (hp->cmd_len > sizeof (cmnd))) { in sg_new_write()
759 if (copy_from_user(cmnd, hp->cmdp, hp->cmd_len)) { in sg_new_write()
781 sg_io_hdr_t *hp = &srp->header; in sg_common_write() local
784 hp->status = 0; in sg_common_write()
785 hp->masked_status = 0; in sg_common_write()
786 hp->msg_status = 0; in sg_common_write()
787 hp->info = 0; in sg_common_write()
788 hp->host_status = 0; in sg_common_write()
789 hp->driver_status = 0; in sg_common_write()
790 hp->resid = 0; in sg_common_write()
793 (int) cmnd[0], (int) hp->cmd_len)); in sg_common_write()
795 if (hp->dxfer_len >= SZ_256M) { in sg_common_write()
820 hp->duration = jiffies_to_msecs(jiffies); in sg_common_write()
821 if (hp->interface_id != '\0' && /* v3 (or later) interface */ in sg_common_write()
822 (SG_FLAG_Q_AT_TAIL & hp->flags)) in sg_common_write()
1722 sg_io_hdr_t *hp = &srp->header; in sg_start_req() local
1723 int dxfer_len = (int) hp->dxfer_len; in sg_start_req()
1724 int dxfer_dir = hp->dxfer_direction; in sg_start_req()
1725 unsigned int iov_count = hp->iovec_count; in sg_start_req()
1730 int rw = hp->dxfer_direction == SG_DXFER_TO_DEV ? WRITE : READ; in sg_start_req()
1737 if (hp->cmd_len > BLK_MAX_CDB) { in sg_start_req()
1738 long_cmdp = kzalloc(hp->cmd_len, GFP_KERNEL); in sg_start_req()
1754 rq = blk_get_request(q, hp->dxfer_direction == SG_DXFER_TO_DEV ? in sg_start_req()
1762 if (hp->cmd_len > BLK_MAX_CDB) in sg_start_req()
1764 memcpy(req->cmd, cmd, hp->cmd_len); in sg_start_req()
1765 req->cmd_len = hp->cmd_len; in sg_start_req()
1774 if (sg_allow_dio && hp->flags & SG_FLAG_DIRECT_IO && in sg_start_req()
1777 blk_rq_aligned(q, (unsigned long)hp->dxferp, dxfer_len)) in sg_start_req()
1788 } else if (hp->flags & SG_FLAG_MMAP_IO) { in sg_start_req()
1807 md->null_mapped = hp->dxferp ? 0 : 1; in sg_start_req()
1818 res = import_iovec(rw, hp->dxferp, iov_count, 0, &iov, &i); in sg_start_req()
1822 iov_iter_truncate(&i, hp->dxfer_len); in sg_start_req()
1831 res = blk_rq_map_user(q, rq, md, hp->dxferp, in sg_start_req()
1832 hp->dxfer_len, GFP_ATOMIC); in sg_start_req()
1839 hp->info |= SG_INFO_DIRECT_IO; in sg_start_req()
2552 const sg_io_hdr_t *hp; in sg_proc_debug_helper() local
2570 hp = &srp->header; in sg_proc_debug_helper()
2571 new_interface = (hp->interface_id == '\0') ? 0 : 1; in sg_proc_debug_helper()
2574 (SG_FLAG_MMAP_IO & hp->flags)) in sg_proc_debug_helper()
2579 if (SG_INFO_DIRECT_IO_MASK & hp->info) in sg_proc_debug_helper()
2593 seq_printf(s, " dur=%d", hp->duration); in sg_proc_debug_helper()
2597 (new_interface ? hp->timeout : in sg_proc_debug_helper()
2599 (ms > hp->duration ? ms - hp->duration : 0)); in sg_proc_debug_helper()