Commit c0bd3960 authored by Heiko Carstens's avatar Heiko Carstens

s390/dasd: use new address translation helpers

Use virt_to_dma32() and friends to properly convert virtual to physical and
physical to virtual addresses so that "make C=1" does not generate any
warnings anymore.
Reviewed-by: default avatarStefan Haberland <sth@linux.ibm.com>
Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
parent bdd0ab97
...@@ -3976,7 +3976,7 @@ static struct dasd_ccw_req *dasd_generic_build_rdc(struct dasd_device *device, ...@@ -3976,7 +3976,7 @@ static struct dasd_ccw_req *dasd_generic_build_rdc(struct dasd_device *device,
ccw = cqr->cpaddr; ccw = cqr->cpaddr;
ccw->cmd_code = CCW_CMD_RDC; ccw->cmd_code = CCW_CMD_RDC;
ccw->cda = (__u32)virt_to_phys(cqr->data); ccw->cda = virt_to_dma32(cqr->data);
ccw->flags = 0; ccw->flags = 0;
ccw->count = rdc_buffer_size; ccw->count = rdc_buffer_size;
cqr->startdev = device; cqr->startdev = device;
...@@ -4020,7 +4020,7 @@ char *dasd_get_sense(struct irb *irb) ...@@ -4020,7 +4020,7 @@ char *dasd_get_sense(struct irb *irb)
if (scsw_is_tm(&irb->scsw) && (irb->scsw.tm.fcxs == 0x01)) { if (scsw_is_tm(&irb->scsw) && (irb->scsw.tm.fcxs == 0x01)) {
if (irb->scsw.tm.tcw) if (irb->scsw.tm.tcw)
tsb = tcw_get_tsb(phys_to_virt(irb->scsw.tm.tcw)); tsb = tcw_get_tsb(dma32_to_virt(irb->scsw.tm.tcw));
if (tsb && tsb->length == 64 && tsb->flags) if (tsb && tsb->length == 64 && tsb->flags)
switch (tsb->flags & 0x07) { switch (tsb->flags & 0x07) {
case 1: /* tsa_iostat */ case 1: /* tsa_iostat */
......
...@@ -216,7 +216,7 @@ dasd_3990_erp_DCTL(struct dasd_ccw_req * erp, char modifier) ...@@ -216,7 +216,7 @@ dasd_3990_erp_DCTL(struct dasd_ccw_req * erp, char modifier)
memset(ccw, 0, sizeof(struct ccw1)); memset(ccw, 0, sizeof(struct ccw1));
ccw->cmd_code = CCW_CMD_DCTL; ccw->cmd_code = CCW_CMD_DCTL;
ccw->count = 4; ccw->count = 4;
ccw->cda = (__u32)virt_to_phys(DCTL_data); ccw->cda = virt_to_dma32(DCTL_data);
dctl_cqr->flags = erp->flags; dctl_cqr->flags = erp->flags;
dctl_cqr->function = dasd_3990_erp_DCTL; dctl_cqr->function = dasd_3990_erp_DCTL;
dctl_cqr->refers = erp; dctl_cqr->refers = erp;
...@@ -1589,7 +1589,7 @@ dasd_3990_erp_action_1B_32(struct dasd_ccw_req * default_erp, char *sense) ...@@ -1589,7 +1589,7 @@ dasd_3990_erp_action_1B_32(struct dasd_ccw_req * default_erp, char *sense)
{ {
struct dasd_device *device = default_erp->startdev; struct dasd_device *device = default_erp->startdev;
__u32 cpa = 0; dma32_t cpa = 0;
struct dasd_ccw_req *cqr; struct dasd_ccw_req *cqr;
struct dasd_ccw_req *erp; struct dasd_ccw_req *erp;
struct DE_eckd_data *DE_data; struct DE_eckd_data *DE_data;
...@@ -1693,7 +1693,7 @@ dasd_3990_erp_action_1B_32(struct dasd_ccw_req * default_erp, char *sense) ...@@ -1693,7 +1693,7 @@ dasd_3990_erp_action_1B_32(struct dasd_ccw_req * default_erp, char *sense)
ccw->cmd_code = DASD_ECKD_CCW_DEFINE_EXTENT; ccw->cmd_code = DASD_ECKD_CCW_DEFINE_EXTENT;
ccw->flags = CCW_FLAG_CC; ccw->flags = CCW_FLAG_CC;
ccw->count = 16; ccw->count = 16;
ccw->cda = (__u32)virt_to_phys(DE_data); ccw->cda = virt_to_dma32(DE_data);
/* create LO ccw */ /* create LO ccw */
ccw++; ccw++;
...@@ -1701,7 +1701,7 @@ dasd_3990_erp_action_1B_32(struct dasd_ccw_req * default_erp, char *sense) ...@@ -1701,7 +1701,7 @@ dasd_3990_erp_action_1B_32(struct dasd_ccw_req * default_erp, char *sense)
ccw->cmd_code = DASD_ECKD_CCW_LOCATE_RECORD; ccw->cmd_code = DASD_ECKD_CCW_LOCATE_RECORD;
ccw->flags = CCW_FLAG_CC; ccw->flags = CCW_FLAG_CC;
ccw->count = 16; ccw->count = 16;
ccw->cda = (__u32)virt_to_phys(LO_data); ccw->cda = virt_to_dma32(LO_data);
/* TIC to the failed ccw */ /* TIC to the failed ccw */
ccw++; ccw++;
...@@ -1747,7 +1747,7 @@ dasd_3990_update_1B(struct dasd_ccw_req * previous_erp, char *sense) ...@@ -1747,7 +1747,7 @@ dasd_3990_update_1B(struct dasd_ccw_req * previous_erp, char *sense)
{ {
struct dasd_device *device = previous_erp->startdev; struct dasd_device *device = previous_erp->startdev;
__u32 cpa = 0; dma32_t cpa = 0;
struct dasd_ccw_req *cqr; struct dasd_ccw_req *cqr;
struct dasd_ccw_req *erp; struct dasd_ccw_req *erp;
char *LO_data; /* struct LO_eckd_data */ char *LO_data; /* struct LO_eckd_data */
...@@ -2386,7 +2386,7 @@ static struct dasd_ccw_req *dasd_3990_erp_add_erp(struct dasd_ccw_req *cqr) ...@@ -2386,7 +2386,7 @@ static struct dasd_ccw_req *dasd_3990_erp_add_erp(struct dasd_ccw_req *cqr)
tcw = erp->cpaddr; tcw = erp->cpaddr;
tsb = (struct tsb *) &tcw[1]; tsb = (struct tsb *) &tcw[1];
*tcw = *((struct tcw *)cqr->cpaddr); *tcw = *((struct tcw *)cqr->cpaddr);
tcw->tsb = virt_to_phys(tsb); tcw->tsb = virt_to_dma64(tsb);
} else if (ccw->cmd_code == DASD_ECKD_CCW_PSF) { } else if (ccw->cmd_code == DASD_ECKD_CCW_PSF) {
/* PSF cannot be chained from NOOP/TIC */ /* PSF cannot be chained from NOOP/TIC */
erp->cpaddr = cqr->cpaddr; erp->cpaddr = cqr->cpaddr;
...@@ -2397,7 +2397,7 @@ static struct dasd_ccw_req *dasd_3990_erp_add_erp(struct dasd_ccw_req *cqr) ...@@ -2397,7 +2397,7 @@ static struct dasd_ccw_req *dasd_3990_erp_add_erp(struct dasd_ccw_req *cqr)
ccw->flags = CCW_FLAG_CC; ccw->flags = CCW_FLAG_CC;
ccw++; ccw++;
ccw->cmd_code = CCW_CMD_TIC; ccw->cmd_code = CCW_CMD_TIC;
ccw->cda = (__u32)virt_to_phys(cqr->cpaddr); ccw->cda = virt_to_dma32(cqr->cpaddr);
} }
erp->flags = cqr->flags; erp->flags = cqr->flags;
......
...@@ -435,7 +435,7 @@ static int read_unit_address_configuration(struct dasd_device *device, ...@@ -435,7 +435,7 @@ static int read_unit_address_configuration(struct dasd_device *device,
ccw->cmd_code = DASD_ECKD_CCW_PSF; ccw->cmd_code = DASD_ECKD_CCW_PSF;
ccw->count = sizeof(struct dasd_psf_prssd_data); ccw->count = sizeof(struct dasd_psf_prssd_data);
ccw->flags |= CCW_FLAG_CC; ccw->flags |= CCW_FLAG_CC;
ccw->cda = (__u32)virt_to_phys(prssdp); ccw->cda = virt_to_dma32(prssdp);
/* Read Subsystem Data - feature codes */ /* Read Subsystem Data - feature codes */
memset(lcu->uac, 0, sizeof(*(lcu->uac))); memset(lcu->uac, 0, sizeof(*(lcu->uac)));
...@@ -443,7 +443,7 @@ static int read_unit_address_configuration(struct dasd_device *device, ...@@ -443,7 +443,7 @@ static int read_unit_address_configuration(struct dasd_device *device,
ccw++; ccw++;
ccw->cmd_code = DASD_ECKD_CCW_RSSD; ccw->cmd_code = DASD_ECKD_CCW_RSSD;
ccw->count = sizeof(*(lcu->uac)); ccw->count = sizeof(*(lcu->uac));
ccw->cda = (__u32)virt_to_phys(lcu->uac); ccw->cda = virt_to_dma32(lcu->uac);
cqr->buildclk = get_tod_clock(); cqr->buildclk = get_tod_clock();
cqr->status = DASD_CQR_FILLED; cqr->status = DASD_CQR_FILLED;
...@@ -739,7 +739,7 @@ static int reset_summary_unit_check(struct alias_lcu *lcu, ...@@ -739,7 +739,7 @@ static int reset_summary_unit_check(struct alias_lcu *lcu,
ccw->cmd_code = DASD_ECKD_CCW_RSCK; ccw->cmd_code = DASD_ECKD_CCW_RSCK;
ccw->flags = CCW_FLAG_SLI; ccw->flags = CCW_FLAG_SLI;
ccw->count = 16; ccw->count = 16;
ccw->cda = (__u32)virt_to_phys(cqr->data); ccw->cda = virt_to_dma32(cqr->data);
((char *)cqr->data)[0] = reason; ((char *)cqr->data)[0] = reason;
clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags); clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags);
......
...@@ -283,7 +283,7 @@ define_extent(struct ccw1 *ccw, struct DE_eckd_data *data, unsigned int trk, ...@@ -283,7 +283,7 @@ define_extent(struct ccw1 *ccw, struct DE_eckd_data *data, unsigned int trk,
ccw->cmd_code = DASD_ECKD_CCW_DEFINE_EXTENT; ccw->cmd_code = DASD_ECKD_CCW_DEFINE_EXTENT;
ccw->flags = 0; ccw->flags = 0;
ccw->count = 16; ccw->count = 16;
ccw->cda = (__u32)virt_to_phys(data); ccw->cda = virt_to_dma32(data);
} }
memset(data, 0, sizeof(struct DE_eckd_data)); memset(data, 0, sizeof(struct DE_eckd_data));
...@@ -393,7 +393,7 @@ static void locate_record_ext(struct ccw1 *ccw, struct LRE_eckd_data *data, ...@@ -393,7 +393,7 @@ static void locate_record_ext(struct ccw1 *ccw, struct LRE_eckd_data *data,
ccw->count = 22; ccw->count = 22;
else else
ccw->count = 20; ccw->count = 20;
ccw->cda = (__u32)virt_to_phys(data); ccw->cda = virt_to_dma32(data);
} }
memset(data, 0, sizeof(*data)); memset(data, 0, sizeof(*data));
...@@ -539,11 +539,11 @@ static int prefix_LRE(struct ccw1 *ccw, struct PFX_eckd_data *pfxdata, ...@@ -539,11 +539,11 @@ static int prefix_LRE(struct ccw1 *ccw, struct PFX_eckd_data *pfxdata,
ccw->flags = 0; ccw->flags = 0;
if (cmd == DASD_ECKD_CCW_WRITE_FULL_TRACK) { if (cmd == DASD_ECKD_CCW_WRITE_FULL_TRACK) {
ccw->count = sizeof(*pfxdata) + 2; ccw->count = sizeof(*pfxdata) + 2;
ccw->cda = (__u32)virt_to_phys(pfxdata); ccw->cda = virt_to_dma32(pfxdata);
memset(pfxdata, 0, sizeof(*pfxdata) + 2); memset(pfxdata, 0, sizeof(*pfxdata) + 2);
} else { } else {
ccw->count = sizeof(*pfxdata); ccw->count = sizeof(*pfxdata);
ccw->cda = (__u32)virt_to_phys(pfxdata); ccw->cda = virt_to_dma32(pfxdata);
memset(pfxdata, 0, sizeof(*pfxdata)); memset(pfxdata, 0, sizeof(*pfxdata));
} }
...@@ -610,7 +610,7 @@ locate_record(struct ccw1 *ccw, struct LO_eckd_data *data, unsigned int trk, ...@@ -610,7 +610,7 @@ locate_record(struct ccw1 *ccw, struct LO_eckd_data *data, unsigned int trk,
ccw->cmd_code = DASD_ECKD_CCW_LOCATE_RECORD; ccw->cmd_code = DASD_ECKD_CCW_LOCATE_RECORD;
ccw->flags = 0; ccw->flags = 0;
ccw->count = 16; ccw->count = 16;
ccw->cda = (__u32)virt_to_phys(data); ccw->cda = virt_to_dma32(data);
memset(data, 0, sizeof(struct LO_eckd_data)); memset(data, 0, sizeof(struct LO_eckd_data));
sector = 0; sector = 0;
...@@ -825,7 +825,7 @@ static void dasd_eckd_fill_rcd_cqr(struct dasd_device *device, ...@@ -825,7 +825,7 @@ static void dasd_eckd_fill_rcd_cqr(struct dasd_device *device,
ccw = cqr->cpaddr; ccw = cqr->cpaddr;
ccw->cmd_code = DASD_ECKD_CCW_RCD; ccw->cmd_code = DASD_ECKD_CCW_RCD;
ccw->flags = 0; ccw->flags = 0;
ccw->cda = (__u32)virt_to_phys(rcd_buffer); ccw->cda = virt_to_dma32(rcd_buffer);
ccw->count = DASD_ECKD_RCD_DATA_SIZE; ccw->count = DASD_ECKD_RCD_DATA_SIZE;
cqr->magic = DASD_ECKD_MAGIC; cqr->magic = DASD_ECKD_MAGIC;
...@@ -853,7 +853,7 @@ static void read_conf_cb(struct dasd_ccw_req *cqr, void *data) ...@@ -853,7 +853,7 @@ static void read_conf_cb(struct dasd_ccw_req *cqr, void *data)
if (cqr->status != DASD_CQR_DONE) { if (cqr->status != DASD_CQR_DONE) {
ccw = cqr->cpaddr; ccw = cqr->cpaddr;
rcd_buffer = phys_to_virt(ccw->cda); rcd_buffer = dma32_to_virt(ccw->cda);
memset(rcd_buffer, 0, sizeof(*rcd_buffer)); memset(rcd_buffer, 0, sizeof(*rcd_buffer));
rcd_buffer[0] = 0xE5; rcd_buffer[0] = 0xE5;
...@@ -1534,7 +1534,7 @@ static int dasd_eckd_read_features(struct dasd_device *device) ...@@ -1534,7 +1534,7 @@ static int dasd_eckd_read_features(struct dasd_device *device)
ccw->cmd_code = DASD_ECKD_CCW_PSF; ccw->cmd_code = DASD_ECKD_CCW_PSF;
ccw->count = sizeof(struct dasd_psf_prssd_data); ccw->count = sizeof(struct dasd_psf_prssd_data);
ccw->flags |= CCW_FLAG_CC; ccw->flags |= CCW_FLAG_CC;
ccw->cda = (__u32)virt_to_phys(prssdp); ccw->cda = virt_to_dma32(prssdp);
/* Read Subsystem Data - feature codes */ /* Read Subsystem Data - feature codes */
features = (struct dasd_rssd_features *) (prssdp + 1); features = (struct dasd_rssd_features *) (prssdp + 1);
...@@ -1543,7 +1543,7 @@ static int dasd_eckd_read_features(struct dasd_device *device) ...@@ -1543,7 +1543,7 @@ static int dasd_eckd_read_features(struct dasd_device *device)
ccw++; ccw++;
ccw->cmd_code = DASD_ECKD_CCW_RSSD; ccw->cmd_code = DASD_ECKD_CCW_RSSD;
ccw->count = sizeof(struct dasd_rssd_features); ccw->count = sizeof(struct dasd_rssd_features);
ccw->cda = (__u32)virt_to_phys(features); ccw->cda = virt_to_dma32(features);
cqr->buildclk = get_tod_clock(); cqr->buildclk = get_tod_clock();
cqr->status = DASD_CQR_FILLED; cqr->status = DASD_CQR_FILLED;
...@@ -1603,7 +1603,7 @@ static int dasd_eckd_read_vol_info(struct dasd_device *device) ...@@ -1603,7 +1603,7 @@ static int dasd_eckd_read_vol_info(struct dasd_device *device)
ccw->cmd_code = DASD_ECKD_CCW_PSF; ccw->cmd_code = DASD_ECKD_CCW_PSF;
ccw->count = sizeof(*prssdp); ccw->count = sizeof(*prssdp);
ccw->flags |= CCW_FLAG_CC; ccw->flags |= CCW_FLAG_CC;
ccw->cda = (__u32)virt_to_phys(prssdp); ccw->cda = virt_to_dma32(prssdp);
/* Read Subsystem Data - Volume Storage Query */ /* Read Subsystem Data - Volume Storage Query */
vsq = (struct dasd_rssd_vsq *)(prssdp + 1); vsq = (struct dasd_rssd_vsq *)(prssdp + 1);
...@@ -1613,7 +1613,7 @@ static int dasd_eckd_read_vol_info(struct dasd_device *device) ...@@ -1613,7 +1613,7 @@ static int dasd_eckd_read_vol_info(struct dasd_device *device)
ccw->cmd_code = DASD_ECKD_CCW_RSSD; ccw->cmd_code = DASD_ECKD_CCW_RSSD;
ccw->count = sizeof(*vsq); ccw->count = sizeof(*vsq);
ccw->flags |= CCW_FLAG_SLI; ccw->flags |= CCW_FLAG_SLI;
ccw->cda = (__u32)virt_to_phys(vsq); ccw->cda = virt_to_dma32(vsq);
cqr->buildclk = get_tod_clock(); cqr->buildclk = get_tod_clock();
cqr->status = DASD_CQR_FILLED; cqr->status = DASD_CQR_FILLED;
...@@ -1788,7 +1788,7 @@ static int dasd_eckd_read_ext_pool_info(struct dasd_device *device) ...@@ -1788,7 +1788,7 @@ static int dasd_eckd_read_ext_pool_info(struct dasd_device *device)
ccw->cmd_code = DASD_ECKD_CCW_PSF; ccw->cmd_code = DASD_ECKD_CCW_PSF;
ccw->count = sizeof(*prssdp); ccw->count = sizeof(*prssdp);
ccw->flags |= CCW_FLAG_CC; ccw->flags |= CCW_FLAG_CC;
ccw->cda = (__u32)virt_to_phys(prssdp); ccw->cda = virt_to_dma32(prssdp);
lcq = (struct dasd_rssd_lcq *)(prssdp + 1); lcq = (struct dasd_rssd_lcq *)(prssdp + 1);
memset(lcq, 0, sizeof(*lcq)); memset(lcq, 0, sizeof(*lcq));
...@@ -1797,7 +1797,7 @@ static int dasd_eckd_read_ext_pool_info(struct dasd_device *device) ...@@ -1797,7 +1797,7 @@ static int dasd_eckd_read_ext_pool_info(struct dasd_device *device)
ccw->cmd_code = DASD_ECKD_CCW_RSSD; ccw->cmd_code = DASD_ECKD_CCW_RSSD;
ccw->count = sizeof(*lcq); ccw->count = sizeof(*lcq);
ccw->flags |= CCW_FLAG_SLI; ccw->flags |= CCW_FLAG_SLI;
ccw->cda = (__u32)virt_to_phys(lcq); ccw->cda = virt_to_dma32(lcq);
cqr->buildclk = get_tod_clock(); cqr->buildclk = get_tod_clock();
cqr->status = DASD_CQR_FILLED; cqr->status = DASD_CQR_FILLED;
...@@ -1894,7 +1894,7 @@ static struct dasd_ccw_req *dasd_eckd_build_psf_ssc(struct dasd_device *device, ...@@ -1894,7 +1894,7 @@ static struct dasd_ccw_req *dasd_eckd_build_psf_ssc(struct dasd_device *device,
} }
ccw = cqr->cpaddr; ccw = cqr->cpaddr;
ccw->cmd_code = DASD_ECKD_CCW_PSF; ccw->cmd_code = DASD_ECKD_CCW_PSF;
ccw->cda = (__u32)virt_to_phys(psf_ssc_data); ccw->cda = virt_to_dma32(psf_ssc_data);
ccw->count = 66; ccw->count = 66;
cqr->startdev = device; cqr->startdev = device;
...@@ -2250,7 +2250,7 @@ dasd_eckd_analysis_ccw(struct dasd_device *device) ...@@ -2250,7 +2250,7 @@ dasd_eckd_analysis_ccw(struct dasd_device *device)
ccw->cmd_code = DASD_ECKD_CCW_READ_COUNT; ccw->cmd_code = DASD_ECKD_CCW_READ_COUNT;
ccw->flags = 0; ccw->flags = 0;
ccw->count = 8; ccw->count = 8;
ccw->cda = (__u32)virt_to_phys(count_data); ccw->cda = virt_to_dma32(count_data);
ccw++; ccw++;
count_data++; count_data++;
} }
...@@ -2264,7 +2264,7 @@ dasd_eckd_analysis_ccw(struct dasd_device *device) ...@@ -2264,7 +2264,7 @@ dasd_eckd_analysis_ccw(struct dasd_device *device)
ccw->cmd_code = DASD_ECKD_CCW_READ_COUNT; ccw->cmd_code = DASD_ECKD_CCW_READ_COUNT;
ccw->flags = 0; ccw->flags = 0;
ccw->count = 8; ccw->count = 8;
ccw->cda = (__u32)virt_to_phys(count_data); ccw->cda = virt_to_dma32(count_data);
cqr->block = NULL; cqr->block = NULL;
cqr->startdev = device; cqr->startdev = device;
...@@ -2635,7 +2635,7 @@ dasd_eckd_build_check(struct dasd_device *base, struct format_data_t *fdata, ...@@ -2635,7 +2635,7 @@ dasd_eckd_build_check(struct dasd_device *base, struct format_data_t *fdata,
ccw->cmd_code = DASD_ECKD_CCW_READ_COUNT; ccw->cmd_code = DASD_ECKD_CCW_READ_COUNT;
ccw->flags = CCW_FLAG_SLI; ccw->flags = CCW_FLAG_SLI;
ccw->count = 8; ccw->count = 8;
ccw->cda = (__u32)virt_to_phys(fmt_buffer); ccw->cda = virt_to_dma32(fmt_buffer);
ccw++; ccw++;
fmt_buffer++; fmt_buffer++;
} }
...@@ -2845,7 +2845,7 @@ dasd_eckd_build_format(struct dasd_device *base, struct dasd_device *startdev, ...@@ -2845,7 +2845,7 @@ dasd_eckd_build_format(struct dasd_device *base, struct dasd_device *startdev,
ccw->cmd_code = DASD_ECKD_CCW_WRITE_RECORD_ZERO; ccw->cmd_code = DASD_ECKD_CCW_WRITE_RECORD_ZERO;
ccw->flags = CCW_FLAG_SLI; ccw->flags = CCW_FLAG_SLI;
ccw->count = 8; ccw->count = 8;
ccw->cda = (__u32)virt_to_phys(ect); ccw->cda = virt_to_dma32(ect);
ccw++; ccw++;
} }
if ((intensity & ~0x08) & 0x04) { /* erase track */ if ((intensity & ~0x08) & 0x04) { /* erase track */
...@@ -2860,7 +2860,7 @@ dasd_eckd_build_format(struct dasd_device *base, struct dasd_device *startdev, ...@@ -2860,7 +2860,7 @@ dasd_eckd_build_format(struct dasd_device *base, struct dasd_device *startdev,
ccw->cmd_code = DASD_ECKD_CCW_WRITE_CKD; ccw->cmd_code = DASD_ECKD_CCW_WRITE_CKD;
ccw->flags = CCW_FLAG_SLI; ccw->flags = CCW_FLAG_SLI;
ccw->count = 8; ccw->count = 8;
ccw->cda = (__u32)virt_to_phys(ect); ccw->cda = virt_to_dma32(ect);
} else { /* write remaining records */ } else { /* write remaining records */
for (i = 0; i < rpt; i++) { for (i = 0; i < rpt; i++) {
ect = (struct eckd_count *) data; ect = (struct eckd_count *) data;
...@@ -2895,7 +2895,7 @@ dasd_eckd_build_format(struct dasd_device *base, struct dasd_device *startdev, ...@@ -2895,7 +2895,7 @@ dasd_eckd_build_format(struct dasd_device *base, struct dasd_device *startdev,
DASD_ECKD_CCW_WRITE_CKD_MT; DASD_ECKD_CCW_WRITE_CKD_MT;
ccw->flags = CCW_FLAG_SLI; ccw->flags = CCW_FLAG_SLI;
ccw->count = 8; ccw->count = 8;
ccw->cda = (__u32)virt_to_phys(ect); ccw->cda = virt_to_dma32(ect);
ccw++; ccw++;
} }
} }
...@@ -3836,7 +3836,7 @@ dasd_eckd_dso_ras(struct dasd_device *device, struct dasd_block *block, ...@@ -3836,7 +3836,7 @@ dasd_eckd_dso_ras(struct dasd_device *device, struct dasd_block *block,
} }
ccw = cqr->cpaddr; ccw = cqr->cpaddr;
ccw->cda = (__u32)virt_to_phys(cqr->data); ccw->cda = virt_to_dma32(cqr->data);
ccw->cmd_code = DASD_ECKD_CCW_DSO; ccw->cmd_code = DASD_ECKD_CCW_DSO;
ccw->count = size; ccw->count = size;
...@@ -4105,11 +4105,11 @@ static struct dasd_ccw_req *dasd_eckd_build_cp_cmd_single( ...@@ -4105,11 +4105,11 @@ static struct dasd_ccw_req *dasd_eckd_build_cp_cmd_single(
ccw->cmd_code = rcmd; ccw->cmd_code = rcmd;
ccw->count = count; ccw->count = count;
if (idal_is_needed(dst, blksize)) { if (idal_is_needed(dst, blksize)) {
ccw->cda = (__u32)virt_to_phys(idaws); ccw->cda = virt_to_dma32(idaws);
ccw->flags = CCW_FLAG_IDA; ccw->flags = CCW_FLAG_IDA;
idaws = idal_create_words(idaws, dst, blksize); idaws = idal_create_words(idaws, dst, blksize);
} else { } else {
ccw->cda = (__u32)virt_to_phys(dst); ccw->cda = virt_to_dma32(dst);
ccw->flags = 0; ccw->flags = 0;
} }
ccw++; ccw++;
...@@ -4243,7 +4243,7 @@ static struct dasd_ccw_req *dasd_eckd_build_cp_cmd_track( ...@@ -4243,7 +4243,7 @@ static struct dasd_ccw_req *dasd_eckd_build_cp_cmd_track(
ccw[-1].flags |= CCW_FLAG_CC; ccw[-1].flags |= CCW_FLAG_CC;
ccw->cmd_code = cmd; ccw->cmd_code = cmd;
ccw->count = len_to_track_end; ccw->count = len_to_track_end;
ccw->cda = (__u32)virt_to_phys(idaws); ccw->cda = virt_to_dma32(idaws);
ccw->flags = CCW_FLAG_IDA; ccw->flags = CCW_FLAG_IDA;
ccw++; ccw++;
recid += count; recid += count;
...@@ -4832,7 +4832,7 @@ static struct dasd_ccw_req *dasd_eckd_build_cp_raw(struct dasd_device *startdev, ...@@ -4832,7 +4832,7 @@ static struct dasd_ccw_req *dasd_eckd_build_cp_raw(struct dasd_device *startdev,
ccw->count = 57326; ccw->count = 57326;
/* 64k map to one track */ /* 64k map to one track */
len_to_track_end = 65536 - start_padding_sectors * 512; len_to_track_end = 65536 - start_padding_sectors * 512;
ccw->cda = (__u32)virt_to_phys(idaws); ccw->cda = virt_to_dma32(idaws);
ccw->flags |= CCW_FLAG_IDA; ccw->flags |= CCW_FLAG_IDA;
ccw->flags |= CCW_FLAG_SLI; ccw->flags |= CCW_FLAG_SLI;
ccw++; ccw++;
...@@ -4851,7 +4851,7 @@ static struct dasd_ccw_req *dasd_eckd_build_cp_raw(struct dasd_device *startdev, ...@@ -4851,7 +4851,7 @@ static struct dasd_ccw_req *dasd_eckd_build_cp_raw(struct dasd_device *startdev,
ccw->count = 57326; ccw->count = 57326;
/* 64k map to one track */ /* 64k map to one track */
len_to_track_end = 65536; len_to_track_end = 65536;
ccw->cda = (__u32)virt_to_phys(idaws); ccw->cda = virt_to_dma32(idaws);
ccw->flags |= CCW_FLAG_IDA; ccw->flags |= CCW_FLAG_IDA;
ccw->flags |= CCW_FLAG_SLI; ccw->flags |= CCW_FLAG_SLI;
ccw++; ccw++;
...@@ -4908,9 +4908,9 @@ dasd_eckd_free_cp(struct dasd_ccw_req *cqr, struct request *req) ...@@ -4908,9 +4908,9 @@ dasd_eckd_free_cp(struct dasd_ccw_req *cqr, struct request *req)
ccw++; ccw++;
if (dst) { if (dst) {
if (ccw->flags & CCW_FLAG_IDA) if (ccw->flags & CCW_FLAG_IDA)
cda = *((char **)phys_to_virt(ccw->cda)); cda = *((char **)dma32_to_virt(ccw->cda));
else else
cda = phys_to_virt(ccw->cda); cda = dma32_to_virt(ccw->cda);
if (dst != cda) { if (dst != cda) {
if (rq_data_dir(req) == READ) if (rq_data_dir(req) == READ)
memcpy(dst, cda, bv.bv_len); memcpy(dst, cda, bv.bv_len);
...@@ -5060,7 +5060,7 @@ dasd_eckd_release(struct dasd_device *device) ...@@ -5060,7 +5060,7 @@ dasd_eckd_release(struct dasd_device *device)
ccw->cmd_code = DASD_ECKD_CCW_RELEASE; ccw->cmd_code = DASD_ECKD_CCW_RELEASE;
ccw->flags |= CCW_FLAG_SLI; ccw->flags |= CCW_FLAG_SLI;
ccw->count = 32; ccw->count = 32;
ccw->cda = (__u32)virt_to_phys(cqr->data); ccw->cda = virt_to_dma32(cqr->data);
cqr->startdev = device; cqr->startdev = device;
cqr->memdev = device; cqr->memdev = device;
clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags); clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags);
...@@ -5115,7 +5115,7 @@ dasd_eckd_reserve(struct dasd_device *device) ...@@ -5115,7 +5115,7 @@ dasd_eckd_reserve(struct dasd_device *device)
ccw->cmd_code = DASD_ECKD_CCW_RESERVE; ccw->cmd_code = DASD_ECKD_CCW_RESERVE;
ccw->flags |= CCW_FLAG_SLI; ccw->flags |= CCW_FLAG_SLI;
ccw->count = 32; ccw->count = 32;
ccw->cda = (__u32)virt_to_phys(cqr->data); ccw->cda = virt_to_dma32(cqr->data);
cqr->startdev = device; cqr->startdev = device;
cqr->memdev = device; cqr->memdev = device;
clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags); clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags);
...@@ -5169,7 +5169,7 @@ dasd_eckd_steal_lock(struct dasd_device *device) ...@@ -5169,7 +5169,7 @@ dasd_eckd_steal_lock(struct dasd_device *device)
ccw->cmd_code = DASD_ECKD_CCW_SLCK; ccw->cmd_code = DASD_ECKD_CCW_SLCK;
ccw->flags |= CCW_FLAG_SLI; ccw->flags |= CCW_FLAG_SLI;
ccw->count = 32; ccw->count = 32;
ccw->cda = (__u32)virt_to_phys(cqr->data); ccw->cda = virt_to_dma32(cqr->data);
cqr->startdev = device; cqr->startdev = device;
cqr->memdev = device; cqr->memdev = device;
clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags); clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags);
...@@ -5230,7 +5230,7 @@ static int dasd_eckd_snid(struct dasd_device *device, ...@@ -5230,7 +5230,7 @@ static int dasd_eckd_snid(struct dasd_device *device,
ccw->cmd_code = DASD_ECKD_CCW_SNID; ccw->cmd_code = DASD_ECKD_CCW_SNID;
ccw->flags |= CCW_FLAG_SLI; ccw->flags |= CCW_FLAG_SLI;
ccw->count = 12; ccw->count = 12;
ccw->cda = (__u32)virt_to_phys(cqr->data); ccw->cda = virt_to_dma32(cqr->data);
cqr->startdev = device; cqr->startdev = device;
cqr->memdev = device; cqr->memdev = device;
clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags); clear_bit(DASD_CQR_FLAGS_USE_ERP, &cqr->flags);
...@@ -5297,7 +5297,7 @@ dasd_eckd_performance(struct dasd_device *device, void __user *argp) ...@@ -5297,7 +5297,7 @@ dasd_eckd_performance(struct dasd_device *device, void __user *argp)
ccw->cmd_code = DASD_ECKD_CCW_PSF; ccw->cmd_code = DASD_ECKD_CCW_PSF;
ccw->count = sizeof(struct dasd_psf_prssd_data); ccw->count = sizeof(struct dasd_psf_prssd_data);
ccw->flags |= CCW_FLAG_CC; ccw->flags |= CCW_FLAG_CC;
ccw->cda = (__u32)virt_to_phys(prssdp); ccw->cda = virt_to_dma32(prssdp);
/* Read Subsystem Data - Performance Statistics */ /* Read Subsystem Data - Performance Statistics */
stats = (struct dasd_rssd_perf_stats_t *) (prssdp + 1); stats = (struct dasd_rssd_perf_stats_t *) (prssdp + 1);
...@@ -5306,7 +5306,7 @@ dasd_eckd_performance(struct dasd_device *device, void __user *argp) ...@@ -5306,7 +5306,7 @@ dasd_eckd_performance(struct dasd_device *device, void __user *argp)
ccw++; ccw++;
ccw->cmd_code = DASD_ECKD_CCW_RSSD; ccw->cmd_code = DASD_ECKD_CCW_RSSD;
ccw->count = sizeof(struct dasd_rssd_perf_stats_t); ccw->count = sizeof(struct dasd_rssd_perf_stats_t);
ccw->cda = (__u32)virt_to_phys(stats); ccw->cda = virt_to_dma32(stats);
cqr->buildclk = get_tod_clock(); cqr->buildclk = get_tod_clock();
cqr->status = DASD_CQR_FILLED; cqr->status = DASD_CQR_FILLED;
...@@ -5450,7 +5450,7 @@ static int dasd_symm_io(struct dasd_device *device, void __user *argp) ...@@ -5450,7 +5450,7 @@ static int dasd_symm_io(struct dasd_device *device, void __user *argp)
ccw->cmd_code = DASD_ECKD_CCW_PSF; ccw->cmd_code = DASD_ECKD_CCW_PSF;
ccw->count = usrparm.psf_data_len; ccw->count = usrparm.psf_data_len;
ccw->flags |= CCW_FLAG_CC; ccw->flags |= CCW_FLAG_CC;
ccw->cda = (__u32)virt_to_phys(psf_data); ccw->cda = virt_to_dma32(psf_data);
ccw++; ccw++;
...@@ -5458,7 +5458,7 @@ static int dasd_symm_io(struct dasd_device *device, void __user *argp) ...@@ -5458,7 +5458,7 @@ static int dasd_symm_io(struct dasd_device *device, void __user *argp)
ccw->cmd_code = DASD_ECKD_CCW_RSSD; ccw->cmd_code = DASD_ECKD_CCW_RSSD;
ccw->count = usrparm.rssd_result_len; ccw->count = usrparm.rssd_result_len;
ccw->flags = CCW_FLAG_SLI ; ccw->flags = CCW_FLAG_SLI ;
ccw->cda = (__u32)virt_to_phys(rssd_result); ccw->cda = virt_to_dma32(rssd_result);
rc = dasd_sleep_on(cqr); rc = dasd_sleep_on(cqr);
if (rc) if (rc)
...@@ -5527,9 +5527,9 @@ dasd_eckd_dump_ccw_range(struct dasd_device *device, struct ccw1 *from, ...@@ -5527,9 +5527,9 @@ dasd_eckd_dump_ccw_range(struct dasd_device *device, struct ccw1 *from,
/* get pointer to data (consider IDALs) */ /* get pointer to data (consider IDALs) */
if (from->flags & CCW_FLAG_IDA) if (from->flags & CCW_FLAG_IDA)
datap = (char *)*((addr_t *)phys_to_virt(from->cda)); datap = (char *)*((addr_t *)dma32_to_virt(from->cda));
else else
datap = phys_to_virt(from->cda); datap = dma32_to_virt(from->cda);
/* dump data (max 128 bytes) */ /* dump data (max 128 bytes) */
for (count = 0; count < from->count && count < 128; count++) { for (count = 0; count < from->count && count < 128; count++) {
...@@ -5598,7 +5598,7 @@ static void dasd_eckd_dump_sense_ccw(struct dasd_device *device, ...@@ -5598,7 +5598,7 @@ static void dasd_eckd_dump_sense_ccw(struct dasd_device *device,
scsw_dstat(&irb->scsw), scsw_cstat(&irb->scsw), scsw_dstat(&irb->scsw), scsw_cstat(&irb->scsw),
req ? req->intrc : 0); req ? req->intrc : 0);
len += sprintf(page + len, "Failing CCW: %px\n", len += sprintf(page + len, "Failing CCW: %px\n",
phys_to_virt(irb->scsw.cmd.cpa)); dma32_to_virt(irb->scsw.cmd.cpa));
if (irb->esw.esw0.erw.cons) { if (irb->esw.esw0.erw.cons) {
for (sl = 0; sl < 4; sl++) { for (sl = 0; sl < 4; sl++) {
len += sprintf(page + len, "Sense(hex) %2d-%2d:", len += sprintf(page + len, "Sense(hex) %2d-%2d:",
...@@ -5641,7 +5641,7 @@ static void dasd_eckd_dump_sense_ccw(struct dasd_device *device, ...@@ -5641,7 +5641,7 @@ static void dasd_eckd_dump_sense_ccw(struct dasd_device *device,
/* print failing CCW area (maximum 4) */ /* print failing CCW area (maximum 4) */
/* scsw->cda is either valid or zero */ /* scsw->cda is either valid or zero */
from = ++to; from = ++to;
fail = phys_to_virt(irb->scsw.cmd.cpa); /* failing CCW */ fail = dma32_to_virt(irb->scsw.cmd.cpa); /* failing CCW */
if (from < fail - 2) { if (from < fail - 2) {
from = fail - 2; /* there is a gap - print header */ from = fail - 2; /* there is a gap - print header */
dev_err(dev, "......\n"); dev_err(dev, "......\n");
...@@ -5691,12 +5691,12 @@ static void dasd_eckd_dump_sense_tcw(struct dasd_device *device, ...@@ -5691,12 +5691,12 @@ static void dasd_eckd_dump_sense_tcw(struct dasd_device *device,
(irb->scsw.tm.ifob << 7) | irb->scsw.tm.sesq, (irb->scsw.tm.ifob << 7) | irb->scsw.tm.sesq,
req ? req->intrc : 0); req ? req->intrc : 0);
len += sprintf(page + len, "Failing TCW: %px\n", len += sprintf(page + len, "Failing TCW: %px\n",
phys_to_virt(irb->scsw.tm.tcw)); dma32_to_virt(irb->scsw.tm.tcw));
tsb = NULL; tsb = NULL;
sense = NULL; sense = NULL;
if (irb->scsw.tm.tcw && (irb->scsw.tm.fcxs & 0x01)) if (irb->scsw.tm.tcw && (irb->scsw.tm.fcxs & 0x01))
tsb = tcw_get_tsb(phys_to_virt(irb->scsw.tm.tcw)); tsb = tcw_get_tsb(dma32_to_virt(irb->scsw.tm.tcw));
if (tsb) { if (tsb) {
len += sprintf(page + len, "tsb->length %d\n", tsb->length); len += sprintf(page + len, "tsb->length %d\n", tsb->length);
...@@ -5906,7 +5906,7 @@ static int dasd_eckd_read_message_buffer(struct dasd_device *device, ...@@ -5906,7 +5906,7 @@ static int dasd_eckd_read_message_buffer(struct dasd_device *device,
ccw->count = sizeof(struct dasd_psf_prssd_data); ccw->count = sizeof(struct dasd_psf_prssd_data);
ccw->flags |= CCW_FLAG_CC; ccw->flags |= CCW_FLAG_CC;
ccw->flags |= CCW_FLAG_SLI; ccw->flags |= CCW_FLAG_SLI;
ccw->cda = (__u32)virt_to_phys(prssdp); ccw->cda = virt_to_dma32(prssdp);
/* Read Subsystem Data - message buffer */ /* Read Subsystem Data - message buffer */
message_buf = (struct dasd_rssd_messages *) (prssdp + 1); message_buf = (struct dasd_rssd_messages *) (prssdp + 1);
...@@ -5916,7 +5916,7 @@ static int dasd_eckd_read_message_buffer(struct dasd_device *device, ...@@ -5916,7 +5916,7 @@ static int dasd_eckd_read_message_buffer(struct dasd_device *device,
ccw->cmd_code = DASD_ECKD_CCW_RSSD; ccw->cmd_code = DASD_ECKD_CCW_RSSD;
ccw->count = sizeof(struct dasd_rssd_messages); ccw->count = sizeof(struct dasd_rssd_messages);
ccw->flags |= CCW_FLAG_SLI; ccw->flags |= CCW_FLAG_SLI;
ccw->cda = (__u32)virt_to_phys(message_buf); ccw->cda = virt_to_dma32(message_buf);
cqr->buildclk = get_tod_clock(); cqr->buildclk = get_tod_clock();
cqr->status = DASD_CQR_FILLED; cqr->status = DASD_CQR_FILLED;
...@@ -5997,14 +5997,14 @@ static int dasd_eckd_query_host_access(struct dasd_device *device, ...@@ -5997,14 +5997,14 @@ static int dasd_eckd_query_host_access(struct dasd_device *device,
ccw->count = sizeof(struct dasd_psf_prssd_data); ccw->count = sizeof(struct dasd_psf_prssd_data);
ccw->flags |= CCW_FLAG_CC; ccw->flags |= CCW_FLAG_CC;
ccw->flags |= CCW_FLAG_SLI; ccw->flags |= CCW_FLAG_SLI;
ccw->cda = (__u32)virt_to_phys(prssdp); ccw->cda = virt_to_dma32(prssdp);
/* Read Subsystem Data - query host access */ /* Read Subsystem Data - query host access */
ccw++; ccw++;
ccw->cmd_code = DASD_ECKD_CCW_RSSD; ccw->cmd_code = DASD_ECKD_CCW_RSSD;
ccw->count = sizeof(struct dasd_psf_query_host_access); ccw->count = sizeof(struct dasd_psf_query_host_access);
ccw->flags |= CCW_FLAG_SLI; ccw->flags |= CCW_FLAG_SLI;
ccw->cda = (__u32)virt_to_phys(host_access); ccw->cda = virt_to_dma32(host_access);
cqr->buildclk = get_tod_clock(); cqr->buildclk = get_tod_clock();
cqr->status = DASD_CQR_FILLED; cqr->status = DASD_CQR_FILLED;
...@@ -6239,14 +6239,14 @@ static int dasd_eckd_query_pprc_status(struct dasd_device *device, ...@@ -6239,14 +6239,14 @@ static int dasd_eckd_query_pprc_status(struct dasd_device *device,
ccw->count = sizeof(struct dasd_psf_prssd_data); ccw->count = sizeof(struct dasd_psf_prssd_data);
ccw->flags |= CCW_FLAG_CC; ccw->flags |= CCW_FLAG_CC;
ccw->flags |= CCW_FLAG_SLI; ccw->flags |= CCW_FLAG_SLI;
ccw->cda = (__u32)virt_to_phys(prssdp); ccw->cda = virt_to_dma32(prssdp);
/* Read Subsystem Data - query host access */ /* Read Subsystem Data - query host access */
ccw++; ccw++;
ccw->cmd_code = DASD_ECKD_CCW_RSSD; ccw->cmd_code = DASD_ECKD_CCW_RSSD;
ccw->count = sizeof(*pprc_data); ccw->count = sizeof(*pprc_data);
ccw->flags |= CCW_FLAG_SLI; ccw->flags |= CCW_FLAG_SLI;
ccw->cda = (__u32)virt_to_phys(pprc_data); ccw->cda = virt_to_dma32(pprc_data);
cqr->buildclk = get_tod_clock(); cqr->buildclk = get_tod_clock();
cqr->status = DASD_CQR_FILLED; cqr->status = DASD_CQR_FILLED;
...@@ -6340,7 +6340,7 @@ dasd_eckd_psf_cuir_response(struct dasd_device *device, int response, ...@@ -6340,7 +6340,7 @@ dasd_eckd_psf_cuir_response(struct dasd_device *device, int response,
psf_cuir->ssid = device->path[pos].ssid; psf_cuir->ssid = device->path[pos].ssid;
ccw = cqr->cpaddr; ccw = cqr->cpaddr;
ccw->cmd_code = DASD_ECKD_CCW_PSF; ccw->cmd_code = DASD_ECKD_CCW_PSF;
ccw->cda = (__u32)virt_to_phys(psf_cuir); ccw->cda = virt_to_dma32(psf_cuir);
ccw->flags = CCW_FLAG_SLI; ccw->flags = CCW_FLAG_SLI;
ccw->count = sizeof(struct dasd_psf_cuir_response); ccw->count = sizeof(struct dasd_psf_cuir_response);
......
...@@ -485,7 +485,7 @@ int dasd_eer_enable(struct dasd_device *device) ...@@ -485,7 +485,7 @@ int dasd_eer_enable(struct dasd_device *device)
ccw->cmd_code = DASD_ECKD_CCW_SNSS; ccw->cmd_code = DASD_ECKD_CCW_SNSS;
ccw->count = SNSS_DATA_SIZE; ccw->count = SNSS_DATA_SIZE;
ccw->flags = 0; ccw->flags = 0;
ccw->cda = (__u32)virt_to_phys(cqr->data); ccw->cda = virt_to_dma32(cqr->data);
cqr->buildclk = get_tod_clock(); cqr->buildclk = get_tod_clock();
cqr->status = DASD_CQR_FILLED; cqr->status = DASD_CQR_FILLED;
......
...@@ -78,7 +78,7 @@ define_extent(struct ccw1 * ccw, struct DE_fba_data *data, int rw, ...@@ -78,7 +78,7 @@ define_extent(struct ccw1 * ccw, struct DE_fba_data *data, int rw,
ccw->cmd_code = DASD_FBA_CCW_DEFINE_EXTENT; ccw->cmd_code = DASD_FBA_CCW_DEFINE_EXTENT;
ccw->flags = 0; ccw->flags = 0;
ccw->count = 16; ccw->count = 16;
ccw->cda = (__u32)virt_to_phys(data); ccw->cda = virt_to_dma32(data);
memset(data, 0, sizeof (struct DE_fba_data)); memset(data, 0, sizeof (struct DE_fba_data));
if (rw == WRITE) if (rw == WRITE)
(data->mask).perm = 0x0; (data->mask).perm = 0x0;
...@@ -98,7 +98,7 @@ locate_record(struct ccw1 * ccw, struct LO_fba_data *data, int rw, ...@@ -98,7 +98,7 @@ locate_record(struct ccw1 * ccw, struct LO_fba_data *data, int rw,
ccw->cmd_code = DASD_FBA_CCW_LOCATE; ccw->cmd_code = DASD_FBA_CCW_LOCATE;
ccw->flags = 0; ccw->flags = 0;
ccw->count = 8; ccw->count = 8;
ccw->cda = (__u32)virt_to_phys(data); ccw->cda = virt_to_dma32(data);
memset(data, 0, sizeof (struct LO_fba_data)); memset(data, 0, sizeof (struct LO_fba_data));
if (rw == WRITE) if (rw == WRITE)
data->operation.cmd = 0x5; data->operation.cmd = 0x5;
...@@ -257,7 +257,7 @@ static void ccw_write_zero(struct ccw1 *ccw, int count) ...@@ -257,7 +257,7 @@ static void ccw_write_zero(struct ccw1 *ccw, int count)
ccw->cmd_code = DASD_FBA_CCW_WRITE; ccw->cmd_code = DASD_FBA_CCW_WRITE;
ccw->flags |= CCW_FLAG_SLI; ccw->flags |= CCW_FLAG_SLI;
ccw->count = count; ccw->count = count;
ccw->cda = (__u32)virt_to_phys(dasd_fba_zero_page); ccw->cda = virt_to_dma32(dasd_fba_zero_page);
} }
/* /*
...@@ -523,11 +523,11 @@ static struct dasd_ccw_req *dasd_fba_build_cp_regular( ...@@ -523,11 +523,11 @@ static struct dasd_ccw_req *dasd_fba_build_cp_regular(
ccw->cmd_code = cmd; ccw->cmd_code = cmd;
ccw->count = block->bp_block; ccw->count = block->bp_block;
if (idal_is_needed(dst, blksize)) { if (idal_is_needed(dst, blksize)) {
ccw->cda = (__u32)virt_to_phys(idaws); ccw->cda = virt_to_dma32(idaws);
ccw->flags = CCW_FLAG_IDA; ccw->flags = CCW_FLAG_IDA;
idaws = idal_create_words(idaws, dst, blksize); idaws = idal_create_words(idaws, dst, blksize);
} else { } else {
ccw->cda = (__u32)virt_to_phys(dst); ccw->cda = virt_to_dma32(dst);
ccw->flags = 0; ccw->flags = 0;
} }
ccw++; ccw++;
...@@ -585,9 +585,9 @@ dasd_fba_free_cp(struct dasd_ccw_req *cqr, struct request *req) ...@@ -585,9 +585,9 @@ dasd_fba_free_cp(struct dasd_ccw_req *cqr, struct request *req)
ccw++; ccw++;
if (dst) { if (dst) {
if (ccw->flags & CCW_FLAG_IDA) if (ccw->flags & CCW_FLAG_IDA)
cda = *((char **)phys_to_virt(ccw->cda)); cda = *((char **)dma32_to_virt(ccw->cda));
else else
cda = phys_to_virt(ccw->cda); cda = dma32_to_virt(ccw->cda);
if (dst != cda) { if (dst != cda) {
if (rq_data_dir(req) == READ) if (rq_data_dir(req) == READ)
memcpy(dst, cda, bv.bv_len); memcpy(dst, cda, bv.bv_len);
...@@ -672,7 +672,7 @@ dasd_fba_dump_sense(struct dasd_device *device, struct dasd_ccw_req * req, ...@@ -672,7 +672,7 @@ dasd_fba_dump_sense(struct dasd_device *device, struct dasd_ccw_req * req,
len += sprintf(page + len, "in req: %px CS: 0x%02X DS: 0x%02X\n", len += sprintf(page + len, "in req: %px CS: 0x%02X DS: 0x%02X\n",
req, irb->scsw.cmd.cstat, irb->scsw.cmd.dstat); req, irb->scsw.cmd.cstat, irb->scsw.cmd.dstat);
len += sprintf(page + len, "Failing CCW: %px\n", len += sprintf(page + len, "Failing CCW: %px\n",
(void *) (addr_t) irb->scsw.cmd.cpa); (void *)(u64)dma32_to_u32(irb->scsw.cmd.cpa));
if (irb->esw.esw0.erw.cons) { if (irb->esw.esw0.erw.cons) {
for (sl = 0; sl < 4; sl++) { for (sl = 0; sl < 4; sl++) {
len += sprintf(page + len, "Sense(hex) %2d-%2d:", len += sprintf(page + len, "Sense(hex) %2d-%2d:",
...@@ -701,7 +701,7 @@ dasd_fba_dump_sense(struct dasd_device *device, struct dasd_ccw_req * req, ...@@ -701,7 +701,7 @@ dasd_fba_dump_sense(struct dasd_device *device, struct dasd_ccw_req * req,
for (count = 0; count < 32 && count < act->count; for (count = 0; count < 32 && count < act->count;
count += sizeof(int)) count += sizeof(int))
len += sprintf(page + len, " %08X", len += sprintf(page + len, " %08X",
((int *)phys_to_virt(act->cda)) ((int *)dma32_to_virt(act->cda))
[(count>>2)]); [(count>>2)]);
len += sprintf(page + len, "\n"); len += sprintf(page + len, "\n");
act++; act++;
...@@ -710,18 +710,18 @@ dasd_fba_dump_sense(struct dasd_device *device, struct dasd_ccw_req * req, ...@@ -710,18 +710,18 @@ dasd_fba_dump_sense(struct dasd_device *device, struct dasd_ccw_req * req,
/* print failing CCW area */ /* print failing CCW area */
len = 0; len = 0;
if (act < ((struct ccw1 *)phys_to_virt(irb->scsw.cmd.cpa)) - 2) { if (act < ((struct ccw1 *)dma32_to_virt(irb->scsw.cmd.cpa)) - 2) {
act = ((struct ccw1 *)phys_to_virt(irb->scsw.cmd.cpa)) - 2; act = ((struct ccw1 *)dma32_to_virt(irb->scsw.cmd.cpa)) - 2;
len += sprintf(page + len, "......\n"); len += sprintf(page + len, "......\n");
} }
end = min((struct ccw1 *)phys_to_virt(irb->scsw.cmd.cpa) + 2, last); end = min((struct ccw1 *)dma32_to_virt(irb->scsw.cmd.cpa) + 2, last);
while (act <= end) { while (act <= end) {
len += sprintf(page + len, "CCW %px: %08X %08X DAT:", len += sprintf(page + len, "CCW %px: %08X %08X DAT:",
act, ((int *) act)[0], ((int *) act)[1]); act, ((int *) act)[0], ((int *) act)[1]);
for (count = 0; count < 32 && count < act->count; for (count = 0; count < 32 && count < act->count;
count += sizeof(int)) count += sizeof(int))
len += sprintf(page + len, " %08X", len += sprintf(page + len, " %08X",
((int *)phys_to_virt(act->cda)) ((int *)dma32_to_virt(act->cda))
[(count>>2)]); [(count>>2)]);
len += sprintf(page + len, "\n"); len += sprintf(page + len, "\n");
act++; act++;
...@@ -738,7 +738,7 @@ dasd_fba_dump_sense(struct dasd_device *device, struct dasd_ccw_req * req, ...@@ -738,7 +738,7 @@ dasd_fba_dump_sense(struct dasd_device *device, struct dasd_ccw_req * req,
for (count = 0; count < 32 && count < act->count; for (count = 0; count < 32 && count < act->count;
count += sizeof(int)) count += sizeof(int))
len += sprintf(page + len, " %08X", len += sprintf(page + len, " %08X",
((int *)phys_to_virt(act->cda)) ((int *)dma32_to_virt(act->cda))
[(count>>2)]); [(count>>2)]);
len += sprintf(page + len, "\n"); len += sprintf(page + len, "\n");
act++; act++;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment