From patchwork Fri Nov 10 13:58:45 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 118530 Delivered-To: patch@linaro.org Received: by 10.80.225.132 with SMTP id k4csp2229674edl; Fri, 10 Nov 2017 05:59:07 -0800 (PST) X-Google-Smtp-Source: AGs4zMZVqamwGjIQVk4/rRLuGbMDpbXN/H2zeiuYZ84vCNdlnREwwwmrHI8sB7Cgku0Tg1dzrJ95 X-Received: by 10.84.236.70 with SMTP id h6mr466110pln.166.1510322346956; Fri, 10 Nov 2017 05:59:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510322346; cv=none; d=google.com; s=arc-20160816; b=Z+Ffn/Sc/GNUFN/FcyLhJ6PRg5Vqr6J07I44c1MrVnlnbtQ01n/MZI4ecfliY+4LMR LcydK86q6YI7y4GeSYET2wjye965uM0Pn9YmGptIPK3lwlEVtr+ailUYYFx4uiB/8IeX c2SWhd/QfZGl4R/o8ITD3g8cqfhlmLKFLv+Ts/FqmO+hFkn/30pR6gcwhvclBxVvwe2l qwOpooB5fjO+6JgVc3Jx676MmHtYVus/TAooxXdJJPnTNG+/DeowH6iXG7r7ourYnJu4 mQvcOwrwUYn/XjfqPwdMwVQZs7QUivxvBd3is0CvHi8BryCNKd7LuqQXkoqhdxFxb4aI lb3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from:dkim-signature :delivered-to:arc-authentication-results; bh=H19nNshFVW6/yNlwJSERNqhDtfuJafZKrbJzfVEjiO8=; b=jPFg8kkaWZvW7b1mmetTIyjGXZLAxm9yCtegDyt34YBagPegc0lUBj0buOXbJnzERe 0HzV4w43UmR/sO4pVgt/8ZjgRhrj2huOFOMgBp+AOTSDwr4GSiJqSODqwnOHkzk19aR3 qTdKyUmfRbGlUTRU8bUDddbz7KlWuxQooFmDCZGDa5jWIl9poBkR7TR29HPQQG3//Vmr nV3B2uD1qNHP/H+7voV4QvJKt0NA+ZDEaj8UnPgu8vCmjf6HnWYU4Q6eVcWGWQ7H4sDi 56R7e/5HdS0nE7jtFOUvR5ngjA8CenwLHneBSAnYx3uE0W7oKQnwYB87DYhaWhVCeVvh l0Mw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=LWE2Jiro; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from ml01.01.org (ml01.01.org. [2001:19d0:306:5::1]) by mx.google.com with ESMTPS id u16si9699124pfl.163.2017.11.10.05.59.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 10 Nov 2017 05:59:06 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) client-ip=2001:19d0:306:5::1; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=LWE2Jiro; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id F243C20355215; Fri, 10 Nov 2017 05:55:02 -0800 (PST) X-Original-To: edk2-devel@lists.01.org Delivered-To: edk2-devel@lists.01.org Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2a00:1450:400c:c09::243; helo=mail-wm0-x243.google.com; envelope-from=ard.biesheuvel@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 91C3021B00DC0 for ; Fri, 10 Nov 2017 05:55:01 -0800 (PST) Received: by mail-wm0-x243.google.com with SMTP id r68so2941886wmr.1 for ; Fri, 10 Nov 2017 05:59:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=BzQqj6RlbgSvtqH8LdQ1lLBvpU948RuL30i6Pul8zUw=; b=LWE2JiroOyupWn1zcYqZWEv0YFet0PMvxieXmgLVJlkz52mMSxnbp2ThEucgdzhvQ1 mwlRujUO0ytWZjSk9oi3M7hO41mrxsCSMqSqG6lG9WZknEEw+mgo6icV6mbimmMhIdr4 bLFWpZLKAEePHUibtWuxWLdvZjmEAEHseSMqg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=BzQqj6RlbgSvtqH8LdQ1lLBvpU948RuL30i6Pul8zUw=; b=SKIqM1NgPmbOSEAPyBI56/yU0ERSrMFlLrVBEUMZRAzh4fBuuVsqX4E2BTf7gRbh0a mZiutC1BeF6n7L1gK18Ru2NdrddLec0kZOt3y3kODvhuzEbi4b/fD9CfcXoVJBMhOjDV k13q7dDASZG6aGfImY+O2JKeel1OR5OhBH8DRKr90jeIqiUpdCWNzaxe+c4OlXeuP/wG lOqLHC4C3dTjbhP3DlnKeHgBrQOSw1sjYTZmsasktFvi3kPYPYgWBZCNkWQfDTReDOwM xLzM1Vv+DEuByYujF8vQ2TTHcSOsplsvhVdU98MVHT7faPgNQ9b9ewl2yVnbus65NKA1 drfA== X-Gm-Message-State: AJaThX6GmZPTgozOzsedpQibh5WUrFI+9ukM9dIxyhNDhRDdUaQyRvT2 dFj0hAep44F5kw+RVHJ5JiSfYbqrLeE= X-Received: by 10.28.18.1 with SMTP id 1mr356978wms.88.1510322342761; Fri, 10 Nov 2017 05:59:02 -0800 (PST) Received: from localhost.localdomain ([160.167.170.128]) by smtp.gmail.com with ESMTPSA id d125sm769726wmd.2.2017.11.10.05.59.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 10 Nov 2017 05:59:01 -0800 (PST) From: Ard Biesheuvel To: edk2-devel@lists.01.org, leif.lindholm@linaro.org, michael.d.kinney@intel.com Date: Fri, 10 Nov 2017 13:58:45 +0000 Message-Id: <20171110135847.361-1-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.11.0 Subject: [edk2] [RFC PATCH 0/2] quirks handling for SDHCI controllers X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: feng.tian@intel.com, Ard Biesheuvel , star.zeng@intel.com, liming.gao@intel.com, eric.dong@intel.com MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" Many SDHCI implementations exist that are almost spec complicant, and could be driver by the generic SD/MMC host controller driver except for some minimal necessary init time tweaks. Adding such tweaks to the generic driver is undesirable. On the other hand, forking the driver for every platform that has such a SDHCI controller is problematic when it comes to upstreaming and ongoing maintenance (which is arguably the point of upstreaming in the first place). So these patches propose a workaround that is minimally invasive on the EDK2 side, but gives platforms a lot of leeway when it comes to applying SDHCI quirks. Ard Biesheuvel (2): MdeModulePkg: introduce SD/MMC override protocol MdeModulePkg/SdMmcPciHcDxe: allow HC capabilities to be overridden MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.c | 111 +++++++++++++++++++- MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.h | 6 ++ MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf | 2 + MdeModulePkg/Include/Protocol/SdMmcOverride.h | 95 +++++++++++++++++ MdeModulePkg/MdeModulePkg.dec | 3 + 5 files changed, 212 insertions(+), 5 deletions(-) create mode 100644 MdeModulePkg/Include/Protocol/SdMmcOverride.h -- 2.11.0 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel