Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b146d26a authored by Pierre Ossman's avatar Pierre Ossman
Browse files

mmc: mmc_set_data_timeout() parameter write is redundant



The write parameter in mmc_set_data_timeout() is redundant as the
data structure contains information about the direction of the
transfer.

Signed-off-by: default avatarPierre Ossman <drzeus@drzeus.cx>
parent d7604d76
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -229,8 +229,6 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req)
		if (brq.data.blocks > card->host->max_blk_count)
			brq.data.blocks = card->host->max_blk_count;

		mmc_set_data_timeout(&brq.data, card, rq_data_dir(req) != READ);

		/*
		 * If the host doesn't support multiple block writes, force
		 * block writes to single block. SD cards are excepted from
@@ -261,6 +259,8 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req)
			brq.data.flags |= MMC_DATA_WRITE;
		}

		mmc_set_data_timeout(&brq.data, card);

		brq.data.sg = mq->sg;
		brq.data.sg_len = mmc_queue_map_sg(mq);

+3 −5
Original line number Diff line number Diff line
@@ -220,13 +220,11 @@ EXPORT_SYMBOL(mmc_wait_for_cmd);
 *	mmc_set_data_timeout - set the timeout for a data command
 *	@data: data phase for command
 *	@card: the MMC card associated with the data transfer
 *	@write: flag to differentiate reads from writes
 *
 *	Computes the data timeout parameters according to the
 *	correct algorithm given the card type.
 */
void mmc_set_data_timeout(struct mmc_data *data, const struct mmc_card *card,
			  int write)
void mmc_set_data_timeout(struct mmc_data *data, const struct mmc_card *card)
{
	unsigned int mult;

@@ -239,7 +237,7 @@ void mmc_set_data_timeout(struct mmc_data *data, const struct mmc_card *card,
	 * Scale up the multiplier (and therefore the timeout) by
	 * the r2w factor for writes.
	 */
	if (write)
	if (data->flags & MMC_DATA_WRITE)
		mult <<= card->csd.r2w_factor;

	data->timeout_ns = card->csd.tacc_ns * mult;
@@ -255,7 +253,7 @@ void mmc_set_data_timeout(struct mmc_data *data, const struct mmc_card *card,
		timeout_us += data->timeout_clks * 1000 /
			(card->host->ios.clock / 1000);

		if (write)
		if (data->flags & MMC_DATA_WRITE)
			limit_us = 250000;
		else
			limit_us = 100000;
+1 −1
Original line number Diff line number Diff line
@@ -214,7 +214,7 @@ int mmc_send_ext_csd(struct mmc_card *card, u8 *ext_csd)

	sg_init_one(&sg, ext_csd, 512);

	mmc_set_data_timeout(&data, card, 0);
	mmc_set_data_timeout(&data, card);

	mmc_wait_for_req(card->host, &mrq);

+2 −2
Original line number Diff line number Diff line
@@ -252,7 +252,7 @@ int mmc_app_send_scr(struct mmc_card *card, u32 *scr)

	sg_init_one(&sg, scr, 8);

	mmc_set_data_timeout(&data, card, 0);
	mmc_set_data_timeout(&data, card);

	mmc_wait_for_req(card->host, &mrq);

@@ -302,7 +302,7 @@ int mmc_sd_switch(struct mmc_card *card, int mode, int group,

	sg_init_one(&sg, resp, 64);

	mmc_set_data_timeout(&data, card, 0);
	mmc_set_data_timeout(&data, card);

	mmc_wait_for_req(card->host, &mrq);

+1 −1
Original line number Diff line number Diff line
@@ -111,7 +111,7 @@ extern int mmc_wait_for_cmd(struct mmc_host *, struct mmc_command *, int);
extern int mmc_wait_for_app_cmd(struct mmc_host *, struct mmc_card *,
	struct mmc_command *, int);

extern void mmc_set_data_timeout(struct mmc_data *, const struct mmc_card *, int);
extern void mmc_set_data_timeout(struct mmc_data *, const struct mmc_card *);

extern void mmc_claim_host(struct mmc_host *host);
extern void mmc_release_host(struct mmc_host *host);