On Fri, Nov 02, 2012 at 08:37:41PM +0800, yongd wrote:
> I got it. So how do you think of such below partition/reorganization?
> 
It looks fine to me for imx.

> Patch-1:
> For sdhci-esdhc-imx.c, only add MMC_CAP_NEEDS_POLL for ESDHC_CD_NONE. With 
> that
> improper logic of sdhci_add_host(), this is redundant, but shall be better
> than something unpleasant you mentioned.
> 
> Patch-2:
> For sdhci-s3c.c, do exactly the same thing as Patch-1.
> 
> Patch-3:
> For sdhci.c, remove that improper logic of sdhci_add_host().
> 
> Patch-4:
> For sdhci-esdhc-imx.c, set SDHCI_QUIRK_BROKEN_CARD_DETECTION for 
> ESDHC_CD_GPIO.
> 
> Patch-5:
> For sdhci-s3c.c, broaden SDHCI_QUIRK_BROKEN_CARD_DETECTION range for all 
> detection
> types except S3C_SDHCI_CD_INTERNAL.

<snip>

> Yes, not equal as before. But you just remind me of one more improper place 
> in our current sdhci.c.
> Let's review those lines in sdhci_request() which are added by Anton long 
> long ago in commit
> 68d1fb7e229c6f95be4fbbe3eb46b24e41184924(sdhci: Add support for 
> card-detection polling),
> 
>       /* If polling, assume that the card is always present. */
>       if (host->quirks & SDHCI_QUIRK_BROKEN_CARD_DETECTION)
>               present = true;
>       else
>               present = sdhci_readl(host, SDHCI_PRESENT_STATE) &
>                               SDHCI_CARD_PRESENT;
> 
> Here before sending command, if we can confirm the card dose not exist, we 
> will return quickly without
> sending this command.This is a good optimization. But if polling, we can't do 
> such checking, so we can
> only assume the card is always present.
> Here is another improper example of using SDHCI_QUIRK_BROKEN_CARD_DETECTION. 
> Exactly the same as
> sdhci_add_host(), it thinks only polling and host internal card detection 
> methods exist.
> Maybe we can determine whether and how we can do such card-existence-checking 
> optimization based on our
> detection type directly rather than an indirect flag which should have its 
> own pure meaning. But Let's
> do such similar further improvement in future since currently with my patch 
> of setting
> SDHCI_QUIRK_BROKEN_CARD_DETECTION for ESDHC_CD_GPIO, functionality is OK as 
> before. How do u think?
> 
I'm not sure it will function same as before.  When I was testing your
v2 series, I can not see card removal message with removing card, but
can see it show up together with the next card inserting message.

Shawn

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to