Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1208305 > unrolled thread
| Started by | Jaehoon Chung <jh80.chung@samsung.com> |
|---|---|
| First post | 2015-08-17 04:00 +0200 |
| Last post | 2015-08-17 18:30 +0200 |
| Articles | 6 — 3 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [PATCH 2/3] mmc: dw_mmc: simplify the SDMMC_CLKEN_LOW_PWR logic Jaehoon Chung <jh80.chung@samsung.com> - 2015-08-17 04:00 +0200
Re: [PATCH 2/3] mmc: dw_mmc: simplify the SDMMC_CLKEN_LOW_PWR logic Michal Suchanek <hramrach@gmail.com> - 2015-08-17 08:00 +0200
Re: [PATCH 2/3] mmc: dw_mmc: simplify the SDMMC_CLKEN_LOW_PWR logic Jaehoon Chung <jh80.chung@samsung.com> - 2015-08-17 13:30 +0200
Re: [PATCH 2/3] mmc: dw_mmc: simplify the SDMMC_CLKEN_LOW_PWR logic Alim Akhtar <alim.akhtar@gmail.com> - 2015-08-17 16:50 +0200
Re: [PATCH 2/3] mmc: dw_mmc: simplify the SDMMC_CLKEN_LOW_PWR logic Michal Suchanek <hramrach@gmail.com> - 2015-08-17 17:00 +0200
Re: [PATCH 2/3] mmc: dw_mmc: simplify the SDMMC_CLKEN_LOW_PWR logic Alim Akhtar <alim.akhtar@gmail.com> - 2015-08-17 18:30 +0200
| From | Jaehoon Chung <jh80.chung@samsung.com> |
|---|---|
| Date | 2015-08-17 04:00 +0200 |
| Subject | Re: [PATCH 2/3] mmc: dw_mmc: simplify the SDMMC_CLKEN_LOW_PWR logic |
| Message-ID | <pYhSp-1bs-1@gated-at.bofh.it> |
Hi, Michal.
On 08/12/2015 09:23 PM, Michal Suchanek wrote:
> The driver has open-coded test for SDIO cards. Use the mmc core provided
> MMC_QUIRK_BROKEN_CLK_GATING flag instead.
Did you use the clock-gating for SDIO cards?
Doesn't MMC_CAP_SDIO_IRQ bit set? Which case is broken?
Could you explain to me more?
Best Regards,
Jaehoon Chung
>
> As a bonus this may enable clock gating on SDIO cards that are known to
> work with it.
>
> Signed-off-by: Michal Suchanek <hramrach@gmail.com>
> ---
> drivers/mmc/host/dw_mmc.c | 33 +++++++++++++++------------------
> 1 file changed, 15 insertions(+), 18 deletions(-)
>
> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
> index 40e9d8e..3bc9fd7 100644
> --- a/drivers/mmc/host/dw_mmc.c
> +++ b/drivers/mmc/host/dw_mmc.c
> @@ -1335,27 +1335,24 @@ static void dw_mci_init_card(struct mmc_host *mmc, struct mmc_card *card)
> * description of the CLKENA register we should disable low power mode
> * for SDIO cards if we need SDIO interrupts to work.
> */
> - if (mmc->caps & MMC_CAP_SDIO_IRQ) {
> - const u32 clken_low_pwr = SDMMC_CLKEN_LOW_PWR << slot->id;
> - u32 clk_en_a_old;
> - u32 clk_en_a;
> + const u32 clken_low_pwr = SDMMC_CLKEN_LOW_PWR << slot->id;
> + u32 clk_en_a_old;
> + u32 clk_en_a;
>
> - clk_en_a_old = mci_readl(host, CLKENA);
> + clk_en_a_old = mci_readl(host, CLKENA);
>
> - if (card->type == MMC_TYPE_SDIO ||
> - card->type == MMC_TYPE_SD_COMBO) {
> - set_bit(DW_MMC_CARD_NO_LOW_PWR, &slot->flags);
> - clk_en_a = clk_en_a_old & ~clken_low_pwr;
> - } else {
> - clear_bit(DW_MMC_CARD_NO_LOW_PWR, &slot->flags);
> - clk_en_a = clk_en_a_old | clken_low_pwr;
> - }
> + if (card->quirks & MMC_QUIRK_BROKEN_CLK_GATING) {
> + set_bit(DW_MMC_CARD_NO_LOW_PWR, &slot->flags);
> + clk_en_a = clk_en_a_old & ~clken_low_pwr;
> + } else {
> + clear_bit(DW_MMC_CARD_NO_LOW_PWR, &slot->flags);
> + clk_en_a = clk_en_a_old | clken_low_pwr;
> + }
>
> - if (clk_en_a != clk_en_a_old) {
> - mci_writel(host, CLKENA, clk_en_a);
> - mci_send_cmd(slot, SDMMC_CMD_UPD_CLK |
> - SDMMC_CMD_PRV_DAT_WAIT, 0);
> - }
> + if (clk_en_a != clk_en_a_old) {
> + mci_writel(host, CLKENA, clk_en_a);
> + mci_send_cmd(slot, SDMMC_CMD_UPD_CLK |
> + SDMMC_CMD_PRV_DAT_WAIT, 0);
> }
> }
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Michal Suchanek <hramrach@gmail.com> |
|---|---|
| Date | 2015-08-17 08:00 +0200 |
| Message-ID | <pYlCG-6MJ-9@gated-at.bofh.it> |
| In reply to | #1208305 |
Hello,
On 17 August 2015 at 03:55, Jaehoon Chung <jh80.chung@samsung.com> wrote:
> Hi, Michal.
>
> On 08/12/2015 09:23 PM, Michal Suchanek wrote:
>> The driver has open-coded test for SDIO cards. Use the mmc core provided
>> MMC_QUIRK_BROKEN_CLK_GATING flag instead.
>
> Did you use the clock-gating for SDIO cards?
> Doesn't MMC_CAP_SDIO_IRQ bit set? Which case is broken?
> Could you explain to me more?
The core flag for disabling power saving is MMC_QUIRK_BROKEN_CLK_GATING.
It may coincide with MMC_CAP_SDIO_IRQ but that's different flag for
different purpose.
MMC_QUIRK_BROKEN_CLK_GATING is currently set for all SDIO cards except
for cards on a whitelist.
I don't know any particular SDIO card that has problems when the clock
is off and does not use an IRQ.
Thanks
Michal
>
> Best Regards,
> Jaehoon Chung
>
>>
>> As a bonus this may enable clock gating on SDIO cards that are known to
>> work with it.
>>
>> Signed-off-by: Michal Suchanek <hramrach@gmail.com>
>> ---
>> drivers/mmc/host/dw_mmc.c | 33 +++++++++++++++------------------
>> 1 file changed, 15 insertions(+), 18 deletions(-)
>>
>> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
>> index 40e9d8e..3bc9fd7 100644
>> --- a/drivers/mmc/host/dw_mmc.c
>> +++ b/drivers/mmc/host/dw_mmc.c
>> @@ -1335,27 +1335,24 @@ static void dw_mci_init_card(struct mmc_host *mmc, struct mmc_card *card)
>> * description of the CLKENA register we should disable low power mode
>> * for SDIO cards if we need SDIO interrupts to work.
>> */
>> - if (mmc->caps & MMC_CAP_SDIO_IRQ) {
>> - const u32 clken_low_pwr = SDMMC_CLKEN_LOW_PWR << slot->id;
>> - u32 clk_en_a_old;
>> - u32 clk_en_a;
>> + const u32 clken_low_pwr = SDMMC_CLKEN_LOW_PWR << slot->id;
>> + u32 clk_en_a_old;
>> + u32 clk_en_a;
>>
>> - clk_en_a_old = mci_readl(host, CLKENA);
>> + clk_en_a_old = mci_readl(host, CLKENA);
>>
>> - if (card->type == MMC_TYPE_SDIO ||
>> - card->type == MMC_TYPE_SD_COMBO) {
>> - set_bit(DW_MMC_CARD_NO_LOW_PWR, &slot->flags);
>> - clk_en_a = clk_en_a_old & ~clken_low_pwr;
>> - } else {
>> - clear_bit(DW_MMC_CARD_NO_LOW_PWR, &slot->flags);
>> - clk_en_a = clk_en_a_old | clken_low_pwr;
>> - }
>> + if (card->quirks & MMC_QUIRK_BROKEN_CLK_GATING) {
>> + set_bit(DW_MMC_CARD_NO_LOW_PWR, &slot->flags);
>> + clk_en_a = clk_en_a_old & ~clken_low_pwr;
>> + } else {
>> + clear_bit(DW_MMC_CARD_NO_LOW_PWR, &slot->flags);
>> + clk_en_a = clk_en_a_old | clken_low_pwr;
>> + }
>>
>> - if (clk_en_a != clk_en_a_old) {
>> - mci_writel(host, CLKENA, clk_en_a);
>> - mci_send_cmd(slot, SDMMC_CMD_UPD_CLK |
>> - SDMMC_CMD_PRV_DAT_WAIT, 0);
>> - }
>> + if (clk_en_a != clk_en_a_old) {
>> + mci_writel(host, CLKENA, clk_en_a);
>> + mci_send_cmd(slot, SDMMC_CMD_UPD_CLK |
>> + SDMMC_CMD_PRV_DAT_WAIT, 0);
>> }
>> }
>>
>>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Jaehoon Chung <jh80.chung@samsung.com> |
|---|---|
| Date | 2015-08-17 13:30 +0200 |
| Message-ID | <pYqM2-5T7-9@gated-at.bofh.it> |
| In reply to | #1208379 |
On 08/17/2015 02:52 PM, Michal Suchanek wrote:
> Hello,
>
> On 17 August 2015 at 03:55, Jaehoon Chung <jh80.chung@samsung.com> wrote:
>> Hi, Michal.
>>
>> On 08/12/2015 09:23 PM, Michal Suchanek wrote:
>>> The driver has open-coded test for SDIO cards. Use the mmc core provided
>>> MMC_QUIRK_BROKEN_CLK_GATING flag instead.
>>
>> Did you use the clock-gating for SDIO cards?
>> Doesn't MMC_CAP_SDIO_IRQ bit set? Which case is broken?
>> Could you explain to me more?
>
> The core flag for disabling power saving is MMC_QUIRK_BROKEN_CLK_GATING.
I understood your intention. And i read the comment into mmc/core/quirks.c
I will test SDIO card with this patch. Thanks.
Best Regards,
Jaehoon Chung
>
> It may coincide with MMC_CAP_SDIO_IRQ but that's different flag for
> different purpose.
>
> MMC_QUIRK_BROKEN_CLK_GATING is currently set for all SDIO cards except
> for cards on a whitelist.
>
> I don't know any particular SDIO card that has problems when the clock
> is off and does not use an IRQ.
>
> Thanks
>
> Michal
>
>>
>> Best Regards,
>> Jaehoon Chung
>>
>>>
>>> As a bonus this may enable clock gating on SDIO cards that are known to
>>> work with it.
>>>
>>> Signed-off-by: Michal Suchanek <hramrach@gmail.com>
>>> ---
>>> drivers/mmc/host/dw_mmc.c | 33 +++++++++++++++------------------
>>> 1 file changed, 15 insertions(+), 18 deletions(-)
>>>
>>> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
>>> index 40e9d8e..3bc9fd7 100644
>>> --- a/drivers/mmc/host/dw_mmc.c
>>> +++ b/drivers/mmc/host/dw_mmc.c
>>> @@ -1335,27 +1335,24 @@ static void dw_mci_init_card(struct mmc_host *mmc, struct mmc_card *card)
>>> * description of the CLKENA register we should disable low power mode
>>> * for SDIO cards if we need SDIO interrupts to work.
>>> */
>>> - if (mmc->caps & MMC_CAP_SDIO_IRQ) {
>>> - const u32 clken_low_pwr = SDMMC_CLKEN_LOW_PWR << slot->id;
>>> - u32 clk_en_a_old;
>>> - u32 clk_en_a;
>>> + const u32 clken_low_pwr = SDMMC_CLKEN_LOW_PWR << slot->id;
>>> + u32 clk_en_a_old;
>>> + u32 clk_en_a;
>>>
>>> - clk_en_a_old = mci_readl(host, CLKENA);
>>> + clk_en_a_old = mci_readl(host, CLKENA);
>>>
>>> - if (card->type == MMC_TYPE_SDIO ||
>>> - card->type == MMC_TYPE_SD_COMBO) {
>>> - set_bit(DW_MMC_CARD_NO_LOW_PWR, &slot->flags);
>>> - clk_en_a = clk_en_a_old & ~clken_low_pwr;
>>> - } else {
>>> - clear_bit(DW_MMC_CARD_NO_LOW_PWR, &slot->flags);
>>> - clk_en_a = clk_en_a_old | clken_low_pwr;
>>> - }
>>> + if (card->quirks & MMC_QUIRK_BROKEN_CLK_GATING) {
>>> + set_bit(DW_MMC_CARD_NO_LOW_PWR, &slot->flags);
>>> + clk_en_a = clk_en_a_old & ~clken_low_pwr;
>>> + } else {
>>> + clear_bit(DW_MMC_CARD_NO_LOW_PWR, &slot->flags);
>>> + clk_en_a = clk_en_a_old | clken_low_pwr;
>>> + }
>>>
>>> - if (clk_en_a != clk_en_a_old) {
>>> - mci_writel(host, CLKENA, clk_en_a);
>>> - mci_send_cmd(slot, SDMMC_CMD_UPD_CLK |
>>> - SDMMC_CMD_PRV_DAT_WAIT, 0);
>>> - }
>>> + if (clk_en_a != clk_en_a_old) {
>>> + mci_writel(host, CLKENA, clk_en_a);
>>> + mci_send_cmd(slot, SDMMC_CMD_UPD_CLK |
>>> + SDMMC_CMD_PRV_DAT_WAIT, 0);
>>> }
>>> }
>>>
>>>
>>
> --
> 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
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Alim Akhtar <alim.akhtar@gmail.com> |
|---|---|
| Date | 2015-08-17 16:50 +0200 |
| Message-ID | <pYtTA-1QB-11@gated-at.bofh.it> |
| In reply to | #1208538 |
HI
On Mon, Aug 17, 2015 at 4:56 PM, Jaehoon Chung <jh80.chung@samsung.com> wrote:
> On 08/17/2015 02:52 PM, Michal Suchanek wrote:
>> Hello,
>>
>> On 17 August 2015 at 03:55, Jaehoon Chung <jh80.chung@samsung.com> wrote:
>>> Hi, Michal.
>>>
>>> On 08/12/2015 09:23 PM, Michal Suchanek wrote:
>>>> The driver has open-coded test for SDIO cards. Use the mmc core provided
>>>> MMC_QUIRK_BROKEN_CLK_GATING flag instead.
>>>
>>> Did you use the clock-gating for SDIO cards?
>>> Doesn't MMC_CAP_SDIO_IRQ bit set? Which case is broken?
>>> Could you explain to me more?
>>
>> The core flag for disabling power saving is MMC_QUIRK_BROKEN_CLK_GATING.
>
> I understood your intention. And i read the comment into mmc/core/quirks.c
> I will test SDIO card with this patch. Thanks.
>
When you test, please check if SDIO IRQ still works, we need to put
dw_mmc in low_power mode otherwise SDIO IRQ will be not be generated
by dw_mmc host controller.
> Best Regards,
> Jaehoon Chung
>
>>
>> It may coincide with MMC_CAP_SDIO_IRQ but that's different flag for
>> different purpose.
>>
>> MMC_QUIRK_BROKEN_CLK_GATING is currently set for all SDIO cards except
>> for cards on a whitelist.
>>
>> I don't know any particular SDIO card that has problems when the clock
>> is off and does not use an IRQ.
>>
>> Thanks
>>
>> Michal
>>
>>>
>>> Best Regards,
>>> Jaehoon Chung
>>>
>>>>
>>>> As a bonus this may enable clock gating on SDIO cards that are known to
>>>> work with it.
>>>>
>>>> Signed-off-by: Michal Suchanek <hramrach@gmail.com>
>>>> ---
>>>> drivers/mmc/host/dw_mmc.c | 33 +++++++++++++++------------------
>>>> 1 file changed, 15 insertions(+), 18 deletions(-)
>>>>
>>>> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
>>>> index 40e9d8e..3bc9fd7 100644
>>>> --- a/drivers/mmc/host/dw_mmc.c
>>>> +++ b/drivers/mmc/host/dw_mmc.c
>>>> @@ -1335,27 +1335,24 @@ static void dw_mci_init_card(struct mmc_host *mmc, struct mmc_card *card)
>>>> * description of the CLKENA register we should disable low power mode
>>>> * for SDIO cards if we need SDIO interrupts to work.
>>>> */
>>>> - if (mmc->caps & MMC_CAP_SDIO_IRQ) {
>>>> - const u32 clken_low_pwr = SDMMC_CLKEN_LOW_PWR << slot->id;
>>>> - u32 clk_en_a_old;
>>>> - u32 clk_en_a;
>>>> + const u32 clken_low_pwr = SDMMC_CLKEN_LOW_PWR << slot->id;
>>>> + u32 clk_en_a_old;
>>>> + u32 clk_en_a;
>>>>
>>>> - clk_en_a_old = mci_readl(host, CLKENA);
>>>> + clk_en_a_old = mci_readl(host, CLKENA);
>>>>
>>>> - if (card->type == MMC_TYPE_SDIO ||
>>>> - card->type == MMC_TYPE_SD_COMBO) {
>>>> - set_bit(DW_MMC_CARD_NO_LOW_PWR, &slot->flags);
>>>> - clk_en_a = clk_en_a_old & ~clken_low_pwr;
>>>> - } else {
>>>> - clear_bit(DW_MMC_CARD_NO_LOW_PWR, &slot->flags);
>>>> - clk_en_a = clk_en_a_old | clken_low_pwr;
>>>> - }
>>>> + if (card->quirks & MMC_QUIRK_BROKEN_CLK_GATING) {
>>>> + set_bit(DW_MMC_CARD_NO_LOW_PWR, &slot->flags);
>>>> + clk_en_a = clk_en_a_old & ~clken_low_pwr;
>>>> + } else {
>>>> + clear_bit(DW_MMC_CARD_NO_LOW_PWR, &slot->flags);
>>>> + clk_en_a = clk_en_a_old | clken_low_pwr;
>>>> + }
>>>>
>>>> - if (clk_en_a != clk_en_a_old) {
>>>> - mci_writel(host, CLKENA, clk_en_a);
>>>> - mci_send_cmd(slot, SDMMC_CMD_UPD_CLK |
>>>> - SDMMC_CMD_PRV_DAT_WAIT, 0);
>>>> - }
>>>> + if (clk_en_a != clk_en_a_old) {
>>>> + mci_writel(host, CLKENA, clk_en_a);
>>>> + mci_send_cmd(slot, SDMMC_CMD_UPD_CLK |
>>>> + SDMMC_CMD_PRV_DAT_WAIT, 0);
>>>> }
>>>> }
>>>>
>>>>
>>>
>> --
>> 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
>>
>
> --
> 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
--
Regards,
Alim
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Michal Suchanek <hramrach@gmail.com> |
|---|---|
| Date | 2015-08-17 17:00 +0200 |
| Message-ID | <pYu3f-220-11@gated-at.bofh.it> |
| In reply to | #1208630 |
Hello, On 17 August 2015 at 16:42, Alim Akhtar <alim.akhtar@gmail.com> wrote: > HI > > On Mon, Aug 17, 2015 at 4:56 PM, Jaehoon Chung <jh80.chung@samsung.com> wrote: >> On 08/17/2015 02:52 PM, Michal Suchanek wrote: >>> Hello, >>> >>> On 17 August 2015 at 03:55, Jaehoon Chung <jh80.chung@samsung.com> wrote: >>>> Hi, Michal. >>>> >>>> On 08/12/2015 09:23 PM, Michal Suchanek wrote: >>>>> The driver has open-coded test for SDIO cards. Use the mmc core provided >>>>> MMC_QUIRK_BROKEN_CLK_GATING flag instead. >>>> >>>> Did you use the clock-gating for SDIO cards? >>>> Doesn't MMC_CAP_SDIO_IRQ bit set? Which case is broken? >>>> Could you explain to me more? >>> >>> The core flag for disabling power saving is MMC_QUIRK_BROKEN_CLK_GATING. >> >> I understood your intention. And i read the comment into mmc/core/quirks.c >> I will test SDIO card with this patch. Thanks. >> > When you test, please check if SDIO IRQ still works, we need to put > dw_mmc in low_power mode otherwise SDIO IRQ will be not be generated > by dw_mmc host controller. > As far as I understand the logic which is removed in this patch and the core logic which replaces it is the same - low power by means of clock gating is *not* enabled for SDIO cards in either case. The original code also checks for SDIO IRQ and disables clock gating regardless of card type which is probably redundant. If not it should be fixed in mmc core. My recent kernel builds which I run on a system with mwifiex card probably include this patch. Thanks Michal -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Alim Akhtar <alim.akhtar@gmail.com> |
|---|---|
| Date | 2015-08-17 18:30 +0200 |
| Message-ID | <pYvsm-4bw-3@gated-at.bofh.it> |
| In reply to | #1208633 |
Hi Michal, On Mon, Aug 17, 2015 at 8:25 PM, Michal Suchanek <hramrach@gmail.com> wrote: > Hello, > > On 17 August 2015 at 16:42, Alim Akhtar <alim.akhtar@gmail.com> wrote: >> HI >> >> On Mon, Aug 17, 2015 at 4:56 PM, Jaehoon Chung <jh80.chung@samsung.com> wrote: >>> On 08/17/2015 02:52 PM, Michal Suchanek wrote: >>>> Hello, >>>> >>>> On 17 August 2015 at 03:55, Jaehoon Chung <jh80.chung@samsung.com> wrote: >>>>> Hi, Michal. >>>>> >>>>> On 08/12/2015 09:23 PM, Michal Suchanek wrote: >>>>>> The driver has open-coded test for SDIO cards. Use the mmc core provided >>>>>> MMC_QUIRK_BROKEN_CLK_GATING flag instead. >>>>> >>>>> Did you use the clock-gating for SDIO cards? >>>>> Doesn't MMC_CAP_SDIO_IRQ bit set? Which case is broken? >>>>> Could you explain to me more? >>>> >>>> The core flag for disabling power saving is MMC_QUIRK_BROKEN_CLK_GATING. >>> >>> I understood your intention. And i read the comment into mmc/core/quirks.c >>> I will test SDIO card with this patch. Thanks. >>> >> When you test, please check if SDIO IRQ still works, we need to put >> dw_mmc in low_power mode otherwise SDIO IRQ will be not be generated >> by dw_mmc host controller. >> > > As far as I understand the logic which is removed in this patch and > the core logic which replaces it is the same - low power by means of > clock gating is *not* enabled for SDIO cards in either case. > > The original code also checks for SDIO IRQ and disables clock gating > regardless of card type which is probably redundant. If not it should > be fixed in mmc core. > > My recent kernel builds which I run on a system with mwifiex card > probably include this patch. > I have no objection to this patch as such, it just that some extra testing on few other boards will be good, which I am sure Jeahoon will take care. Thanks!! > Thanks > > Michal -- Regards, Alim -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web