Hi Bjorn, Thanks for taking a look. On 03/19/2015 05:36 PM, Bjorn Andersson wrote: > On Thu, Mar 19, 2015 at 5:55 AM, Georgi Djakov <georgi.djakov@xxxxxxxxxx> wrote: > [..] > >> @@ -516,6 +527,22 @@ static int sdhci_msm_probe(struct platform_device *pdev) >> host_version, ((host_version & SDHCI_VENDOR_VER_MASK) >> >> SDHCI_VENDOR_VER_SHIFT)); >> >> + core_version = readl_relaxed(msm_host->core_mem + CORE_MCI_VERSION); >> + core_major = (core_version & CORE_VERSION_MAJOR_MASK) >> >> + CORE_VERSION_MAJOR_SHIFT; >> + core_minor = core_version & CORE_VERSION_MINOR_MASK; >> + dev_dbg(&pdev->dev, "MCI Version: 0x%08x, major: 0x%04x, minor: 0x%02x\n", >> + core_version, core_major, core_minor); >> + >> + /* >> + * Support for 3v and 8bit bus-width is not advertised by some >> + * controller versions and must be explicitly enabled. >> + */ >> + if (core_major >= 1 && core_minor != 0x11 && core_minor != 0x12) >> + writel_relaxed(readl_relaxed(host->ioaddr + SDHCI_CAPABILITIES) >> + | CORE_3_0V_SUPPORT | CORE_8_BIT_SUPPORT, >> + host->ioaddr + CORE_VENDOR_SPEC_CAPABILITIES0); > > Please split this into read, modify, write statements and put braces around it. Ok, i will. > >> + > > Does the 8916 board you have work without bumping the > regulator_set_load() (previously regulator_set_optimum_mode())? None > of my 8974 boards work reliably without it. My 8916 board seems to be working fine with this, at least when doing basic tests like mounting filesystems and file transfers. I'm not calling any regulator_set_load() functions. Is your board a dragonboard or something else? If you are doing any specific tests maybe i can try the same on my board? Thanks, Georgi -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html