Lines Matching defs:brq

899 	struct mmc_blk_request *brq, int *ecc_err, int *gen_err)
933 (brq->stop.resp[0] & R1_CARD_ECC_FAILED) ||
934 (brq->cmd.resp[0] & R1_CARD_ECC_FAILED))
940 (brq->stop.resp[0] & R1_ERROR)) {
943 brq->stop.resp[0], status);
954 DIV_ROUND_UP(brq->data.timeout_ns, 1000000),
971 if (brq->sbc.error)
972 return mmc_blk_cmd_error(req, "SET_BLOCK_COUNT", brq->sbc.error,
976 if (brq->cmd.error)
977 return mmc_blk_cmd_error(req, "r/w cmd", brq->cmd.error,
981 if (!brq->stop.error)
986 req->rq_disk->disk_name, brq->stop.error,
987 brq->cmd.resp[0], status);
994 brq->stop.resp[0] = stop_status;
995 brq->stop.error = 0;
1165 static inline void mmc_apply_rel_rw(struct mmc_blk_request *brq,
1171 if (!IS_ALIGNED(brq->cmd.arg, card->ext_csd.rel_sectors))
1172 brq->data.blocks = 1;
1174 if (brq->data.blocks > card->ext_csd.rel_sectors)
1175 brq->data.blocks = card->ext_csd.rel_sectors;
1176 else if (brq->data.blocks < card->ext_csd.rel_sectors)
1177 brq->data.blocks = 1;
1194 struct mmc_blk_request *brq = &mq_mrq->brq;
1208 if (brq->sbc.error || brq->cmd.error || brq->stop.error ||
1209 brq->data.error) {
1210 switch (mmc_blk_cmd_recovery(card, req, brq, &ecc_err, &gen_err)) {
1227 if (brq->cmd.resp[0] & CMD_ERRORS) {
1229 req->rq_disk->disk_name, brq->cmd.resp[0]);
1242 if (brq->stop.resp[0] & R1_ERROR) {
1245 brq->stop.resp[0]);
1262 if (brq->data.error) {
1264 req->rq_disk->disk_name, brq->data.error,
1267 brq->cmd.resp[0], brq->stop.resp[0]);
1278 if (!brq->data.bytes_xfered)
1282 if (unlikely(brq->data.blocks << 9 != brq->data.bytes_xfered))
1288 if (blk_rq_bytes(req) != brq->data.bytes_xfered)
1359 struct mmc_blk_request *brq = &mqrq->brq;
1376 memset(brq, 0, sizeof(struct mmc_blk_request));
1377 brq->mrq.cmd = &brq->cmd;
1378 brq->mrq.data = &brq->data;
1380 brq->cmd.arg = blk_rq_pos(req);
1382 brq->cmd.arg <<= 9;
1383 brq->cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_ADTC;
1384 brq->data.blksz = 512;
1385 brq->stop.opcode = MMC_STOP_TRANSMISSION;
1386 brq->stop.arg = 0;
1387 brq->data.blocks = blk_rq_sectors(req);
1394 if (brq->data.blocks > card->host->max_blk_count)
1395 brq->data.blocks = card->host->max_blk_count;
1397 if (brq->data.blocks > 1) {
1404 brq->data.blocks = 1;
1411 brq->data.blocks = card->host->ops->multi_io_quirk(card,
1414 brq->data.blocks);
1417 if (brq->data.blocks > 1 || do_rel_wr) {
1423 brq->mrq.stop = &brq->stop;
1427 brq->mrq.stop = NULL;
1432 brq->cmd.opcode = readcmd;
1433 brq->data.flags |= MMC_DATA_READ;
1434 if (brq->mrq.stop)
1435 brq->stop.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 |
1438 brq->cmd.opcode = writecmd;
1439 brq->data.flags |= MMC_DATA_WRITE;
1440 if (brq->mrq.stop)
1441 brq->stop.flags = MMC_RSP_SPI_R1B | MMC_RSP_R1B |
1446 mmc_apply_rel_rw(brq, card, req);
1455 ((brq->data.blocks * brq->data.blksz) >=
1476 if ((md->flags & MMC_BLK_CMD23) && mmc_op_multi(brq->cmd.opcode) &&
1479 brq->sbc.opcode = MMC_SET_BLOCK_COUNT;
1480 brq->sbc.arg = brq->data.blocks |
1483 brq->sbc.flags = MMC_RSP_R1 | MMC_CMD_AC;
1484 brq->mrq.sbc = &brq->sbc;
1487 mmc_set_data_timeout(&brq->data, card);
1489 brq->data.sg = mqrq->sg;
1490 brq->data.sg_len = mmc_queue_map_sg(mq, mqrq);
1496 if (brq->data.blocks != blk_rq_sectors(req)) {
1497 int i, data_size = brq->data.blocks << 9;
1500 for_each_sg(brq->data.sg, sg, brq->data.sg_len, i) {
1508 brq->data.sg_len = i;
1511 mqrq->mmc_active.mrq = &brq->mrq;
1645 struct mmc_blk_request *brq = &mqrq->brq;
1675 ((brq->data.blocks * brq->data.blksz) >=
1690 memset(brq, 0, sizeof(struct mmc_blk_request));
1691 brq->mrq.cmd = &brq->cmd;
1692 brq->mrq.data = &brq->data;
1693 brq->mrq.sbc = &brq->sbc;
1694 brq->mrq.stop = &brq->stop;
1696 brq->sbc.opcode = MMC_SET_BLOCK_COUNT;
1697 brq->sbc.arg = MMC_CMD23_ARG_PACKED | (packed->blocks + hdr_blocks);
1698 brq->sbc.flags = MMC_RSP_R1 | MMC_CMD_AC;
1700 brq->cmd.opcode = MMC_WRITE_MULTIPLE_BLOCK;
1701 brq->cmd.arg = blk_rq_pos(req);
1703 brq->cmd.arg <<= 9;
1704 brq->cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_ADTC;
1706 brq->data.blksz = 512;
1707 brq->data.blocks = packed->blocks + hdr_blocks;
1708 brq->data.flags |= MMC_DATA_WRITE;
1710 brq->stop.opcode = MMC_STOP_TRANSMISSION;
1711 brq->stop.arg = 0;
1712 brq->stop.flags = MMC_RSP_SPI_R1B | MMC_RSP_R1B | MMC_CMD_AC;
1714 mmc_set_data_timeout(&brq->data, card);
1716 brq->data.sg = mqrq->sg;
1717 brq->data.sg_len = mmc_queue_map_sg(mq, mqrq);
1719 mqrq->mmc_active.mrq = &brq->mrq;
1726 struct mmc_blk_request *brq, struct request *req,
1730 mq_rq = container_of(brq, struct mmc_queue_req, brq);
1749 ret = blk_end_request(req, 0, brq->data.bytes_xfered);
1830 struct mmc_blk_request *brq = &mq->mqrq_cur->brq;
1851 if ((brq->data.blocks & 0x07) &&
1875 brq = &mq_rq->brq;
1893 brq->data.bytes_xfered);
1904 brq->data.bytes_xfered);
1910 ret = mmc_blk_cmd_err(md, card, brq, req, ret);
1934 if (brq->data.blocks > 1) {
1947 brq->data.blksz);