lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 2 May 2011 21:53:31 +0200
From:	Per Forlin <per.lkml@...il.com>
To:	Chuanxiao Dong <chuanxiao.dong@...el.com>
Cc:	linux-mmc@...r.kernel.org, linux-kernel@...r.kernel.org,
	cjb@...top.org, akpm@...ux-foundation.org, arjan@...ux.intel.com,
	alan@...ux.intel.com, kmpark@...radead.org
Subject: Re: [PATCH v2 1/4]enable background operations for supported eMMC card

On Fri, Dec 3, 2010 at 1:13 PM, Chuanxiao Dong <chuanxiao.dong@...el.com> wrote:
> From 984adc755cf2f7966a89e510a50f085e314fe347 Mon Sep 17 00:00:00 2001
> From: Chuanxiao Dong <chuanxiao.dong@...el.com>
> Date: Mon, 22 Nov 2010 16:31:12 +0800
> Subject: [PATCH 1/4] mmc: Enabled background operations feature if eMMC card supports
>
> Background operations is a new feature defined in eMMC4.41 standard.
> Since this feature is opertional for eMMC card, so driver only enable
> for those eMMC card which supports this feature
>
> Signed-off-by: Chuanxiao Dong <chuanxiao.dong@...el.com>
> ---
>  drivers/mmc/core/mmc.c   |   26 ++++++++++++++++++++++++++
>  include/linux/mmc/card.h |    2 ++
>  include/linux/mmc/mmc.h  |    3 +++
>  3 files changed, 31 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
> index 77f93c3..471ed82 100644
> --- a/drivers/mmc/core/mmc.c
> +++ b/drivers/mmc/core/mmc.c
> @@ -310,6 +310,14 @@ static int mmc_read_ext_csd(struct mmc_card *card)
>                        ext_csd[EXT_CSD_SEC_FEATURE_SUPPORT];
>                card->ext_csd.trim_timeout = 300 *
>                        ext_csd[EXT_CSD_TRIM_MULT];
> +
> +               /* detect whether the eMMC card support BKOPS */
> +               if (ext_csd[EXT_CSD_BKOPS_SUPPORT] & 0x1) {
> +                       card->ext_csd.bkops = 1;
> +                       card->ext_csd.bkops_en =
> +                               ext_csd[EXT_CSD_BKOPS_EN];
> +               }
> +
>        }
>
>        if (ext_csd[EXT_CSD_ERASED_MEM_CONT])
> @@ -484,6 +492,24 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
>        }
>
>        /*
> +        * enable BKOPS if eMMC card supports.
> +        */
> +       if (card->ext_csd.bkops) {
> +               if (!card->ext_csd.bkops_en) {
> +                       err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
> +                                       EXT_CSD_BKOPS_EN, 1);
Is it always wise to set BKOPS_EN to 1 if bkops is supported?
BKOPS_EN=1 will enable periodic background operations. The card will
somehow decide periodically when to start background operations. If
BKOPS_EN=0 the background operations need to be started manually. The
mmc framework could make the decision when to start background
operations.
Using dynamic clock control or suspend/resume may cause the periodic
internal operations to be delayed since it can't run without clocking
or power.
Do you have any test results comparing periodic and manual bkops?
On way forward is to add support for both periodic bkops and manual
bkops and let the device platform_data specify what to use?

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ