simple sd card performance bug fix on OMAP
I have not had time to make a formal patch for this but I thought it was significant enough just to send it out. The problem is on omap systems that use omap_hsmmc.c to run sd or mmc cards. If the system you are using has an 8 wire interface, it will only use a one wire interface to 4 wire cards (eg, sd class 4 and sd class 6).
In the file driver/mmc/omap_hsmmc.c in the function omap_hsmmc_probe:
at about line 1739 change:
if (mmc_slot(host).wires >= 8)
mmc->caps |= MMC_CAP_8_BIT_DATA;
else if (mmc_slot(host).wires >= 4)
mmc->caps |= MMC_CAP_4_BIT_DATA;to:
if (mmc_slot(host).wires >= 8)
mmc->caps |= MMC_CAP_8_BIT_DATA;
if (mmc_slot(host).wires >= 4)
mmc->caps |= w;just delete the word "else". This sets the MMC_CAP_4_BIT_DATA bit on interfaces that have 8 wire interfaces.
We have seen a BIG performance improvement on our systems.
Steve Schwarm
begin:vcard
fn:Stephen Schwarm, CSDP
n:Schwarm, CSDP;Stephen
adr;dom:;;30 Hayden Woods;Wrentham;MA;02093
email;internet:[email protected]
tel;home:508-384-7697
tel;cell:508-922-9688
x-mozilla-html:FALSE
version:2.1
end:vcard
Quoted 9 lines
-----Original Message-----
From: [email protected] [mailto:linux-omap- [email protected]] On Behalf Of Stephen Schwarm, CSDP
Sent: Friday, May 28, 2010 2:05 PM
To: [email protected]
Subject: simple sd card performance bug fix on OMAP
Quoted 6 lines
I have not had time to make a formal patch for this but I thought it was significant enough just to send it out. The problem is on omap systems that use
omap_hsmmc.cto run sd or mmc cards. If the system you are using has an 8 wire interface, it will only use a one wire interface to 4 wire cards (eg, sd class 4 and sd class 6).
A patch to fix this was already posted on LO by Kishore.
Regards,
Madhu
Quoted 22 lines
In the file
driver/mmc/omap_hsmmc.cin the functionomap_hsmmc_probe:
at about line 1739 change:if (mmc_slot(host).wires >= 8) mmc->caps |= MMC_CAP_8_BIT_DATA; else if (mmc_slot(host).wires >= 4) mmc->caps |= MMC_CAP_4_BIT_DATA;to:
if (mmc_slot(host).wires >= 8) mmc->caps |= MMC_CAP_8_BIT_DATA; if (mmc_slot(host).wires >= 4) mmc->caps |= w;just delete the word "else". This sets the
MMC_CAP_4_BIT_DATAbit on interfaces that have 8 wire interfaces.We have seen a BIG performance improvement on our systems.
Steve Schwarm
Quoted 22 lines · CSDP
I have not had time to make a formal patch for this but I thought it was significant enough just to send it out. The problem is on omap systems that use
omap_hsmmc.cto run sd or mmc cards. If the system you are using has an 8 wire interface, it will only use a one wire interface to 4 wire cards (eg, sd class 4 and sd class 6).In the file
driver/mmc/omap_hsmmc.cin the functionomap_hsmmc_probe:
at about line 1739 change:if (mmc_slot(host).wires >= 8) mmc->caps |= MMC_CAP_8_BIT_DATA; else if (mmc_slot(host).wires >= 4) mmc->caps |= MMC_CAP_4_BIT_DATA;to:
if (mmc_slot(host).wires >= 8) mmc->caps |= MMC_CAP_8_BIT_DATA; if (mmc_slot(host).wires >= 4) mmc->caps |= w;
Quoted 5 lines
just delete the word "else". This sets the
MMC_CAP_4_BIT_DATAbit on interfaces that have 8 wire interfaces.We have seen a BIG performance improvement on our systems.
Thanks for reporting this.
A similar patch was posted a while ago and is currently marked as "awaiting upstream", although it looks like it got lost again.
<https://patchwork.kernel.org/patch/78713/>
- Anand
Quoted 38 lines
-----Original Message-----
From: [email protected] [mailto:linux-omap- [email protected]] On Behalf Of Gadiyar, Anand
Sent: Friday, May 28, 2010 2:55 PM
To: Stephen Schwarm, CSDP; [email protected]
Subject: RE: simple sd card performance bug fix on OMAPQuoted 22 lines · CSDP
I have not had time to make a formal patch for this but I thought it was significant enough just to send it out. The problem is on omap systems that use
omap_hsmmc.cto run sd or mmc cards. If the system you are using has an 8 wire interface, it will only use a one wire interface to 4 wire cards (eg, sd class 4 and sd class 6).In the file
driver/mmc/omap_hsmmc.cin the functionomap_hsmmc_probe:
at about line 1739 change:if (mmc_slot(host).wires >= 8) mmc->caps |= MMC_CAP_8_BIT_DATA; else if (mmc_slot(host).wires >= 4) mmc->caps |= MMC_CAP_4_BIT_DATA;to:
if (mmc_slot(host).wires >= 8) mmc->caps |= MMC_CAP_8_BIT_DATA; if (mmc_slot(host).wires >= 4) mmc->caps |= w;Quoted 5 lines
just delete the word "else". This sets the
MMC_CAP_4_BIT_DATAbit on interfaces that have 8 wire interfaces.We have seen a BIG performance improvement on our systems.
Quoted 7 lines
Thanks for reporting this.
A similar patch was posted a while ago and is currently marked as "awaiting upstream", although it looks like it got lost again.
A revised version of the same patch was posted.
https://patchwork.kernel.org/patch/93519/
Tony, Can you please push this?
Regards,
Madhu
Quoted 5 lines
- Anand
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 43 lines · Madhusudhan
Quoted 43 lines
-----Original Message-----
From: [email protected] [mailto:linux-omap- [email protected]] On Behalf Of Gadiyar, Anand
Sent: Friday, May 28, 2010 2:55 PM
To: Stephen Schwarm, CSDP; [email protected]
Subject: RE: simple sd card performance bug fix on OMAPQuoted 22 lines · CSDP
I have not had time to make a formal patch for this but I thought it was significant enough just to send it out. The problem is on omap systems that use
omap_hsmmc.cto run sd or mmc cards. If the system you are using has an 8 wire interface, it will only use a one wire interface to 4 wire cards (eg, sd class 4 and sd class 6).In the file
driver/mmc/omap_hsmmc.cin the functionomap_hsmmc_probe:
at about line 1739 change:if (mmc_slot(host).wires >= 8) mmc->caps |= MMC_CAP_8_BIT_DATA; else if (mmc_slot(host).wires >= 4) mmc->caps |= MMC_CAP_4_BIT_DATA;to:
if (mmc_slot(host).wires >= 8) mmc->caps |= MMC_CAP_8_BIT_DATA; if (mmc_slot(host).wires >= 4) mmc->caps |= w;Quoted 5 lines
just delete the word "else". This sets the
MMC_CAP_4_BIT_DATAbit on interfaces that have 8 wire interfaces.We have seen a BIG performance improvement on our systems.
Thanks for reporting this.
A similar patch was posted a while ago and is currently marked as "awaiting upstream", although it looks like it got lost again.
Quoted 7 lines
Quoted 2 lines
A revised version of the same patch was posted.
https://patchwork.kernel.org/patch/93519/
Tony, Can you please push this?
This needs to get merged via linux-mmc list.
Regards,
Tony
Quoted 60 lines
-----Original Message-----
From: Tony Lindgren [mailto:[email protected]]
Sent: Thursday, June 10, 2010 1:36 AM
To: Madhusudhan
Cc: 'Gadiyar, Anand'; 'Stephen Schwarm, CSDP'; [email protected]
Subject: Re: simple sd card performance bug fix on OMAPQuoted 9 lines · Madhusudhan
Quoted 9 lines
-----Original Message-----
From: [email protected] [mailto:linux-omap- [email protected]] On Behalf Of Gadiyar, Anand
Sent: Friday, May 28, 2010 2:55 PM
To: Stephen Schwarm, CSDP; [email protected]
Subject: RE: simple sd card performance bug fix on OMAPQuoted 3 lines
Quoted 3 lines
Quoted 2 lines · CSDP
I have not had time to make a formal patch for this but I thought it
was
Quoted 1 line
Quoted 1 line
Quoted 1 line
significant enough just to send it out. The problem is on omap
systems
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
that use
omap_hsmmc.cto run sd or mmc cards. If the system you are using has an 8 wire interface, it will only use a one wire interfaceto
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
4 wire cards (eg, sd class 4 and sd class 6).
In the file
driver/mmc/omap_hsmmc.cin the function
omap_hsmmc_probe:Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
at about line 1739 change:
if (mmc_slot(host).wires >= 8) mmc->caps |= MMC_CAP_8_BIT_DATA; else if (mmc_slot(host).wires >= 4) mmc->caps |= MMC_CAP_4_BIT_DATA;Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
to:
if (mmc_slot(host).wires >= 8) mmc->caps |= MMC_CAP_8_BIT_DATA; if (mmc_slot(host).wires >= 4) mmc->caps |= w;just delete the word "else". This sets the
MMC_CAP_4_BIT_DATAbiton
Quoted 12 lines
Quoted 12 lines
Quoted 4 lines
interfaces that have 8 wire interfaces.
We have seen a BIG performance improvement on our systems.
Thanks for reporting this.
A similar patch was posted a while ago and is currently marked as "awaiting upstream", although it looks like it got lost again.
Quoted 8 lines
Quoted 5 lines
A revised version of the same patch was posted.
https://patchwork.kernel.org/patch/93519/
Tony, Can you please push this?
This needs to get merged via linux-mmc list.
Sure. We will repost it.
Regards,
Madhu
Quoted 3 lines
Regards,
Tony