Skip to contentSkip to conversation

mmc: dw-mmc: relocate the position called dw_mci_setup_bus()

PATCH In review Jaehoon Chung 4 participants 7 messages Nov 8, 2012 – Dec 4, 2012

Subsystems (2)
lore
Share & tools
lore

Jaehoon Chung

author maintainer
#0 lore raw

PATCH v3 1/4 mmc: dw-mmc: relocate the position called dw_mci_setup_bus()

To ensure the stable clock need to enable before set the DW_MMC_CARD_NEED_INIT flag. If set DW_MMC_CARD_NEED_INIT flag, wait for 80-clock before first command after power-up.

---
Changelog v2-v3:
- Modified the commit-message

 drivers/mmc/host/dw_mmc.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---

drivers/mmc/host/dw_mmc.c +3 -3
index c0667c8..a1369aa 100644
@@ -683,9 +683,6 @@ static void __dw_mci_start_request(struct dw_mci *host,
 	if (host->pdata->select_slot)
 		host->pdata->select_slot(slot->id);
 
-	/* Slot specific timing and width adjustment */
-	dw_mci_setup_bus(slot);
-
 	host->cur_slot = slot;
 	host->mrq = mrq;
 
@@ -812,6 +809,9 @@ static void dw_mci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
 	if (drv_data && drv_data->set_ios)
 		drv_data->set_ios(slot->host, ios);
 
+	/* Slot specific timing and width adjustment */
+	dw_mci_setup_bus(slot);
+
 	switch (ios->power_mode) {
 	case MMC_POWER_UP:
 		set_bit(DW_MMC_CARD_NEED_INIT, &slot->flags);
Signature · 1 line
1.7.4.1
author maintainer
#1 lore raw

Hi Mr, Seungwon.

Do you have any opinion about this patch and others? If you have, let me know, plz.

Best Regards,
Jaehoon Chung

Quoted 37 lines · Jaehoon Chung

To ensure the stable clock need to enable before set the DW_MMC_CARD_NEED_INIT flag. If set DW_MMC_CARD_NEED_INIT flag, wait for 80-clock before first command after power-up.

---
Changelog v2-v3:
- Modified the commit-message

 drivers/mmc/host/dw_mmc.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---

drivers/mmc/host/dw_mmc.c +3 -3
index c0667c8..a1369aa 100644
@@ -683,9 +683,6 @@ static void __dw_mci_start_request(struct dw_mci *host,
 	if (host->pdata->select_slot)
 		host->pdata->select_slot(slot->id);
 
-	/* Slot specific timing and width adjustment */
-	dw_mci_setup_bus(slot);
-
 	host->cur_slot = slot;
 	host->mrq = mrq;
 
@@ -812,6 +809,9 @@ static void dw_mci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
 	if (drv_data && drv_data->set_ios)
 		drv_data->set_ios(slot->host, ios);
 
+	/* Slot specific timing and width adjustment */
+	dw_mci_setup_bus(slot);
+
 	switch (ios->power_mode) {
 	case MMC_POWER_UP:
 		set_bit(DW_MMC_CARD_NEED_INIT, &slot->flags);
#2 lore raw
In reply to Jaehoon Chung
Quoted 2 lines · Jaehoon Chung

To ensure the stable clock need to enable before set the DW_MMC_CARD_NEED_INIT flag. If set DW_MMC_CARD_NEED_INIT flag, wait for 80-clock before first command after power-up.

As we have discussed, the location of 'dw_mci_setup_bus' seems proper in 'dw_mci_set_ios'. But commit message doesn't really hit me. Origin code can also ensure the same. Mr. Newton, do you have any opinion?

Thanks,
Seungwon Jeon

Quoted 41 lines

---
Changelog v2-v3:
- Modified the commit-message

 drivers/mmc/host/dw_mmc.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---

drivers/mmc/host/dw_mmc.c +3 -4
index c0667c8..a1369aa 100644
@@ -683,9 +683,6 @@ static void __dw_mci_start_request(struct dw_mci *host,
 	if (host->pdata->select_slot)
 		host->pdata->select_slot(slot->id);
 
-	/* Slot specific timing and width adjustment */
-	dw_mci_setup_bus(slot);
-
 	host->cur_slot = slot;
 	host->mrq = mrq;
 
@@ -812,6 +809,9 @@ static void dw_mci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
 	if (drv_data && drv_data->set_ios)
 		drv_data->set_ios(slot->host, ios);
 
+	/* Slot specific timing and width adjustment */
+	dw_mci_setup_bus(slot);
+
 	switch (ios->power_mode) {
 	case MMC_POWER_UP:
 		set_bit(DW_MMC_CARD_NEED_INIT, &slot->flags);
--

1.7.4.1
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

author maintainer
#3 lore raw

Hi,

Quoted 6 lines · Seungwon Jeon
Quoted 2 lines · Jaehoon Chung

To ensure the stable clock need to enable before set the DW_MMC_CARD_NEED_INIT flag. If set DW_MMC_CARD_NEED_INIT flag, wait for 80-clock before first command after power-up.

As we have discussed, the location of 'dw_mci_setup_bus' seems proper in 'dw_mci_set_ios'. But commit message doesn't really hit me. Origin code can also ensure the same. Mr. Newton, do you have any opinion?

Origin code also ensure it. But it need to setup into set_ios. Because Operation related with clock is used with mmc_set_ios(). And I didn't know why called the dw_mci_setup_bus() at every request.

Best Regards,
Jaehoon Chung

Quoted 50 lines

Thanks,
Seungwon Jeon

Quoted 36 lines

---
Changelog v2-v3:
- Modified the commit-message

 drivers/mmc/host/dw_mmc.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

---

drivers/mmc/host/dw_mmc.c +3 -4
index c0667c8..a1369aa 100644
@@ -683,9 +683,6 @@ static void __dw_mci_start_request(struct dw_mci *host,
 	if (host->pdata->select_slot)
 		host->pdata->select_slot(slot->id);
 
-	/* Slot specific timing and width adjustment */
-	dw_mci_setup_bus(slot);
-
 	host->cur_slot = slot;
 	host->mrq = mrq;
 
@@ -812,6 +809,9 @@ static void dw_mci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
 	if (drv_data && drv_data->set_ios)
 		drv_data->set_ios(slot->host, ios);
 
+	/* Slot specific timing and width adjustment */
+	dw_mci_setup_bus(slot);
+
 	switch (ios->power_mode) {
 	case MMC_POWER_UP:
 		set_bit(DW_MMC_CARD_NEED_INIT, &slot->flags);
--
Quoted 5 lines

1.7.4.1
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Acked-by
#4 lore raw
Quoted 9 lines · Jaehoon Chung

Hi,

Quoted 6 lines · Seungwon Jeon
Quoted 2 lines · Jaehoon Chung

To ensure the stable clock need to enable before set the DW_MMC_CARD_NEED_INIT flag. If set DW_MMC_CARD_NEED_INIT flag, wait for 80-clock before first command after power-up.

As we have discussed, the location of 'dw_mci_setup_bus' seems proper in 'dw_mci_set_ios'. But commit message doesn't really hit me. Origin code can also ensure the same. Mr. Newton, do you have any opinion?

Quoted 6 lines

Origin code also ensure it. But it need to setup into set_ios. Because Operation related with clock is used with mmc_set_ios(). And I didn't know why called the dw_mci_setup_bus() at every request.

Best Regards,
Jaehoon Chung

This looks ok to me (sorry for the delay, I've been away).

#5 lore raw
In reply to Jaehoon Chung

Hi,

Quoted 6 lines · Jaehoon Chung

To ensure the stable clock need to enable before set the DW_MMC_CARD_NEED_INIT flag. If set DW_MMC_CARD_NEED_INIT flag, wait for 80-clock before first command after power-up.

Thanks, pushed to mmc-next for 3.8 with Will's ACK.

- Chris.

Signature · 2 lines
Chris Ball   <[email protected]>   <http://printf.net/>
One Laptop Per Child
author maintainer
#6 lore raw

Hi Chris,

This patch has dependency with Abhilash's patch(mmc:dw-mmc: Add sdio power binding) That patch is modified the dw_mci_setup_bus's argument.
So it is produced the compiler error.

Do you modify the dw_mci_bus_setup(slot, false) instead of dw_mci_bus_setup(slot)? Otherwise, i will resend the patch after modify.

Best Regards,
Jaehoon Chung

Quoted 14 lines · Chris Ball

Hi,

Quoted 6 lines · Jaehoon Chung

To ensure the stable clock need to enable before set the DW_MMC_CARD_NEED_INIT flag. If set DW_MMC_CARD_NEED_INIT flag, wait for 80-clock before first command after power-up.

Thanks, pushed to mmc-next for 3.8 with Will's ACK.

- Chris.