ひでみのアイデア帳

くだらないことなんだけど、忘れないために・・・

ADMAじゃないんだけどなぁ

今日はlinux-xlnxのログを眺めていたのね。

そしたら、こんなログが・・・

commit 0e4e4071493171bbac37bf60709022f49171c813
Author: Sai Krishna Potthuri <lakshmi.sai.krishna.potthuri@xilinx.com>
Date:   Thu Oct 13 15:31:06 2016 +0530

    mmc: arasan: Add ADMA broken quirk based on DT parameter

    This patch adds 'SDHCI_QUIRK_BROKEN_ADMA' quirk to the
    sdhci arasan controller based on the DT property.
    With 4.6 kernel, ADMA2 is broken. So added this quirk as
    a workaround and can be reverted once kernel is upgraded
    or actual solution is found.
    Issue with ADMA2 can be seen with the following three steps
    done in regression.
    1. mount SD card.
    2. Read and write some random data ~1MB.
    3. reboot the board.
    Issue is visible after running 15 to 20mins with 4.6 kernel
    and there might be a chance that issue might occur very
    frequently depending on the application.
    So, using the above workaround to force the controller to
    use SDMA.
    The performance difference between SDMA and ADMA2 is around
    10-15%.
    ADMA2 can be used by removing the 'broken-adma2' property
    from devicetree.

    Signed-off-by: Sai Krishna Potthuri <lakshmis@xilinx.com>
    Signed-off-by: Michal Simek <michal.simek@xilinx.com>

commit 11af480e9b2ea1bb9f91b00ddaad032a0bd52b3f
Author: Sai Krishna Potthuri <lakshmi.sai.krishna.potthuri@xilinx.com>
Date:   Thu Oct 13 15:31:05 2016 +0530

    ARM: dts: Add broken-adma2 property to SD node

    This patch adds 'broken-adma2' property to SD node.
    By adding this property controller will use SDMA
    by default. This property can be removed to use ADMA2.

    Signed-off-by: Sai Krishna Potthuri <lakshmis@xilinx.com>
    Signed-off-by: Michal Simek <michal.simek@xilinx.com>

commit 358257734eea7ae4b16d91a5e91e940181448fd9
Author: Sai Krishna Potthuri <lakshmi.sai.krishna.potthuri@xilinx.com>
Date:   Thu Oct 13 15:31:04 2016 +0530

    Documentation: mmc: Add broken-adma2 property

    This patch adds 'broken-adma2' property which indicates
    ADMA2 functionality is broken and force the controller to use
    SDMA.

    Signed-off-by: Sai Krishna Potthuri <lakshmis@xilinx.com>
    Signed-off-by: Michal Simek <michal.simek@xilinx.com>

まずは「broken-adma2プロパティを追加したよ」から始まる。

「broken-adma2はSDのためだよ。SDMAをデフォルトにするよ。」と続く・・・

最後に「これは4.6での回避策でバージョンアップされたりしたら治るかも・・・」

それで最後にSDMAとADMA2の性能差について弁明されている。

「差は10〜15%程度だから・・・」

をいをい、これはソフトウェアのパフォーマンス落として高位合成してXilinx FPGAは有利ですとでも言いたいのか?

ちなみにADMA2は壊れていないんだな。

なので、これはこの回避策は間違えた回避策で原因の本質を直さない限りは今後のバージョンでは絶対に治らないよ。

もうちょっと、自社製品を理解したほうが良いよ>Xilinxの中の人

そう言えば、Linux Kernelの4.10が出てたなぁ。

動かすか・・・