| .. | .. |
|---|
| 79 | 79 | * are condition that have to be met for the extended control |
|---|
| 80 | 80 | * bit to have meaning. Sick. |
|---|
| 81 | 81 | */ |
|---|
| 82 | | - cdev->private->irb.scsw.cmd.ectl = 0; |
|---|
| 82 | + cdev->private->dma_area->irb.scsw.cmd.ectl = 0; |
|---|
| 83 | 83 | if ((irb->scsw.cmd.stctl & SCSW_STCTL_ALERT_STATUS) && |
|---|
| 84 | 84 | !(irb->scsw.cmd.stctl & SCSW_STCTL_INTER_STATUS)) |
|---|
| 85 | | - cdev->private->irb.scsw.cmd.ectl = irb->scsw.cmd.ectl; |
|---|
| 85 | + cdev->private->dma_area->irb.scsw.cmd.ectl = irb->scsw.cmd.ectl; |
|---|
| 86 | 86 | /* Check if extended control word is valid. */ |
|---|
| 87 | | - if (!cdev->private->irb.scsw.cmd.ectl) |
|---|
| 87 | + if (!cdev->private->dma_area->irb.scsw.cmd.ectl) |
|---|
| 88 | 88 | return; |
|---|
| 89 | 89 | /* Copy concurrent sense / model dependent information. */ |
|---|
| 90 | | - memcpy (&cdev->private->irb.ecw, irb->ecw, sizeof (irb->ecw)); |
|---|
| 90 | + memcpy(&cdev->private->dma_area->irb.ecw, irb->ecw, sizeof(irb->ecw)); |
|---|
| 91 | 91 | } |
|---|
| 92 | 92 | |
|---|
| 93 | 93 | /* |
|---|
| .. | .. |
|---|
| 118 | 118 | if (!ccw_device_accumulate_esw_valid(irb)) |
|---|
| 119 | 119 | return; |
|---|
| 120 | 120 | |
|---|
| 121 | | - cdev_irb = &cdev->private->irb; |
|---|
| 121 | + cdev_irb = &cdev->private->dma_area->irb; |
|---|
| 122 | 122 | |
|---|
| 123 | 123 | /* Copy last path used mask. */ |
|---|
| 124 | 124 | cdev_irb->esw.esw1.lpum = irb->esw.esw1.lpum; |
|---|
| .. | .. |
|---|
| 210 | 210 | ccw_device_path_notoper(cdev); |
|---|
| 211 | 211 | /* No irb accumulation for transport mode irbs. */ |
|---|
| 212 | 212 | if (scsw_is_tm(&irb->scsw)) { |
|---|
| 213 | | - memcpy(&cdev->private->irb, irb, sizeof(struct irb)); |
|---|
| 213 | + memcpy(&cdev->private->dma_area->irb, irb, sizeof(struct irb)); |
|---|
| 214 | 214 | return; |
|---|
| 215 | 215 | } |
|---|
| 216 | 216 | /* |
|---|
| .. | .. |
|---|
| 219 | 219 | if (!scsw_is_solicited(&irb->scsw)) |
|---|
| 220 | 220 | return; |
|---|
| 221 | 221 | |
|---|
| 222 | | - cdev_irb = &cdev->private->irb; |
|---|
| 222 | + cdev_irb = &cdev->private->dma_area->irb; |
|---|
| 223 | 223 | |
|---|
| 224 | 224 | /* |
|---|
| 225 | 225 | * If the clear function had been performed, all formerly pending |
|---|
| .. | .. |
|---|
| 227 | 227 | * intermediate accumulated status to the device driver. |
|---|
| 228 | 228 | */ |
|---|
| 229 | 229 | if (irb->scsw.cmd.fctl & SCSW_FCTL_CLEAR_FUNC) |
|---|
| 230 | | - memset(&cdev->private->irb, 0, sizeof(struct irb)); |
|---|
| 230 | + memset(&cdev->private->dma_area->irb, 0, sizeof(struct irb)); |
|---|
| 231 | 231 | |
|---|
| 232 | 232 | /* Copy bits which are valid only for the start function. */ |
|---|
| 233 | 233 | if (irb->scsw.cmd.fctl & SCSW_FCTL_START_FUNC) { |
|---|
| .. | .. |
|---|
| 329 | 329 | /* |
|---|
| 330 | 330 | * We have ending status but no sense information. Do a basic sense. |
|---|
| 331 | 331 | */ |
|---|
| 332 | | - sense_ccw = &to_io_private(sch)->sense_ccw; |
|---|
| 332 | + sense_ccw = &to_io_private(sch)->dma_area->sense_ccw; |
|---|
| 333 | 333 | sense_ccw->cmd_code = CCW_CMD_BASIC_SENSE; |
|---|
| 334 | | - sense_ccw->cda = (__u32) __pa(cdev->private->irb.ecw); |
|---|
| 334 | + sense_ccw->cda = (__u32) __pa(cdev->private->dma_area->irb.ecw); |
|---|
| 335 | 335 | sense_ccw->count = SENSE_MAX_COUNT; |
|---|
| 336 | 336 | sense_ccw->flags = CCW_FLAG_SLI; |
|---|
| 337 | 337 | |
|---|
| .. | .. |
|---|
| 364 | 364 | |
|---|
| 365 | 365 | if (!(irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) && |
|---|
| 366 | 366 | (irb->scsw.cmd.dstat & DEV_STAT_CHN_END)) { |
|---|
| 367 | | - cdev->private->irb.esw.esw0.erw.cons = 1; |
|---|
| 367 | + cdev->private->dma_area->irb.esw.esw0.erw.cons = 1; |
|---|
| 368 | 368 | cdev->private->flags.dosense = 0; |
|---|
| 369 | 369 | } |
|---|
| 370 | 370 | /* Check if path verification is required. */ |
|---|
| .. | .. |
|---|
| 386 | 386 | /* Check for basic sense. */ |
|---|
| 387 | 387 | if (cdev->private->flags.dosense && |
|---|
| 388 | 388 | !(irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK)) { |
|---|
| 389 | | - cdev->private->irb.esw.esw0.erw.cons = 1; |
|---|
| 389 | + cdev->private->dma_area->irb.esw.esw0.erw.cons = 1; |
|---|
| 390 | 390 | cdev->private->flags.dosense = 0; |
|---|
| 391 | 391 | return 0; |
|---|
| 392 | 392 | } |
|---|