senseid
cdev->id.cu_type = cdev->private->dma_area->senseid.cu_type;
cdev->id.cu_model = cdev->private->dma_area->senseid.cu_model;
cdev->id.dev_type = cdev->private->dma_area->senseid.dev_type;
cdev->id.dev_model = cdev->private->dma_area->senseid.dev_model;
cdev->private->dma_area->senseid.cu_type &&
cdev->private->dma_area->senseid.cu_model &&
cdev->private->dma_area->senseid.dev_type &&
cdev->private->dma_area->senseid.dev_model;
struct senseid *senseid = &cdev->private->dma_area->senseid;
if (diag210_to_senseid(senseid, &diag_data))
memset(&cdev->private->dma_area->senseid, 0,
sizeof(cdev->private->dma_area->senseid));
cdev->private->dma_area->senseid.cu_type = 0xffff;
int len = sizeof(struct senseid) - scsw->count;
if (cdev->private->dma_area->senseid.cu_type == 0xffff)
if (cdev->private->dma_area->senseid.reserved != 0xff)
struct senseid *senseid = &cdev->private->dma_area->senseid;
senseid->cu_type, senseid->cu_model, senseid->dev_type,
senseid->dev_model, vm ? " (diag210)" : "");
cp->cda = virt_to_dma32(&cdev->private->dma_area->senseid);
cp->count = sizeof(struct senseid);
static int diag210_to_senseid(struct senseid *senseid, struct diag210 *diag)
senseid->cu_type = 0x3088;
senseid->cu_model = 0x60;
senseid->reserved = 0xff;
senseid->cu_type = vm_devices[i].cu_type;
senseid->reserved = 0xff;
if (cdev->private->dma_area->senseid.ciw[ciw_cnt].ct == ct)
return &cdev->private->dma_area->senseid.ciw[ciw_cnt];
struct senseid senseid; /* SenseID info */