Lines Matching refs:inq_response
524 struct sg_io_hdr *hdr, u8 *inq_response, in nvme_trans_standard_inquiry_page() argument
549 memset(inq_response, 0, STANDARD_INQUIRY_LENGTH); in nvme_trans_standard_inquiry_page()
550 inq_response[2] = VERSION_SPC_4; in nvme_trans_standard_inquiry_page()
551 inq_response[3] = resp_data_format; /*normaca=0 | hisup=0 */ in nvme_trans_standard_inquiry_page()
552 inq_response[4] = ADDITIONAL_STD_INQ_LENGTH; in nvme_trans_standard_inquiry_page()
553 inq_response[5] = protect; /* sccs=0 | acc=0 | tpgs=0 | pc3=0 */ in nvme_trans_standard_inquiry_page()
554 inq_response[7] = cmdque; /* wbus16=0 | sync=0 | vs=0 */ in nvme_trans_standard_inquiry_page()
555 strncpy(&inq_response[8], "NVMe ", 8); in nvme_trans_standard_inquiry_page()
556 strncpy(&inq_response[16], dev->model, 16); in nvme_trans_standard_inquiry_page()
561 strncpy(&inq_response[32], dev->firmware_rev + fw_offset, 4); in nvme_trans_standard_inquiry_page()
564 return nvme_trans_copy_to_user(hdr, inq_response, xfer_len); in nvme_trans_standard_inquiry_page()
568 struct sg_io_hdr *hdr, u8 *inq_response, in nvme_trans_supported_vpd_pages() argument
573 memset(inq_response, 0, STANDARD_INQUIRY_LENGTH); in nvme_trans_supported_vpd_pages()
574 inq_response[1] = INQ_SUPPORTED_VPD_PAGES_PAGE; /* Page Code */ in nvme_trans_supported_vpd_pages()
575 inq_response[3] = INQ_NUM_SUPPORTED_VPD_PAGES; /* Page Length */ in nvme_trans_supported_vpd_pages()
576 inq_response[4] = INQ_SUPPORTED_VPD_PAGES_PAGE; in nvme_trans_supported_vpd_pages()
577 inq_response[5] = INQ_UNIT_SERIAL_NUMBER_PAGE; in nvme_trans_supported_vpd_pages()
578 inq_response[6] = INQ_DEVICE_IDENTIFICATION_PAGE; in nvme_trans_supported_vpd_pages()
579 inq_response[7] = INQ_EXTENDED_INQUIRY_DATA_PAGE; in nvme_trans_supported_vpd_pages()
580 inq_response[8] = INQ_BDEV_CHARACTERISTICS_PAGE; in nvme_trans_supported_vpd_pages()
581 inq_response[9] = INQ_BDEV_LIMITS_PAGE; in nvme_trans_supported_vpd_pages()
584 return nvme_trans_copy_to_user(hdr, inq_response, xfer_len); in nvme_trans_supported_vpd_pages()
588 struct sg_io_hdr *hdr, u8 *inq_response, in nvme_trans_unit_serial_page() argument
594 memset(inq_response, 0, STANDARD_INQUIRY_LENGTH); in nvme_trans_unit_serial_page()
595 inq_response[1] = INQ_UNIT_SERIAL_NUMBER_PAGE; /* Page Code */ in nvme_trans_unit_serial_page()
596 inq_response[3] = INQ_SERIAL_NUMBER_LENGTH; /* Page Length */ in nvme_trans_unit_serial_page()
597 strncpy(&inq_response[4], dev->serial, INQ_SERIAL_NUMBER_LENGTH); in nvme_trans_unit_serial_page()
600 return nvme_trans_copy_to_user(hdr, inq_response, xfer_len); in nvme_trans_unit_serial_page()
604 u8 *inq_response, int alloc_len) in nvme_trans_device_id_page() argument
612 memset(inq_response, 0, alloc_len); in nvme_trans_device_id_page()
613 inq_response[1] = INQ_DEVICE_IDENTIFICATION_PAGE; /* Page Code */ in nvme_trans_device_id_page()
637 inq_response[3] = 4 + len; /* Page Length */ in nvme_trans_device_id_page()
639 inq_response[4] = 0x01; /* Proto ID=0h | Code set=1h */ in nvme_trans_device_id_page()
640 inq_response[5] = 0x02; /* PIV=0b | Asso=00b | Designator Type=2h */ in nvme_trans_device_id_page()
641 inq_response[6] = 0x00; /* Rsvd */ in nvme_trans_device_id_page()
642 inq_response[7] = len; /* Designator Length */ in nvme_trans_device_id_page()
643 memcpy(&inq_response[8], eui, len); in nvme_trans_device_id_page()
653 inq_response[3] = 0x48; /* Page Length */ in nvme_trans_device_id_page()
655 inq_response[4] = 0x03; /* Proto ID=0h | Code set=3h */ in nvme_trans_device_id_page()
656 inq_response[5] = 0x08; /* PIV=0b | Asso=00b | Designator Type=8h */ in nvme_trans_device_id_page()
657 inq_response[6] = 0x00; /* Rsvd */ in nvme_trans_device_id_page()
658 inq_response[7] = 0x44; /* Designator Length */ in nvme_trans_device_id_page()
660 sprintf(&inq_response[8], "%04x", to_pci_dev(dev->dev)->vendor); in nvme_trans_device_id_page()
661 memcpy(&inq_response[12], dev->model, sizeof(dev->model)); in nvme_trans_device_id_page()
662 sprintf(&inq_response[52], "%04x", tmp_id); in nvme_trans_device_id_page()
663 memcpy(&inq_response[56], dev->serial, sizeof(dev->serial)); in nvme_trans_device_id_page()
666 return nvme_trans_copy_to_user(hdr, inq_response, xfer_len); in nvme_trans_device_id_page()
672 u8 *inq_response; in nvme_trans_ext_inq_page() local
687 inq_response = kmalloc(EXTENDED_INQUIRY_DATA_PAGE_LENGTH, GFP_KERNEL); in nvme_trans_ext_inq_page()
688 if (inq_response == NULL) in nvme_trans_ext_inq_page()
715 memset(inq_response, 0, EXTENDED_INQUIRY_DATA_PAGE_LENGTH); in nvme_trans_ext_inq_page()
716 inq_response[1] = INQ_EXTENDED_INQUIRY_DATA_PAGE; /* Page Code */ in nvme_trans_ext_inq_page()
717 inq_response[2] = 0x00; /* Page Length MSB */ in nvme_trans_ext_inq_page()
718 inq_response[3] = 0x3C; /* Page Length LSB */ in nvme_trans_ext_inq_page()
719 inq_response[4] = microcode | spt | grd_chk | app_chk | ref_chk; in nvme_trans_ext_inq_page()
720 inq_response[5] = uask_sup; in nvme_trans_ext_inq_page()
721 inq_response[6] = v_sup; in nvme_trans_ext_inq_page()
722 inq_response[7] = luiclr; in nvme_trans_ext_inq_page()
723 inq_response[8] = 0; in nvme_trans_ext_inq_page()
724 inq_response[9] = 0; in nvme_trans_ext_inq_page()
727 res = nvme_trans_copy_to_user(hdr, inq_response, xfer_len); in nvme_trans_ext_inq_page()
730 kfree(inq_response); in nvme_trans_ext_inq_page()
735 u8 *inq_response, int alloc_len) in nvme_trans_bdev_limits_page() argument
742 memset(inq_response, 0, STANDARD_INQUIRY_LENGTH); in nvme_trans_bdev_limits_page()
743 inq_response[1] = VPD_BLOCK_LIMITS; in nvme_trans_bdev_limits_page()
744 inq_response[3] = 0x3c; /* Page Length */ in nvme_trans_bdev_limits_page()
745 memcpy(&inq_response[8], &max_sectors, sizeof(u32)); in nvme_trans_bdev_limits_page()
746 memcpy(&inq_response[20], &max_discard, sizeof(u32)); in nvme_trans_bdev_limits_page()
749 memcpy(&inq_response[24], &discard_desc_count, sizeof(u32)); in nvme_trans_bdev_limits_page()
751 return nvme_trans_copy_to_user(hdr, inq_response, 0x3c); in nvme_trans_bdev_limits_page()
757 u8 *inq_response; in nvme_trans_bdev_char_page() local
761 inq_response = kzalloc(EXTENDED_INQUIRY_DATA_PAGE_LENGTH, GFP_KERNEL); in nvme_trans_bdev_char_page()
762 if (inq_response == NULL) { in nvme_trans_bdev_char_page()
767 inq_response[1] = INQ_BDEV_CHARACTERISTICS_PAGE; /* Page Code */ in nvme_trans_bdev_char_page()
768 inq_response[2] = 0x00; /* Page Length MSB */ in nvme_trans_bdev_char_page()
769 inq_response[3] = 0x3C; /* Page Length LSB */ in nvme_trans_bdev_char_page()
770 inq_response[4] = 0x00; /* Medium Rotation Rate MSB */ in nvme_trans_bdev_char_page()
771 inq_response[5] = 0x01; /* Medium Rotation Rate LSB */ in nvme_trans_bdev_char_page()
772 inq_response[6] = 0x00; /* Form Factor */ in nvme_trans_bdev_char_page()
775 res = nvme_trans_copy_to_user(hdr, inq_response, xfer_len); in nvme_trans_bdev_char_page()
777 kfree(inq_response); in nvme_trans_bdev_char_page()
1834 u8 *inq_response; in nvme_trans_inquiry() local
1840 inq_response = kmalloc(max(alloc_len, STANDARD_INQUIRY_LENGTH), in nvme_trans_inquiry()
1842 if (inq_response == NULL) { in nvme_trans_inquiry()
1850 inq_response, alloc_len); in nvme_trans_inquiry()
1862 inq_response, alloc_len); in nvme_trans_inquiry()
1865 res = nvme_trans_unit_serial_page(ns, hdr, inq_response, in nvme_trans_inquiry()
1869 res = nvme_trans_device_id_page(ns, hdr, inq_response, in nvme_trans_inquiry()
1876 res = nvme_trans_bdev_limits_page(ns, hdr, inq_response, in nvme_trans_inquiry()
1891 kfree(inq_response); in nvme_trans_inquiry()