mbox series

[RFC,0/4] Support SDMA mode on RPI4 target - 32bit

Message ID 20200120102029.14264-1-jh80.chung@samsung.com
Headers show
Series Support SDMA mode on RPI4 target - 32bit | expand

Message

Jaehoon Chung Jan. 20, 2020, 10:20 a.m. UTC
RPI4's SDHCI controller is supported SDMA mode. (Checked on kernel side)
But It doesn't use on u-boot side. Then it's too slow about read/write performance.
This patchset is supported SDMA mode on RPI4 target(32bit).
- I didn't test on RPI4 64bit.

Read/write time about 8MB file
Before
- Read : 1.472 seconds
- Write : 4.690 seconds
After
- Read : 0.359 seconds
- Write : 0.574 seconds

Jaehoon Chung (4):
  mmc: bcm2835_sdhci: use phys2bus macro when dma address is accessed
  mmc: sdhci: add quriks relevant to broken SDMA
  mmc: bcm2835_sdhci: set SDHCI_QUIRK_BROKEN_SDMA flag
  configs: rpi_4_32b_defconfig: enable SDHCI_SDMA config

 configs/rpi_4_32b_defconfig |  1 +
 drivers/mmc/bcm2835_sdhci.c | 10 ++++++++--
 drivers/mmc/sdhci.c         | 10 ++++++++--
 include/sdhci.h             |  1 +
 4 files changed, 18 insertions(+), 4 deletions(-)

Comments

Peter Robinson Jan. 20, 2020, 11:50 a.m. UTC | #1
> RPI4's SDHCI controller is supported SDMA mode. (Checked on kernel side)
> But It doesn't use on u-boot side. Then it's too slow about read/write performance.
> This patchset is supported SDMA mode on RPI4 target(32bit).
> - I didn't test on RPI4 64bit.

What about on other models of the rpi given they all use the same
sdhci controller?

> Read/write time about 8MB file
> Before
> - Read : 1.472 seconds
> - Write : 4.690 seconds
> After
> - Read : 0.359 seconds
> - Write : 0.574 seconds
>
> Jaehoon Chung (4):
>   mmc: bcm2835_sdhci: use phys2bus macro when dma address is accessed
>   mmc: sdhci: add quriks relevant to broken SDMA
>   mmc: bcm2835_sdhci: set SDHCI_QUIRK_BROKEN_SDMA flag
>   configs: rpi_4_32b_defconfig: enable SDHCI_SDMA config
>
>  configs/rpi_4_32b_defconfig |  1 +
>  drivers/mmc/bcm2835_sdhci.c | 10 ++++++++--
>  drivers/mmc/sdhci.c         | 10 ++++++++--
>  include/sdhci.h             |  1 +
>  4 files changed, 18 insertions(+), 4 deletions(-)
>
> --
> 2.25.0
>
Jaehoon Chung Jan. 20, 2020, 11:38 p.m. UTC | #2
On 1/20/20 8:50 PM, Peter Robinson wrote:
>> RPI4's SDHCI controller is supported SDMA mode. (Checked on kernel side)
>> But It doesn't use on u-boot side. Then it's too slow about read/write performance.
>> This patchset is supported SDMA mode on RPI4 target(32bit).
>> - I didn't test on RPI4 64bit.
> 
> What about on other models of the rpi given they all use the same
> sdhci controller?

Well, i didn't check other models.
As i know, in RPI3's case, SDHCI controller is used for WiFi. So it doesn't need to check on u-boot side.
I had checked RPI4 target. (1/2/4GB model)
If other RPI models are using same SDHCI controller(assume that provides same functionality),
it can be used SDMA mode. 

Best Regards,
Jaehoon Chung

> 
>> Read/write time about 8MB file
>> Before
>> - Read : 1.472 seconds
>> - Write : 4.690 seconds
>> After
>> - Read : 0.359 seconds
>> - Write : 0.574 seconds
>>
>> Jaehoon Chung (4):
>>   mmc: bcm2835_sdhci: use phys2bus macro when dma address is accessed
>>   mmc: sdhci: add quriks relevant to broken SDMA
>>   mmc: bcm2835_sdhci: set SDHCI_QUIRK_BROKEN_SDMA flag
>>   configs: rpi_4_32b_defconfig: enable SDHCI_SDMA config
>>
>>  configs/rpi_4_32b_defconfig |  1 +
>>  drivers/mmc/bcm2835_sdhci.c | 10 ++++++++--
>>  drivers/mmc/sdhci.c         | 10 ++++++++--
>>  include/sdhci.h             |  1 +
>>  4 files changed, 18 insertions(+), 4 deletions(-)
>>
>> --
>> 2.25.0
>>
> 
>