Sure, thanks.

Reviewed-by: Feng Tian <[email protected]> for patch 1 & 2.

I will help push them to git repo.

Best Regards
Feng

-----Original Message-----
From: Marcin Wojtas [mailto:[email protected]] 
Sent: Thursday, June 23, 2016 5:49 PM
To: Tian, Feng <[email protected]>
Cc: [email protected]; [email protected]; [email protected]; 
[email protected]; Gao, Liming <[email protected]>; Kinney, Michael D 
<[email protected]>
Subject: Re: [edk2] [PATCH v2 0/6] MMC fixes and PIO mode

Hi Feng,

> You may misunderstand what I meant. Sorry for that.

Indeed, we understood that introducing new PCD is a main problem.

>
> At first, the SD_MMC_PASS_THRU protocol is defined by UEFI spec, you couldn't 
> change its interfaces.
>
> Secondly, the transfer mode judgement should be done at SdMmcPciHcDxe driver. 
> This way could avoid introducing a new interface like you proposed. And we 
> have done this at SdMmcCreateTrb(). (You can search Trb->Mode key word to 
> find out the place).
>
> Thirdly, I suppose your PIO mode doesn't work as I didn't add PIO full 
> support.

As we mentioned, we have our own pass_thru and dxe driver, based on generic 
ones and PIO mode works fine both for SD and EMMC.

I thought DMA support is enough (of course now the assumption doesn't meet your 
requirement). I only force to do PIO for clock tuning cmd.
So you would have to update the logic in SdMmcExecTrb() to support PIO mode.
> 1. line 1272 to line 1276 of SdMmcCreateTrb() to assign PIO mode for your 
> cmds besides clock tuning cmd.
> 2. line 1815 to line 1839 of SdMmcCheckTrbResult() to read data till 
> all blocks get read out. (see SD Host controller spec 3.0 figure 3-13)
>
> Last, I am not sure why SetBlockLen() and StopTransmission() are needed for 
> multiple block r/w. we always use 512 block size, and looks like we should 
> use CMD12 or CMD23 for SD card to stop transmission whatever it's in DMA or 
> PIO. Am I right?

Thanks for the hints above, they will be checked. The best solution would be 
fixing dma support in our driver, so that PIO-related changes are not needed. 
We will try both and update. This won't be instant, but if the patches 1 and 2 
are fine and could be accepted, how about doing it and keeping PIO-ones aside 
for now, until we find a solution?

Best regards,
Marcin
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to