From: Anton Vorontsov <hidden> Date: 2012-10-23 08:29:49
On Tue, Oct 23, 2012 at 03:01:17PM +0800, r66093@freescale.com wrote:
From: Jerry Huang <redacted>
The current eSDHC driver use the poll mode to detect
if the SD/MMC card is inserted or removed, which will generate
many interrupts and impact the performance.
Therefore, change the default card detect to interrupt mode,
if the board can't support this mode, we still use the poll mode.
Signed-off-by: Jerry Huang <redacted>
CC: Anton Vorontsov <redacted>
CC: Chris Ball <redacted>
---
IIRC, the card detection is broken SOC-revision-wise, not board-wise. So
the change seems wrong.
Also, take a look at this:
http://lkml.org/lkml/2010/7/14/127
I started the work but never finished, unfortunately it caused some
regressions for non-FSL hardware...
From: Anton Vorontsov <hidden> Date: 2012-10-25 10:33:44
On Thu, Oct 25, 2012 at 10:05:44AM +0000, Huang Changming-R66093 wrote:
Hi, Anton.
Could you have any comment about it?
If not, I will resend this patch with v2.
Technically, the patch looks fine.
But again, as far as I recall, the card detection logic was broken on the
SOC level (it's actually very hard to break it on the board level -- it
would either work or not, but in the eSDHC case it was just unreliable,
again, if I recall everything correctly -- I might be wrong).
Of course you know the hardware much better, so your words weight more, so
you don't need my ack on the patch. :)
Although there's a second issue: for P4080DS and mpc837x boards you still
have the same problem with polling method, right? It is causing
performance drops/freezes every like 100 ms, and that's why you want to
avoid the polling.
So, you've "fixed" some boards, but left others to suffer. Ideally, the
best fix would be to also make the card polling cheap.
Anyways, using (d) clause of the "Reviewer's statement of oversight", I
can easily give this:
Reviewed-by: Anton Vorontsov [off-list ref]
:)
Thanks!
[...]
quoted
quoted
IIRC, the card detection is broken SOC-revision-wise, not board-wise.
So the change seems wrong.
Also, take a look at this:
http://lkml.org/lkml/2010/7/14/127
I started the work but never finished, unfortunately it caused some
regressions for non-FSL hardware...
Hi, Anton,
For the current polling mode, driver will send CMD13 to poll the card status periodically , which will cause too many interrupts.
Once I sent patches to detect the card when using polling mode last year: read the state register, instead of send CMD13. But, these patches were not accepted. Now I attach them for you.
Because these patches are not accepted, I think about the interrupt mode to detect card.
Of course, you are right, the p4080ds and mpc837xmds are still using polling mode, which just fix some boards.
The best way is for all.
Then, I will back to my previous patches, for FSL eSDHC, don't send CMD13, and just read state register to check it.
For all FSL silicones, the state bit is updated when card inserting or removing.
Now I have two ways to resolve this issue, I prefer to the polling mode (unfortunately, they are not accepted).
I will be greatly appreciated if you review these attachment patches again and give your comment.
If you think the attachment patches are OK, I will resend them to mail list.
If you don't, I will continue to work on the interrupt mode for FSL eSDHC.
Thanks.
-----Original Message-----
From: linux-mmc-owner@vger.kernel.org [mailto:linux-mmc-
owner@vger.kernel.org] On Behalf Of Anton Vorontsov
Sent: Thursday, October 25, 2012 6:31 PM
To: Huang Changming-R66093
Cc: linux-mmc@vger.kernel.org; Chris Ball; Kumar Gala; linuxppc-
dev@lists.ozlabs.org
Subject: Re: [PATCH] powerpc/esdhc: enable the card insert/remove
interrupt
On Thu, Oct 25, 2012 at 10:05:44AM +0000, Huang Changming-R66093 wrote:
quoted
Hi, Anton.
Could you have any comment about it?
If not, I will resend this patch with v2.
Technically, the patch looks fine.
But again, as far as I recall, the card detection logic was broken on the
SOC level (it's actually very hard to break it on the board level -- it
would either work or not, but in the eSDHC case it was just unreliable,
again, if I recall everything correctly -- I might be wrong).
Of course you know the hardware much better, so your words weight more,
so you don't need my ack on the patch. :)
Although there's a second issue: for P4080DS and mpc837x boards you still
have the same problem with polling method, right? It is causing
performance drops/freezes every like 100 ms, and that's why you want to
avoid the polling.
So, you've "fixed" some boards, but left others to suffer. Ideally, the
best fix would be to also make the card polling cheap.
Anyways, using (d) clause of the "Reviewer's statement of oversight", I
can easily give this:
Reviewed-by: Anton Vorontsov [off-list ref]
:)
Thanks!
[...]
quoted
quoted
quoted
IIRC, the card detection is broken SOC-revision-wise, not board-
wise.
quoted
quoted
quoted
So the change seems wrong.
Also, take a look at this:
http://lkml.org/lkml/2010/7/14/127
I started the work but never finished, unfortunately it caused
some regressions for non-FSL hardware...
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@vger.kernel.org More majordomo info at
http://vger.kernel.org/majordomo-info.html
From: Anton Vorontsov <hidden> Date: 2012-10-27 01:15:53
Hello Huang,
On Fri, Oct 26, 2012 at 02:42:36AM +0000, Huang Changming-R66093 wrote:
For the current polling mode, driver will send CMD13 to poll the card status periodically , which will cause too many interrupts.
Once I sent patches to detect the card when using polling mode last year: read the state register, instead of send CMD13. But, these patches were not accepted. Now I attach them for you.
Was there any specific reason why the patches didn't get accepted?
I very briefly looked at them, and they seem to be OK (there are a few
cosmetic details I'd comment on, tho -- but please send them in a normal
way (i.e. not as attachments).
Thanks,
Anton.