Show a cover letter.

GET /api/covers/816893/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 816893,
    "url": "http://patchwork.ozlabs.org/api/covers/816893/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/cover/1506004213-22620-1-git-send-email-jjhiblot@ti.com/",
    "project": {
        "id": 18,
        "url": "http://patchwork.ozlabs.org/api/projects/18/?format=api",
        "name": "U-Boot",
        "link_name": "uboot",
        "list_id": "u-boot.lists.denx.de",
        "list_email": "u-boot@lists.denx.de",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<1506004213-22620-1-git-send-email-jjhiblot@ti.com>",
    "list_archive_url": null,
    "date": "2017-09-21T14:29:47",
    "name": "[U-Boot,v2,00/26] mmc: Add support for HS200 and UHS modes",
    "submitter": {
        "id": 70508,
        "url": "http://patchwork.ozlabs.org/api/people/70508/?format=api",
        "name": "Jean-Jacques Hiblot",
        "email": "jjhiblot@ti.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/uboot/cover/1506004213-22620-1-git-send-email-jjhiblot@ti.com/mbox/",
    "series": [
        {
            "id": 4400,
            "url": "http://patchwork.ozlabs.org/api/series/4400/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=4400",
            "date": "2017-09-21T14:29:47",
            "name": "mmc: Add support for HS200 and UHS modes",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/4400/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/816893/comments/",
    "headers": {
        "Return-Path": "<u-boot-bounces@lists.denx.de>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org",
        "Authentication-Results": [
            "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.denx.de\n\t(client-ip=81.169.180.215; helo=lists.denx.de;\n\tenvelope-from=u-boot-bounces@lists.denx.de;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ti.com header.i=@ti.com header.b=\"VxYnXnks\";\n\tdkim-atps=neutral"
        ],
        "Received": [
            "from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 3xyfCv25hVz9sBZ\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 22 Sep 2017 00:30:35 +1000 (AEST)",
            "by lists.denx.de (Postfix, from userid 105)\n\tid DD335C21FF3; Thu, 21 Sep 2017 14:30:31 +0000 (UTC)",
            "from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 57451C21E16;\n\tThu, 21 Sep 2017 14:30:28 +0000 (UTC)",
            "by lists.denx.de (Postfix, from userid 105)\n\tid 81E1DC21E13; Thu, 21 Sep 2017 14:30:26 +0000 (UTC)",
            "from lelnx193.ext.ti.com (lelnx193.ext.ti.com [198.47.27.77])\n\tby lists.denx.de (Postfix) with ESMTPS id D284FC21E0A\n\tfor <u-boot@lists.denx.de>; Thu, 21 Sep 2017 14:30:25 +0000 (UTC)",
            "from dlelxv90.itg.ti.com ([172.17.2.17])\n\tby lelnx193.ext.ti.com (8.15.1/8.15.1) with ESMTP id v8LEUKIb029385; \n\tThu, 21 Sep 2017 09:30:20 -0500",
            "from DLEE101.ent.ti.com (dlee101.ent.ti.com [157.170.170.31])\n\tby dlelxv90.itg.ti.com (8.14.3/8.13.8) with ESMTP id v8LEUKWc019369; \n\tThu, 21 Sep 2017 09:30:20 -0500",
            "from DLEE106.ent.ti.com (157.170.170.36) by DLEE101.ent.ti.com\n\t(157.170.170.31) with Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.845.34;\n\tThu, 21 Sep 2017 09:30:20 -0500",
            "from dlep32.itg.ti.com (157.170.170.100) by DLEE106.ent.ti.com\n\t(157.170.170.36) with Microsoft SMTP Server (version=TLS1_0,\n\tcipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.845.34 via Frontend\n\tTransport; Thu, 21 Sep 2017 09:30:19 -0500",
            "from localhost (ileax41-snat.itg.ti.com [10.172.224.153])\n\tby dlep32.itg.ti.com (8.14.3/8.13.8) with ESMTP id v8LEUIsV030499;\n\tThu, 21 Sep 2017 09:30:19 -0500"
        ],
        "X-Spam-Checker-Version": "SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de",
        "X-Spam-Level": "",
        "X-Spam-Status": "No, score=0.0 required=5.0 tests=RCVD_IN_DNSWL_NONE,\n\tT_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ti.com;\n\ts=ti-com-17Q1; t=1506004220;\n\tbh=vyni3/JAOl+FeZyT16uhTIubeEerAQDF93JGw6Ldu4E=;\n\th=From:To:CC:Subject:Date;\n\tb=VxYnXnksQEKwBGSSL5q0QfPOS0xvj+kpWuPAM1nGbQjVvtCXuWSWkzh3oT1bd4qgV\n\t7GMC4ylcbGBMM0PEpfm3za7S63cX/l1xG1GJiGZx/EFsZASE401cPJyQX/YI1W7Y9x\n\tqORsIfDHxinuPTn4u2HZgDJCywRXSxw4Nv2X9BMY=",
        "From": "Jean-Jacques Hiblot <jjhiblot@ti.com>",
        "To": "<jh80.chung@samsung.com>, <trini@konsulko.com>, <kishon@ti.com>,\n\t<sjg@chromium.org>",
        "Date": "Thu, 21 Sep 2017 16:29:47 +0200",
        "Message-ID": "<1506004213-22620-1-git-send-email-jjhiblot@ti.com>",
        "X-Mailer": "git-send-email 1.9.1",
        "MIME-Version": "1.0",
        "X-EXCLAIMER-MD-CONFIG": "e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180",
        "Cc": "u-boot@lists.denx.de",
        "Subject": "[U-Boot] [PATCH v2 00/26] mmc: Add support for HS200 and UHS modes",
        "X-BeenThere": "u-boot@lists.denx.de",
        "X-Mailman-Version": "2.1.18",
        "Precedence": "list",
        "List-Id": "U-Boot discussion <u-boot.lists.denx.de>",
        "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>",
        "List-Archive": "<http://lists.denx.de/pipermail/u-boot/>",
        "List-Post": "<mailto:u-boot@lists.denx.de>",
        "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>",
        "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=subscribe>",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "base64",
        "Errors-To": "u-boot-bounces@lists.denx.de",
        "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>"
    },
    "content": "This series brings support for HS200 and UHS modes to the mmc core.\nIt has been tested with the hsmmc driver on several platforms (DRA7,\nAM57x, AM437x, beaglebone black, Atmel SAMA5D3 xplained). Some modifications\nare required in the host driver to take advantage of this (voltage switching,\ntuning). The changes to the host driver will be posted a another series as this\none is already long enough. \n\nThe series starts with a small refactoring of th sd/mmc startup. The first 5 commits\nare mostly moving code around with little or no functionnal change.\n\nThen the notion of \"mode\" is introduced. Until now, this information wasn't\nkept in struct mmc. Only the clock and a flag for ddr was kept. Later the mode\ninformation will be used to select the clock frequency, the ddr flag and the\ntuning procedure. It will be also be check against the host capabilities.\n\nThen comes the big refactoring job in:\n\"mmc: refactor MMC startup to make it easier to support new modes\" and\n\"mmc: refactor SD startup to make it easier to support new modes\"\nSince the number of modes is increasing, it makes sense to try them in a more\norganized way. those commits use a list of supported modes and iterate through\nthem to find the best working one. It also allows to switch more easilly from\none mode to another (switching from HS200 to DDR52 to access boot partitions for example)\n\nThen there are a couple of new callback added to:\n- send the initialization stream (74 clock cycles)\n- wait while the card is busy (used during UHS voltage switching). checking is\n  done on dat0.\n- select the IO voltage\n\nThen Power cycle is added. Without power cycle, if a UHS card fails to enumerate in\nUHS mode, it can't fall back to high speed mode and card enumeration will fail.\nAlso in case of a reset (as opposed to a power on), it ensures that the SDCard\nis in clean state before re-doing the initialization.\n\nAnd finally the last commits add the support for HS200 and UHS.\n\nWith this in place and the required changes in the HSMMC host driver (including\nDMA), we observe significant improvements in the performances on a DRA72 evm:\neMMC HS200: 124 MB/s\neMMC DDR52: 78 MB/s\nsd   SDR104: 71 MB/s\nsd   SDR50: 44 MB/s\n\ncheers,\n\nJean-Jacques\n\nchanges since v1:\nChanges take in account all the comment made during the first round of review.\nBut it also include a rework of the handling of the voltage supplies and 2 new\nhelper functions that can be used by the host driver during tuning and dts\nparsing.\n\nHere is a detailed list:\n * rebase on u-boot/master.\n * add the description for the new functions/members\n * fix the typos found in the reviews\n * limit the new features to DM_MMC only\n * fix the new checkpatch warnings/errors (is it now more strict ?)\n * get the voltage regulators from dts (main and IO-lines)\n * remove the set_vdd callback and do the job in the mmc core\n * add a send_init_stream callback to perform the 74 clock cycle\n   sequence after power up\n * do a full power cycle (if possible) before the initialization. This ensures\n   that the sd/MMC is in valid knwon state. Also it allows to check if the power\n   cycling works as expected.\n * disable the UHS modes is power cycling is not available/working. This ensures\n   that we won't be stuck if the UHS initialization fails.\n * select the appropriate signal voltage when selecting a mode (MMC only) \n * add a helper function to parse the generic dt bindings\n * add a helper function to send the tuning command\n \nJean-Jacques Hiblot (17):\n  mmc: dm: get the IO-line and main voltage regulators from the dts\n  mmc: split mmc_startup()\n  mmc: move the MMC startup for version above v4.0 in a separate\n    function\n  mmc: make ext_csd part of struct mmc\n  mmc: add a function to read and test the ext csd (mmc >= 4)\n  mmc: introduce mmc modes\n  mmc: Add a function to dump the mmc capabilities\n  mmc: use mmc modes to select the correct bus speed\n  cmd: mmc: display the mode name and current bus speed in the mmc info\n  mmc: refactor SD startup to make it easier to support new modes\n  mmc: refactor MMC startup to make it easier to support new modes\n  mmc: Add a new callback function to perform the 74 clocks cycle\n    sequence\n  mmc: Add support for UHS modes\n  mmc: disable UHS modes if Vcc cannot be switched on and off\n  mmc: Change mode when switching to a boot partition\n  mmc: use the right voltage level for MMC DDR and HS200 modes\n  mmc: add a library function to send tuning command\n\nKishon Vijay Abraham I (9):\n  mmc: make mmc_set_ios() return status\n  mmc: Enable signal voltage to be selected from mmc core\n  mmc: add power cyle support in mmc core\n  mmc: add a new mmc parameter to disable mmc clock\n  mmc: disable the mmc clock during power off\n  mmc: Add a execute_tuning() callback to the mmc operations.\n  mmc: add HS200 support in MMC core\n  mmc: Retry some MMC cmds on failure\n  dm: mmc: Add a library function to parse generic dt binding\n\n cmd/mmc.c                |    3 +-\n drivers/mmc/Kconfig      |   23 +\n drivers/mmc/fsl_esdhc.c  |    2 +-\n drivers/mmc/mmc-uclass.c |   87 +++\n drivers/mmc/mmc.c        | 1511 ++++++++++++++++++++++++++++++++++------------\n include/mmc.h            |  176 +++++-\n 6 files changed, 1417 insertions(+), 385 deletions(-)"
}