Lines Matching refs:ldev_info
221 unsigned short ldev_num, struct myrs_ldev_info *ldev_info) in myrs_get_ldev_info() argument
230 memcpy(&ldev_info_orig, ldev_info, sizeof(struct myrs_ldev_info)); in myrs_get_ldev_info()
231 ldev_info_addr = dma_map_single(&cs->pdev->dev, ldev_info, in myrs_get_ldev_info()
239 mbox->ldev_info.id = MYRS_DCMD_TAG; in myrs_get_ldev_info()
240 mbox->ldev_info.opcode = MYRS_CMD_OP_IOCTL; in myrs_get_ldev_info()
241 mbox->ldev_info.control.dma_ctrl_to_host = true; in myrs_get_ldev_info()
242 mbox->ldev_info.control.no_autosense = true; in myrs_get_ldev_info()
243 mbox->ldev_info.dma_size = sizeof(struct myrs_ldev_info); in myrs_get_ldev_info()
244 mbox->ldev_info.ldev.ldev_num = ldev_num; in myrs_get_ldev_info()
245 mbox->ldev_info.ioctl_opcode = MYRS_IOCTL_GET_LDEV_INFO_VALID; in myrs_get_ldev_info()
246 sgl = &mbox->ldev_info.dma_addr; in myrs_get_ldev_info()
248 sgl->sge[0].sge_count = mbox->ldev_info.dma_size; in myrs_get_ldev_info()
257 unsigned short ldev_num = ldev_info->ldev_num; in myrs_get_ldev_info()
258 struct myrs_ldev_info *new = ldev_info; in myrs_get_ldev_info()
948 struct myrs_ldev_info *ldev_info = sdev->hostdata; in raid_state_show() local
951 name = myrs_devstate_name(ldev_info->dev_state); in raid_state_show()
956 ldev_info->dev_state); in raid_state_show()
1010 struct myrs_ldev_info *ldev_info = sdev->hostdata; in raid_state_store() local
1012 if (ldev_info->dev_state == new_state) { in raid_state_store()
1018 ldev_num = ldev_info->ldev_num; in raid_state_store()
1040 struct myrs_ldev_info *ldev_info = sdev->hostdata; in raid_state_store() local
1042 ldev_info->dev_state = new_state; in raid_state_store()
1067 struct myrs_ldev_info *ldev_info; in raid_level_show() local
1069 ldev_info = sdev->hostdata; in raid_level_show()
1070 name = myrs_raid_level_name(ldev_info->raid_level); in raid_level_show()
1073 ldev_info->dev_state); in raid_level_show()
1087 struct myrs_ldev_info *ldev_info; in rebuild_show() local
1094 ldev_info = sdev->hostdata; in rebuild_show()
1095 ldev_num = ldev_info->ldev_num; in rebuild_show()
1096 status = myrs_get_ldev_info(cs, ldev_num, ldev_info); in rebuild_show()
1103 if (ldev_info->rbld_active) { in rebuild_show()
1105 (size_t)ldev_info->rbld_lba, in rebuild_show()
1106 (size_t)ldev_info->cfg_devsize); in rebuild_show()
1116 struct myrs_ldev_info *ldev_info; in rebuild_store() local
1126 ldev_info = sdev->hostdata; in rebuild_store()
1127 if (!ldev_info) in rebuild_store()
1129 ldev_num = ldev_info->ldev_num; in rebuild_store()
1135 status = myrs_get_ldev_info(cs, ldev_num, ldev_info); in rebuild_store()
1143 if (rebuild && ldev_info->rbld_active) { in rebuild_store()
1148 if (!rebuild && !ldev_info->rbld_active) { in rebuild_store()
1163 mbox->ldev_info.ldev.ldev_num = ldev_num; in rebuild_store()
1164 mbox->ldev_info.ioctl_opcode = MYRS_IOCTL_RBLD_DEVICE_START; in rebuild_store()
1166 mbox->ldev_info.ldev.ldev_num = ldev_num; in rebuild_store()
1167 mbox->ldev_info.ioctl_opcode = MYRS_IOCTL_RBLD_DEVICE_STOP; in rebuild_store()
1192 struct myrs_ldev_info *ldev_info; in consistency_check_show() local
1199 ldev_info = sdev->hostdata; in consistency_check_show()
1200 if (!ldev_info) in consistency_check_show()
1202 ldev_num = ldev_info->ldev_num; in consistency_check_show()
1203 status = myrs_get_ldev_info(cs, ldev_num, ldev_info); in consistency_check_show()
1204 if (ldev_info->cc_active) in consistency_check_show()
1206 (size_t)ldev_info->cc_lba, in consistency_check_show()
1207 (size_t)ldev_info->cfg_devsize); in consistency_check_show()
1217 struct myrs_ldev_info *ldev_info; in consistency_check_store() local
1227 ldev_info = sdev->hostdata; in consistency_check_store()
1228 if (!ldev_info) in consistency_check_store()
1230 ldev_num = ldev_info->ldev_num; in consistency_check_store()
1236 status = myrs_get_ldev_info(cs, ldev_num, ldev_info); in consistency_check_store()
1243 if (check && ldev_info->cc_active) { in consistency_check_store()
1249 if (!check && !ldev_info->cc_active) { in consistency_check_store()
1542 struct myrs_ldev_info *ldev_info) in myrs_mode_sense() argument
1559 if (ldev_info->ldev_control.wce == MYRS_LOGICALDEVICE_RO) in myrs_mode_sense()
1565 put_unaligned_be32(ldev_info->cfg_devsize, &block_desc[0]); in myrs_mode_sense()
1566 put_unaligned_be32(ldev_info->devsize_bytes, &block_desc[5]); in myrs_mode_sense()
1570 if (ldev_info->ldev_control.rce == MYRS_READCACHE_DISABLED) in myrs_mode_sense()
1572 if (ldev_info->ldev_control.wce == MYRS_WRITECACHE_ENABLED || in myrs_mode_sense()
1573 ldev_info->ldev_control.wce == MYRS_INTELLIGENT_WRITECACHE_ENABLED) in myrs_mode_sense()
1575 if (ldev_info->cacheline_size) { in myrs_mode_sense()
1577 put_unaligned_be16(1 << ldev_info->cacheline_size, in myrs_mode_sense()
1612 struct myrs_ldev_info *ldev_info = sdev->hostdata; in myrs_queuecommand() local
1622 myrs_mode_sense(cs, scmd, ldev_info); in myrs_queuecommand()
1641 struct myrs_ldev_info *ldev_info = sdev->hostdata; in myrs_queuecommand() local
1644 mbox->SCSI_10.pdev.lun = ldev_info->lun; in myrs_queuecommand()
1645 mbox->SCSI_10.pdev.target = ldev_info->target; in myrs_queuecommand()
1646 mbox->SCSI_10.pdev.channel = ldev_info->channel; in myrs_queuecommand()
1687 struct myrs_ldev_info *ldev_info = sdev->hostdata; in myrs_queuecommand() local
1690 mbox->SCSI_255.pdev.lun = ldev_info->lun; in myrs_queuecommand()
1691 mbox->SCSI_255.pdev.target = ldev_info->target; in myrs_queuecommand()
1692 mbox->SCSI_255.pdev.channel = ldev_info->channel; in myrs_queuecommand()
1802 struct myrs_ldev_info *ldev_info; in myrs_slave_alloc() local
1810 ldev_info = kzalloc(sizeof(*ldev_info), GFP_KERNEL|GFP_DMA); in myrs_slave_alloc()
1811 if (!ldev_info) in myrs_slave_alloc()
1814 status = myrs_get_ldev_info(cs, ldev_num, ldev_info); in myrs_slave_alloc()
1817 kfree(ldev_info); in myrs_slave_alloc()
1823 ldev_info->channel, ldev_info->target, in myrs_slave_alloc()
1824 ldev_info->lun, ldev_info->ldev_num); in myrs_slave_alloc()
1826 sdev->hostdata = ldev_info; in myrs_slave_alloc()
1827 switch (ldev_info->raid_level) { in myrs_slave_alloc()
1860 if (ldev_info->dev_state != MYRS_DEVICE_ONLINE) { in myrs_slave_alloc()
1863 name = myrs_devstate_name(ldev_info->dev_state); in myrs_slave_alloc()
1892 struct myrs_ldev_info *ldev_info; in myrs_slave_configure() local
1907 ldev_info = sdev->hostdata; in myrs_slave_configure()
1908 if (!ldev_info) in myrs_slave_configure()
1910 if (ldev_info->ldev_control.wce == MYRS_WRITECACHE_ENABLED || in myrs_slave_configure()
1911 ldev_info->ldev_control.wce == MYRS_INTELLIGENT_WRITECACHE_ENABLED) in myrs_slave_configure()
1983 struct myrs_ldev_info *ldev_info = sdev->hostdata; in myrs_get_resync() local
1987 if (sdev->channel < cs->ctlr_info->physchan_present || !ldev_info) in myrs_get_resync()
1989 if (ldev_info->rbld_active) { in myrs_get_resync()
1990 unsigned short ldev_num = ldev_info->ldev_num; in myrs_get_resync()
1992 status = myrs_get_ldev_info(cs, ldev_num, ldev_info); in myrs_get_resync()
1993 percent_complete = ldev_info->rbld_lba * 100; in myrs_get_resync()
1994 do_div(percent_complete, ldev_info->cfg_devsize); in myrs_get_resync()
2008 struct myrs_ldev_info *ldev_info = sdev->hostdata; in myrs_get_state() local
2011 if (sdev->channel < cs->ctlr_info->physchan_present || !ldev_info) in myrs_get_state()
2014 switch (ldev_info->dev_state) { in myrs_get_state()
2150 struct myrs_ldev_info *ldev_info; in myrs_monitor() local
2155 ldev_info = sdev->hostdata; in myrs_monitor()
2156 if (!ldev_info) in myrs_monitor()
2158 ldev_num = ldev_info->ldev_num; in myrs_monitor()
2159 myrs_get_ldev_info(cs, ldev_num, ldev_info); in myrs_monitor()