From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: mateusz.albecki@intel.com) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by groups.io with SMTP; Tue, 25 Jun 2019 07:15:07 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Jun 2019 07:15:06 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,416,1557212400"; d="scan'208";a="245082075" Received: from irsmsx105.ger.corp.intel.com ([163.33.3.28]) by orsmga001.jf.intel.com with ESMTP; 25 Jun 2019 07:15:04 -0700 Received: from irsmsx102.ger.corp.intel.com ([169.254.2.159]) by irsmsx105.ger.corp.intel.com ([169.254.7.184]) with mapi id 14.03.0439.000; Tue, 25 Jun 2019 15:15:04 +0100 From: "Albecki, Mateusz" To: "Wu, Hao A" , "devel@edk2.groups.io" Subject: Re: [PATCH v3 1/2] MdeModulePkg/SdMmcOverride: Add GetOperatingParam notify phase Thread-Topic: [PATCH v3 1/2] MdeModulePkg/SdMmcOverride: Add GetOperatingParam notify phase Thread-Index: AQHVKEPH/YcMjltsgUK2HrlMR0xxuaaqaH+AgAIHUzA= Date: Tue, 25 Jun 2019 14:15:04 +0000 Message-ID: <92CF190FF2351747A47C1708F0E09C0875E7342D@IRSMSX102.ger.corp.intel.com> References: <20190621151205.2444-1-mateusz.albecki@intel.com> <20190621151205.2444-2-mateusz.albecki@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYWVmZWEwODItYTM4OC00YzI4LTg5MDQtM2YyMDMyNzYwMzg4IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiTUFaZ3VOK2NLY2VRSDI2dXNMZytubERxT2JsWmNyU3k1eHp2REpSV2x2Y0VpVVg3QXhkQXNPUUZHZ3BEMnM0YSJ9 dlp-product: dlpe-windows dlp-version: 11.0.600.7 dlp-reaction: no-action x-originating-ip: [163.33.239.182] MIME-Version: 1.0 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Sorry, I must have cherry-picked this commit without the changes I made aft= er v1 review and send it out as v2. It would explain why I still have those= typos and there is no reordering. V4 will have it fixed. > -----Original Message----- > From: Wu, Hao A > Sent: Monday, June 24, 2019 10:15 AM > To: Albecki, Mateusz ; devel@edk2.groups.io > Subject: RE: [PATCH v3 1/2] MdeModulePkg/SdMmcOverride: Add > GetOperatingParam notify phase > = > > -----Original Message----- > > From: Albecki, Mateusz > > Sent: Friday, June 21, 2019 11:12 PM > > To: devel@edk2.groups.io > > Cc: Albecki, Mateusz; Wu, Hao A > > Subject: [PATCH v3 1/2] MdeModulePkg/SdMmcOverride: Add > > GetOperatingParam notify phase > > > > https://bugzilla.tianocore.org/show_bug.cgi?id=3D1882 > > > > The new notify phase allows platform to configure additional bus > > paramters in addition to parameters that can already be configured > > with capability override. Specifically we allow to configure bus > > width, clock frequency and driver strength. If platform doesn't wish > > to configure some of the parameters it can left it on default values > > and driver will assume it's standard behavior with respect to those > parameters. > > The definition of the SD_MMC_BUS_MODE has been extended to > incorporate > > SD card default speed and high speed. > = > = > Hello Mateusz, > = > For "Reordered the SD_MMC_BUS_MODE to fix problem with driver never > choosing the DDR50 speed mode", it seems to me that the change is not > covered by this patch. Did I miss it? > = > Also, a couple of typos: > unsuportted -> unsupported > choosen -> chosen > = > Others look good to me. > = > Best Regards, > Hao Wu > = > = > > > > Cc: Hao A Wu > > Signed-off-by: Mateusz Albecki > > --- > > MdeModulePkg/Include/Protocol/SdMmcOverride.h | 58 > > ++++++++++++++++++++++++--- > > 1 file changed, 52 insertions(+), 6 deletions(-) > > > > diff --git a/MdeModulePkg/Include/Protocol/SdMmcOverride.h > > b/MdeModulePkg/Include/Protocol/SdMmcOverride.h > > index 9c8bf37efd..1cf27008ea 100644 > > --- a/MdeModulePkg/Include/Protocol/SdMmcOverride.h > > +++ b/MdeModulePkg/Include/Protocol/SdMmcOverride.h > > @@ -16,14 +16,61 @@ > > #define EDKII_SD_MMC_OVERRIDE_PROTOCOL_GUID \ > > { 0xeaf9e3c1, 0xc9cd, 0x46db, { 0xa5, 0xe5, 0x5a, 0x12, 0x4c, 0x83, > > 0x23, > > 0x23 } } > > > > -#define EDKII_SD_MMC_OVERRIDE_PROTOCOL_VERSION 0x2 > > +#define EDKII_SD_MMC_OVERRIDE_PROTOCOL_VERSION 0x3 > > > > typedef struct _EDKII_SD_MMC_OVERRIDE EDKII_SD_MMC_OVERRIDE; > > > > -// > > -// Bus timing modes > > -// > > +#define EDKII_SD_MMC_BUS_WIDTH_IGNORE MAX_UINT8 #define > > +EDKII_SD_MMC_CLOCK_FREQ_IGNORE MAX_UINT32 #define > > +EDKII_SD_MMC_DRIVER_STRENGTH_IGNORE MAX_UINT8 > > + > > +typedef enum { > > + SdDriverStrengthTypeB =3D 0, > > + SdDriverStrengthTypeA, > > + SdDriverStrengthTypeC, > > + SdDriverStrengthTypeD, > > + SdDriverStrengthIgnore =3D EDKII_SD_MMC_DRIVER_STRENGTH_IGNORE > > +} SD_DRIVER_STRENGTH_TYPE; > > + > > typedef enum { > > + EmmcDriverStrengthType0 =3D 0, > > + EmmcDriverStrengthType1, > > + EmmcDriverStrengthType2, > > + EmmcDriverStrengthType3, > > + EmmcDriverStrengthType4, > > + EmmcDriverStrengthIgnore =3D > > EDKII_SD_MMC_DRIVER_STRENGTH_IGNORE > > +} EMMC_DRIVER_STRENGTH_TYPE; > > + > > +typedef union { > > + SD_DRIVER_STRENGTH_TYPE Sd; > > + EMMC_DRIVER_STRENGTH_TYPE Emmc; > > +} EDKII_SD_MMC_DRIVER_STRENGTH; > > + > > +typedef struct { > > + // > > + // The target width of the bus. If user tells driver to ignore it > > + // or specifies unsuportted width driver will choose highest > > +supported > > + // bus width for a given mode. > > + // > > + UINT8 BusWidth; > > + // > > + // The target clock frequency of the bus in MHz. If user tells > > +driver to > > ignore > > + // it or specifies unsupported frequency driver will choose highest > > supported > > + // clock frequency for a given mode. > > + // > > + UINT32 ClockFreq; > > + // > > + // The target driver strength of the bus. If user tells driver to > > + // ignore it or specifies unsupported driver strength, driver will > > + // default to Type0 for eMMC cards and TypeB for SD cards. Driver > > strength > > + // setting is only considered if choosen bus timing supports them. > > + // > > + EDKII_SD_MMC_DRIVER_STRENGTH DriverStrength; } > > +EDKII_SD_MMC_OPERATING_PARAMETERS; > > + > > +typedef enum { > > + SdMmcSdDs, > > + SdMmcSdHs, > > SdMmcUhsSdr12, > > SdMmcUhsSdr25, > > SdMmcUhsSdr50, > > @@ -43,10 +90,10 @@ typedef enum { > > EdkiiSdMmcInitHostPost, > > EdkiiSdMmcUhsSignaling, > > EdkiiSdMmcSwitchClockFreqPost, > > + EdkiiSdMmcGetOperatingParam > > } EDKII_SD_MMC_PHASE_TYPE; > > > > /** > > - > > Override function for SDHCI capability bits > > > > @param[in] ControllerHandle The EFI_HANDLE of the controll= er. > > @@ -70,7 +117,6 @@ EFI_STATUS > > ); > > > > /** > > - > > Override function for SDHCI controller operations > > > > @param[in] ControllerHandle The EFI_HANDLE of the controll= er. > > -- > > 2.14.1.windows.1 -------------------------------------------------------------------- Intel Technology Poland sp. z o.o. ul. Slowackiego 173 | 80-298 Gdansk | Sad Rejonowy Gdansk Polnoc | VII Wydz= ial Gospodarczy Krajowego Rejestru Sadowego - KRS 101882 | NIP 957-07-52-31= 6 | Kapital zakladowy 200.000 PLN. Ta wiadomosc wraz z zalacznikami jest przeznaczona dla okreslonego adresata= i moze zawierac informacje poufne. W razie przypadkowego otrzymania tej wi= adomosci, prosimy o powiadomienie nadawcy oraz trwale jej usuniecie; jakiek= olwiek przegladanie lub rozpowszechnianie jest zabronione. This e-mail and any attachments may contain confidential material for the s= ole use of the intended recipient(s). If you are not the intended recipient= , please contact the sender and delete all copies; any review or distributi= on by others is strictly prohibited.