Re: [PATCH v5 1/2] mmc: dw_mmc: silent verbose log when calling from PM context

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2017/1/15 11:50, ayaka wrote:


On 01/13/2017 10:59 AM, Shawn Lin wrote:
When deploying runtime PM, it's quite verbose to print the
log of ios setting. Also it's useless to print it from system
PM as it should be the same with booting time. We also have
sysfs to get all these information from ios attribute, so let's
skip this print from PM context.

Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx>
---

Changes in v5: None
Changes in v4: None
Changes in v3: None
Changes in v2: None

  drivers/mmc/host/dw_mmc.c | 21 ++++++++++++---------
  1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
index 3d213e7..dc58ec3 100644
--- a/drivers/mmc/host/dw_mmc.c
+++ b/drivers/mmc/host/dw_mmc.c
@@ -1153,7 +1153,8 @@ static void mci_send_cmd(struct dw_mci_slot
*slot, u32 cmd, u32 arg)
          cmd, arg, cmd_status);
  }
  -static void dw_mci_setup_bus(struct dw_mci_slot *slot, bool
force_clkinit)
+static void dw_mci_setup_bus(struct dw_mci_slot *slot,
+                 bool force_clkinit, bool pm_context)
  {
      struct dw_mci *host = slot->host;
      unsigned int clock = slot->clock;
@@ -1182,11 +1183,13 @@ static void dw_mci_setup_bus(struct
dw_mci_slot *slot, bool force_clkinit)
          if ((clock != slot->__clk_old &&
              !test_bit(DW_MMC_CARD_NEEDS_POLL, &slot->flags)) ||
              force_clkinit) {
-            dev_info(&slot->mmc->class_dev,
-                 "Bus speed (slot %d) = %dHz (slot req %dHz, actual
%dHZ div = %d)\n",
-                 slot->id, host->bus_hz, clock,
-                 div ? ((host->bus_hz / div) >> 1) :
-                 host->bus_hz, div);
+            /* Silent the verbose log if calling from PM context */
+            if (!pm_context)
+                dev_info(&slot->mmc->class_dev,
+                     "Bus speed (slot %d) = %dHz (slot req %dHz,
actual %dHZ div = %d)\n",
+                     slot->id, host->bus_hz, clock,
+                     div ? ((host->bus_hz / div) >> 1) :
+                     host->bus_hz, div);
                /*
               * If card is polling, display the message only
@@ -1434,12 +1437,12 @@ static void dw_mci_set_ios(struct mmc_host
*mmc, struct mmc_ios *ios)
          }
            /* Adjust clock / bus width after power is up */
-        dw_mci_setup_bus(slot, false);
+        dw_mci_setup_bus(slot, false, false);
            break;
      case MMC_POWER_OFF:
          /* Turn clock off before power goes down */
-        dw_mci_setup_bus(slot, false);
+        dw_mci_setup_bus(slot, false, false);
            if (!IS_ERR(mmc->supply.vmmc))
              mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, 0);
@@ -3366,7 +3369,7 @@ int dw_mci_runtime_resume(struct device *dev)
              continue;
          if (slot->mmc->pm_flags & MMC_PM_KEEP_POWER) {
              dw_mci_set_ios(slot->mmc, &slot->mmc->ios);
-            dw_mci_setup_bus(slot, true);
+            dw_mci_setup_bus(slot, true, true);
Sadness, it seems not work for firefly reload, maybe there is some
problems with the card detect in that board.

This patch is intended to prevent the spamming log from pm context but
your firefly-reload board should have a another problem. So IIRC you
still see the spamming log with polling mode, we need to dig that later
but we need this two patches(at least 2/2) merged into 4.10-rc cycle to
fix the boot problem.





          }
      }







--
Best Regards
Shawn Lin

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



[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux