[PATCH v4 0/10] mmc: meson-gx: series with smaller improvements
Kevin Hilman
khilman at baylibre.com
Fri Mar 3 21:33:40 PST 2017
Heiner Kallweit <hkallweit1 at gmail.com> writes:
> Am 03.03.2017 um 22:19 schrieb Kevin Hilman:
>> Heiner Kallweit <hkallweit1 at gmail.com> writes:
>>
>>> New series is limited to smaller refactorings w/o functional changes.
>>
>> I'd reviewed this series before, but hadn't actually tested it until
>> today. I applied this series onto today's linux-next, and tested on
>> meson-gxbb-odroidc2 and the kernel hangs up right after:
>>
>> meson-gx-mmc d0072000.mmc: Got CD GPIO
>>
>> with no error message or oops/backtrace etc.
>>
>> Could you clarify how you are testing this, on what tree/branch, on what
>> hardware etc.?
>>
> I'm testing on Odroid C2 with a self-built uboot based on the latest
> mainline uboot incl. an own eMMC driver which was submitted but is
> not yet applied to mainline uboot.
> The system is running headless with a serial console attached.
> Storage is a 128 GB Hardkernel eMMC card.
>
> I use latest next kernel + the patches to test.
>
> Does your system work w/o the current patch set?
Yes.
> And do you use HS200 or HS400 mode?
I don't remember what kind of card is plugged in, and I'm away from the
board currently.
Since you have a custom uboot, with a custom MMC driver, I suspect that
your uboot is initializing something that the kernel is not, so when a
kernel is used that's not using your uboot, something goes wrong.
Any chance you can try with the vendor uboot from Hardkernel?
I tested on odroid-c2 because someone on the #linux-amlogic IRC channel
(webczat) reported the hang when testing your patches, so I tried to
reproduce and got the same hang.
Until we figure out what the hang is, this series should not be merged.
Kevin
> I also figured out that 200MHz w/o tuning is a little fragile and
> reduced the clock to 60 MHz. This makes no difference in performance
> as the driver currently is very slow anyway (only 10 - 15 MB/s).
> When the clock is too high I see lots of CRC errors on the serial
> console.
>
> This will change with further patches I have in my tree.
> They allow stable HS200/HS400 with quite basic tuning resulting in
> 140 MB/s read performance.
> Stable configuration here is: 180° core clock phase, 0° tx clock
> phase, 180° rx clock phase.
>
>> Also, in the cover letter, it's customary to include a summary of what
>> changed since the previous version(s)
>>
>> Kevin
>>
>>> Heiner Kallweit (10):
>>> mmc: meson-gx: simplify bounce buffer setting in meson_mmc_start_cmd
>>> mmc: meson-gx: make two functions return void
>>> mmc: meson-gx: remove unused members irq, ocr_mask from struct meson_host
>>> mmc: meson-gx: remove unneeded variable in meson_mmc_clk_init
>>> mmc: meson-gx: remove member parent_mux from struct meson_host
>>> mmc: meson-gx: remove unneeded meson_mmc_clk_set in meson_mmc_clk_init
>>> mmc: meson-gx: remove unneeded devm_kstrdup in meson_mmc_clk_init
>>> mmc: meson-gx: improve initial configuration
>>> mmc: meson-gx: remove member mrq from struct meson_host
>>> mmc: meson-gx: replace magic timeout numbers with constants
>>>
>>> drivers/mmc/host/meson-gx-mmc.c | 126 ++++++++++++++++------------------------
>>> 1 file changed, 50 insertions(+), 76 deletions(-)
>>
More information about the linux-amlogic
mailing list